@ms-cloudpack/overlay 0.19.6 → 0.19.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser-esm/240.chunk.js +1 -1
- package/dist/browser-esm/240.chunk.js.map +1 -1
- package/dist/browser-esm/598.chunk.js +1 -1
- package/dist/browser-esm/598.chunk.js.map +1 -1
- package/dist/browser-esm/621.chunk.js +2 -0
- package/dist/browser-esm/{173.chunk.js.map → 621.chunk.js.map} +1 -1
- package/dist/browser-esm/639.chunk.js +2 -0
- package/dist/browser-esm/639.chunk.js.map +1 -0
- package/dist/browser-esm/lib/index.js +1 -1
- package/dist/browser-esm/lib/index.js.map +1 -1
- package/dist/browser-esm/runtime.js +1 -1
- package/dist/browser-esm/runtime.js.map +1 -1
- package/lib/components/CloudpackProvider/useTaskList.d.ts +3 -0
- package/lib/components/CloudpackProvider/useTaskList.d.ts.map +1 -0
- package/lib/components/CloudpackProvider/{useStatusDetails.js → useTaskList.js} +5 -5
- package/lib/components/CloudpackProvider/useTaskList.js.map +1 -0
- package/lib/components/CloudpackProvider/useTaskStats.d.ts +3 -0
- package/lib/components/CloudpackProvider/useTaskStats.d.ts.map +1 -0
- package/lib/components/CloudpackProvider/{useStatus.js → useTaskStats.js} +11 -12
- package/lib/components/CloudpackProvider/useTaskStats.js.map +1 -0
- package/lib/components/Overlay/Overlay.d.ts.map +1 -1
- package/lib/components/Overlay/Overlay.js +8 -8
- package/lib/components/Overlay/Overlay.js.map +1 -1
- package/lib/components/StatusBadge/StatusBadge.d.ts.map +1 -1
- package/lib/components/StatusBadge/StatusBadge.js +7 -7
- package/lib/components/StatusBadge/StatusBadge.js.map +1 -1
- package/lib/components/StatusDialog/TaskList.d.ts.map +1 -1
- package/lib/components/StatusDialog/TaskList.js +3 -4
- package/lib/components/StatusDialog/TaskList.js.map +1 -1
- package/package.json +2 -2
- package/dist/browser-esm/132.chunk.js +0 -2
- package/dist/browser-esm/132.chunk.js.map +0 -1
- package/dist/browser-esm/173.chunk.js +0 -2
- package/lib/components/CloudpackProvider/useStatus.d.ts +0 -4
- package/lib/components/CloudpackProvider/useStatus.d.ts.map +0 -1
- package/lib/components/CloudpackProvider/useStatus.js.map +0 -1
- package/lib/components/CloudpackProvider/useStatusDetails.d.ts +0 -3
- package/lib/components/CloudpackProvider/useStatusDetails.d.ts.map +0 -1
- package/lib/components/CloudpackProvider/useStatusDetails.js.map +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var e,r,t,o,n={},f={};function i(e){var r=f[e];if(void 0!==r)return r.exports;var t=f[e]={id:e,exports:{}};return n[e](t,t.exports,i),t.exports}i.m=n,i.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return i.d(r,{a:r}),r},r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,i.t=function(t,o){if(1&o&&(t=this(t)),8&o)return t;if("object"==typeof t&&t){if(4&o&&t.__esModule)return t;if(16&o&&"function"==typeof t.then)return t}var n=Object.create(null);i.r(n);var f={};e=e||[null,r({}),r([]),r(r)];for(var u=2&o&&t;"object"==typeof u&&!~e.indexOf(u);u=r(u))Object.getOwnPropertyNames(u).forEach(
|
|
1
|
+
var e,r,t,o,n={},f={};function i(e){var r=f[e];if(void 0!==r)return r.exports;var t=f[e]={id:e,exports:{}};return n[e](t,t.exports,i),t.exports}i.m=n,i.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return i.d(r,{a:r}),r},r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,i.t=function(t,o){if(1&o&&(t=this(t)),8&o)return t;if("object"==typeof t&&t){if(4&o&&t.__esModule)return t;if(16&o&&"function"==typeof t.then)return t}var n=Object.create(null);i.r(n);var f={};e=e||[null,r({}),r([]),r(r)];for(var u=2&o&&t;"object"==typeof u&&!~e.indexOf(u);u=r(u))Object.getOwnPropertyNames(u).forEach(e=>f[e]=()=>t[e]);return f.default=()=>t,i.d(n,f),n},i.d=(e,r)=>{for(var t in r)i.o(r,t)&&!i.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce((r,t)=>(i.f[t](e,r),r),[])),i.u=e=>e+".chunk.js",i.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};export default i;t={121:0},o=e=>{var r,o,{__webpack_ids__:n,__webpack_modules__:f,__webpack_runtime__:u}=e,a=0;for(r in f)i.o(f,r)&&(i.m[r]=f[r]);for(u&&u(i);a<n.length;a++)o=n[a],i.o(t,o)&&t[o]&&t[o][0](),t[n[a]]=0},i.f.j=(e,r)=>{var n=i.o(t,e)?t[e]:void 0;if(0!==n)if(n)r.push(n[1]);else if(121!=e){var f=import("./"+i.u(e)).then(o,r=>{throw 0!==t[e]&&(t[e]=void 0),r});f=Promise.race([f,new Promise(r=>n=t[e]=[r])]),r.push(n[1]=f)}else t[e]=0},i.C=o,i.nc=void 0;
|
|
2
2
|
//# sourceMappingURL=runtime.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","mappings":"IACIA,EADAC,ECKAC,EAIAC,E,KCRAC,EAA2B,CAAC,EAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBE,IAAjBD,EACH,OAAOA,EAAaE,QAGrB,IAAIC,EAASN,EAAyBE,GAAY,CACjDK,GAAIL,EAEJG,QAAS,CAAC,GAOX,OAHAG,EAAoBN,GAAUI,EAAQA,EAAOD,QAASJ,GAG/CK,EAAOD,OACf,CAGAJ,EAAoBQ,EAAID,ECxBxBP,EAAoBS,EAAKJ,IACxB,IAAIK,EAASL,GAAUA,EAAOM,WAC7B,IAAON,EAAiB,QACxB,IAAM,EAEP,OADAL,EAAoBY,EAAEF,EAAQ,CAAEG,EAAGH,IAC5BA,
|
|
1
|
+
{"version":3,"file":"runtime.js","mappings":"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","sources":["webpack://@ms-cloudpack/overlay/webpack/runtime/create fake namespace object","webpack://@ms-cloudpack/overlay/webpack/runtime/import chunk loading","webpack://@ms-cloudpack/overlay/webpack/bootstrap","webpack://@ms-cloudpack/overlay/webpack/runtime/compat get default export","webpack://@ms-cloudpack/overlay/webpack/runtime/define property getters","webpack://@ms-cloudpack/overlay/webpack/runtime/ensure chunk","webpack://@ms-cloudpack/overlay/webpack/runtime/get javascript chunk filename","webpack://@ms-cloudpack/overlay/webpack/runtime/hasOwnProperty shorthand","webpack://@ms-cloudpack/overlay/webpack/runtime/make namespace object","webpack://@ms-cloudpack/overlay/webpack/runtime/export webpack runtime","webpack://@ms-cloudpack/overlay/webpack/runtime/nonce"],"sourcesContent":["var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key])));\n\t}\n\tdef['default'] = () => (value);\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t121: 0\n};\n\nvar installChunk = (data) => {\n\tvar {__webpack_ids__, __webpack_modules__, __webpack_runtime__} = data;\n\t// add \"modules\" to the modules object,\n\t// then flag all \"ids\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tfor(moduleId in __webpack_modules__) {\n\t\tif(__webpack_require__.o(__webpack_modules__, moduleId)) {\n\t\t\t__webpack_require__.m[moduleId] = __webpack_modules__[moduleId];\n\t\t}\n\t}\n\tif(__webpack_runtime__) __webpack_runtime__(__webpack_require__);\n\tfor(;i < __webpack_ids__.length; i++) {\n\t\tchunkId = __webpack_ids__[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[__webpack_ids__[i]] = 0;\n\t}\n\n}\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// import() chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[1]);\n\t\t\t} else {\n\t\t\t\tif(121 != chunkId) {\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = import(\"./\" + __webpack_require__.u(chunkId)).then(installChunk, (e) => {\n\t\t\t\t\t\tif(installedChunks[chunkId] !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\tthrow e;\n\t\t\t\t\t});\n\t\t\t\t\tvar promise = Promise.race([promise, new Promise((resolve) => (installedChunkData = installedChunks[chunkId] = [resolve]))])\n\t\t\t\t\tpromises.push(installedChunkData[1] = promise);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n__webpack_require__.C = installChunk;\n\n// no on chunks loaded","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \".chunk.js\";\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","export default __webpack_require__;","__webpack_require__.nc = undefined;"],"names":["leafPrototypes","getProto","installedChunks","installChunk","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","id","__webpack_modules__","m","n","getter","__esModule","d","a","Object","getPrototypeOf","obj","t","value","mode","this","then","ns","create","r","def","current","indexOf","getOwnPropertyNames","forEach","key","definition","o","defineProperty","enumerable","get","f","e","chunkId","Promise","all","keys","reduce","promises","u","prop","prototype","hasOwnProperty","call","Symbol","toStringTag","data","__webpack_ids__","__webpack_runtime__","i","length","j","installedChunkData","push","promise","import","race","resolve","C","nc"],"sourceRoot":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTaskList.d.ts","sourceRoot":"","sources":["../../../src/components/CloudpackProvider/useTaskList.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAEjF,eAAO,MAAM,WAAW,QAAO,QAiB9B,CAAC"}
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import { useEffect, useState } from 'preact/hooks';
|
|
2
2
|
import { useCloudpack } from './CloudpackProvider.js';
|
|
3
3
|
import { taskListSource } from '@ms-cloudpack/api-server/browser';
|
|
4
|
-
export const
|
|
4
|
+
export const useTaskList = () => {
|
|
5
5
|
const cloudpack = useCloudpack();
|
|
6
|
-
const [
|
|
6
|
+
const [taskList, setTaskList] = useState({ tasks: [] });
|
|
7
7
|
useEffect(() => {
|
|
8
8
|
const subscription = cloudpack?.onDataChanged.subscribe(taskListSource, {
|
|
9
9
|
onData: (data) => {
|
|
10
|
-
|
|
10
|
+
setTaskList(data);
|
|
11
11
|
},
|
|
12
12
|
});
|
|
13
13
|
return () => {
|
|
14
14
|
subscription.unsubscribe();
|
|
15
15
|
};
|
|
16
16
|
}, [cloudpack]);
|
|
17
|
-
return
|
|
17
|
+
return taskList;
|
|
18
18
|
};
|
|
19
|
-
//# sourceMappingURL=
|
|
19
|
+
//# sourceMappingURL=useTaskList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTaskList.js","sourceRoot":"","sources":["../../../src/components/CloudpackProvider/useTaskList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAiB,MAAM,kCAAkC,CAAC;AAEjF,MAAM,CAAC,MAAM,WAAW,GAAG,GAAa,EAAE;IACxC,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IACjC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAW,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;IAElE,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,YAAY,GAAG,SAAS,EAAE,aAAa,CAAC,SAAS,CAAC,cAAc,EAAE;YACtE,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBACf,WAAW,CAAC,IAAgB,CAAC,CAAC;YAChC,CAAC;SACF,CAAC,CAAC;QAEH,OAAO,GAAG,EAAE;YACV,YAAY,CAAC,WAAW,EAAE,CAAC;QAC7B,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC","sourcesContent":["import { useEffect, useState } from 'preact/hooks';\nimport { useCloudpack } from './CloudpackProvider.js';\nimport { taskListSource, type TaskList } from '@ms-cloudpack/api-server/browser';\n\nexport const useTaskList = (): TaskList => {\n const cloudpack = useCloudpack();\n const [taskList, setTaskList] = useState<TaskList>({ tasks: [] });\n\n useEffect(() => {\n const subscription = cloudpack?.onDataChanged.subscribe(taskListSource, {\n onData: (data) => {\n setTaskList(data as TaskList);\n },\n });\n\n return () => {\n subscription.unsubscribe();\n };\n }, [cloudpack]);\n\n return taskList;\n};\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTaskStats.d.ts","sourceRoot":"","sources":["../../../src/components/CloudpackProvider/useTaskStats.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAEnF,eAAO,MAAM,YAAY,QAAO,SAuB/B,CAAC"}
|
|
@@ -1,26 +1,25 @@
|
|
|
1
1
|
import { useEffect, useState } from 'preact/hooks';
|
|
2
2
|
import { useCloudpack } from './CloudpackProvider.js';
|
|
3
3
|
import { taskStatsSource } from '@ms-cloudpack/api-server/browser';
|
|
4
|
-
const
|
|
5
|
-
status: 'unknown',
|
|
6
|
-
remainingTasks: 0,
|
|
7
|
-
totalTasks: 0,
|
|
8
|
-
totalErrors: 0,
|
|
9
|
-
totalWarnings: 0,
|
|
10
|
-
};
|
|
11
|
-
export const useStatus = () => {
|
|
4
|
+
export const useTaskStats = () => {
|
|
12
5
|
const cloudpack = useCloudpack();
|
|
13
|
-
const [
|
|
6
|
+
const [stats, setStats] = useState({
|
|
7
|
+
status: 'unknown',
|
|
8
|
+
remainingTasks: 0,
|
|
9
|
+
totalTasks: 0,
|
|
10
|
+
totalErrors: 0,
|
|
11
|
+
totalWarnings: 0,
|
|
12
|
+
});
|
|
14
13
|
useEffect(() => {
|
|
15
14
|
const subscription = cloudpack?.onDataChanged.subscribe(taskStatsSource, {
|
|
16
15
|
onData: (data) => {
|
|
17
|
-
|
|
16
|
+
setStats(data);
|
|
18
17
|
},
|
|
19
18
|
});
|
|
20
19
|
return () => {
|
|
21
20
|
subscription.unsubscribe();
|
|
22
21
|
};
|
|
23
22
|
}, [cloudpack]);
|
|
24
|
-
return
|
|
23
|
+
return stats;
|
|
25
24
|
};
|
|
26
|
-
//# sourceMappingURL=
|
|
25
|
+
//# sourceMappingURL=useTaskStats.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTaskStats.js","sourceRoot":"","sources":["../../../src/components/CloudpackProvider/useTaskStats.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAkB,MAAM,kCAAkC,CAAC;AAEnF,MAAM,CAAC,MAAM,YAAY,GAAG,GAAc,EAAE;IAC1C,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IACjC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAY;QAC5C,MAAM,EAAE,SAAS;QACjB,cAAc,EAAE,CAAC;QACjB,UAAU,EAAE,CAAC;QACb,WAAW,EAAE,CAAC;QACd,aAAa,EAAE,CAAC;KACjB,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,YAAY,GAAG,SAAS,EAAE,aAAa,CAAC,SAAS,CAAC,eAAe,EAAE;YACvE,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBACf,QAAQ,CAAC,IAAiB,CAAC,CAAC;YAC9B,CAAC;SACF,CAAC,CAAC;QAEH,OAAO,GAAG,EAAE;YACV,YAAY,CAAC,WAAW,EAAE,CAAC;QAC7B,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,OAAO,KAAK,CAAC;AACf,CAAC,CAAC","sourcesContent":["import { useEffect, useState } from 'preact/hooks';\nimport { useCloudpack } from './CloudpackProvider.js';\nimport { taskStatsSource, type TaskStats } from '@ms-cloudpack/api-server/browser';\n\nexport const useTaskStats = (): TaskStats => {\n const cloudpack = useCloudpack();\n const [stats, setStats] = useState<TaskStats>({\n status: 'unknown',\n remainingTasks: 0,\n totalTasks: 0,\n totalErrors: 0,\n totalWarnings: 0,\n });\n\n useEffect(() => {\n const subscription = cloudpack?.onDataChanged.subscribe(taskStatsSource, {\n onData: (data) => {\n setStats(data as TaskStats);\n },\n });\n\n return () => {\n subscription.unsubscribe();\n };\n }, [cloudpack]);\n\n return stats;\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Overlay.d.ts","sourceRoot":"","sources":["../../../src/components/Overlay/Overlay.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"Overlay.d.ts","sourceRoot":"","sources":["../../../src/components/Overlay/Overlay.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAYhD,eAAO,MAAM,OAAO,EAAE,iBAmCrB,CAAC"}
|
|
@@ -2,7 +2,7 @@ import { jsx as _jsx } from "preact/jsx-runtime";
|
|
|
2
2
|
import { lazy, Suspense } from 'preact/compat';
|
|
3
3
|
import { useCallback, useState, useRef, useEffect } from 'preact/hooks';
|
|
4
4
|
import { StatusBadge } from '../StatusBadge/StatusBadge.js';
|
|
5
|
-
import {
|
|
5
|
+
import { useTaskStats } from '../CloudpackProvider/useTaskStats.js';
|
|
6
6
|
import { useErrorEvents } from '../ErrorDialog/useErrorEvents.js';
|
|
7
7
|
import { usePageLoadTimeReporter } from '../../hooks/usePageLoadTimeReporter.js';
|
|
8
8
|
const StatusDialog = lazy(() => import('../StatusDialog/StatusDialog.js'));
|
|
@@ -10,20 +10,20 @@ const ErrorDialog = lazy(() => import('../ErrorDialog/ErrorDialog.js'));
|
|
|
10
10
|
export const Overlay = () => {
|
|
11
11
|
const pageLoadTimeReport = usePageLoadTimeReporter();
|
|
12
12
|
const [isExpanded, setIsExpanded] = useState(false);
|
|
13
|
-
const
|
|
14
|
-
const
|
|
13
|
+
const stats = useTaskStats();
|
|
14
|
+
const prevStats = useRef();
|
|
15
15
|
const { unsupported } = useErrorEvents();
|
|
16
16
|
// If we haven't set a specific state and we become idle,
|
|
17
17
|
// pop open the details if there are errors.
|
|
18
18
|
useEffect(() => {
|
|
19
19
|
if (!isExpanded &&
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
(
|
|
20
|
+
prevStats.current?.status !== 'idle' &&
|
|
21
|
+
stats.status === 'idle' &&
|
|
22
|
+
(prevStats.current?.totalErrors || 0) !== (stats.totalErrors || 0)) {
|
|
23
23
|
setIsExpanded(true);
|
|
24
24
|
}
|
|
25
|
-
|
|
26
|
-
}, [
|
|
25
|
+
prevStats.current = stats;
|
|
26
|
+
}, [stats, isExpanded]);
|
|
27
27
|
const toggleMinimized = useCallback(() => {
|
|
28
28
|
console.log(`Toggling minimized state to ${!isExpanded}`);
|
|
29
29
|
setIsExpanded(!isExpanded);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Overlay.js","sourceRoot":"","sources":["../../../src/components/Overlay/Overlay.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Overlay.js","sourceRoot":"","sources":["../../../src/components/Overlay/Overlay.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AAGjF,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,iCAAiC,CAAC,CAAC,CAAC;AAC3E,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,+BAA+B,CAAC,CAAC,CAAC;AAExE,MAAM,CAAC,MAAM,OAAO,GAAsB,GAAG,EAAE;IAC7C,MAAM,kBAAkB,GAAG,uBAAuB,EAAE,CAAC;IACrD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IAC7D,MAAM,KAAK,GAAG,YAAY,EAAE,CAAC;IAC7B,MAAM,SAAS,GAAG,MAAM,EAAyB,CAAC;IAClD,MAAM,EAAE,WAAW,EAAE,GAAG,cAAc,EAAE,CAAC;IAEzC,yDAAyD;IACzD,4CAA4C;IAC5C,SAAS,CAAC,GAAG,EAAE;QACb,IACE,CAAC,UAAU;YACX,SAAS,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM;YACpC,KAAK,CAAC,MAAM,KAAK,MAAM;YACvB,CAAC,SAAS,CAAC,OAAO,EAAE,WAAW,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,CAAC,EAClE,CAAC;YACD,aAAa,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;QACD,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC;IAC5B,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;IAExB,MAAM,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE;QACvC,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,UAAU,EAAE,CAAC,CAAC;QAC1D,aAAa,CAAC,CAAC,UAAU,CAAC,CAAC;IAC7B,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAClC,KAAC,WAAW,IAAC,WAAW,EAAE,WAAW,GAAI,CAC1C,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CACf,KAAC,YAAY,IAAC,OAAO,EAAE,eAAe,GAAI,CAC3C,CAAC,CAAC,CAAC,CACF,KAAC,WAAW,IAAC,QAAQ,EAAE,eAAe,EAAE,kBAAkB,EAAE,kBAAkB,GAAI,CACnF,CAAC;IAEF,OAAO,KAAC,QAAQ,IAAC,QAAQ,EAAE,IAAI,YAAG,MAAM,GAAY,CAAC;AACvD,CAAC,CAAC","sourcesContent":["import type { FunctionComponent } from 'preact';\nimport { lazy, Suspense } from 'preact/compat';\nimport { useCallback, useState, useRef, useEffect } from 'preact/hooks';\nimport { StatusBadge } from '../StatusBadge/StatusBadge.js';\nimport { useTaskStats } from '../CloudpackProvider/useTaskStats.js';\nimport { useErrorEvents } from '../ErrorDialog/useErrorEvents.js';\nimport { usePageLoadTimeReporter } from '../../hooks/usePageLoadTimeReporter.js';\nimport type { TaskStats } from '@ms-cloudpack/api-server/browser';\n\nconst StatusDialog = lazy(() => import('../StatusDialog/StatusDialog.js'));\nconst ErrorDialog = lazy(() => import('../ErrorDialog/ErrorDialog.js'));\n\nexport const Overlay: FunctionComponent = () => {\n const pageLoadTimeReport = usePageLoadTimeReporter();\n const [isExpanded, setIsExpanded] = useState<boolean>(false);\n const stats = useTaskStats();\n const prevStats = useRef<TaskStats | undefined>();\n const { unsupported } = useErrorEvents();\n\n // If we haven't set a specific state and we become idle,\n // pop open the details if there are errors.\n useEffect(() => {\n if (\n !isExpanded &&\n prevStats.current?.status !== 'idle' &&\n stats.status === 'idle' &&\n (prevStats.current?.totalErrors || 0) !== (stats.totalErrors || 0)\n ) {\n setIsExpanded(true);\n }\n prevStats.current = stats;\n }, [stats, isExpanded]);\n\n const toggleMinimized = useCallback(() => {\n console.log(`Toggling minimized state to ${!isExpanded}`);\n setIsExpanded(!isExpanded);\n }, [isExpanded]);\n\n const result = unsupported.length ? (\n <ErrorDialog unsupported={unsupported} />\n ) : isExpanded ? (\n <StatusDialog onClose={toggleMinimized} />\n ) : (\n <StatusBadge onExpand={toggleMinimized} pageLoadTimeReport={pageLoadTimeReport} />\n );\n\n return <Suspense fallback={null}>{result}</Suspense>;\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StatusBadge.d.ts","sourceRoot":"","sources":["../../../src/components/StatusBadge/StatusBadge.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"StatusBadge.d.ts","sourceRoot":"","sources":["../../../src/components/StatusBadge/StatusBadge.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAQhD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAGjF,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,kBAAkB,EAAE,kBAAkB,CAAC;CACxC;AAQD,eAAO,MAAM,WAAW,EAAE,iBAAiB,CAAC,gBAAgB,CAgE3D,CAAC"}
|
|
@@ -3,9 +3,9 @@ import { useCallback, useRef, useState } from 'preact/hooks';
|
|
|
3
3
|
import { useDraggable } from '../../hooks/useDraggable.js';
|
|
4
4
|
import styles from './StatusBadge.module.css';
|
|
5
5
|
import cx from 'classnames';
|
|
6
|
-
import { useStatus } from '../CloudpackProvider/useStatus.js';
|
|
7
|
-
import { elementIds } from '../../constants.js';
|
|
8
6
|
import { Button } from '../Button/Button.js';
|
|
7
|
+
import { useTaskStats } from '../CloudpackProvider/useTaskStats.js';
|
|
8
|
+
import { elementIds } from '../../constants.js';
|
|
9
9
|
const badgeStatusKey = 'cloudpack.badgeStatus';
|
|
10
10
|
const leftChevron = '\u00AB';
|
|
11
11
|
const rightChevron = '\u00BB';
|
|
@@ -14,9 +14,9 @@ const buttonHelp = 'Show bundle result details';
|
|
|
14
14
|
export const StatusBadge = ({ onExpand, pageLoadTimeReport }) => {
|
|
15
15
|
const rootElementRef = useRef(null);
|
|
16
16
|
const dragElementRef = useRef(null);
|
|
17
|
-
const
|
|
17
|
+
const stats = useTaskStats();
|
|
18
18
|
const [isCollapsed, setIsCollapsed] = useState(!!localStorage.getItem(badgeStatusKey));
|
|
19
|
-
const shouldRender =
|
|
19
|
+
const shouldRender = stats.status !== 'unknown';
|
|
20
20
|
const toggleBadgeVisibility = useCallback(() => {
|
|
21
21
|
const newCollapsedState = !isCollapsed;
|
|
22
22
|
setIsCollapsed(newCollapsedState);
|
|
@@ -32,7 +32,7 @@ export const StatusBadge = ({ onExpand, pageLoadTimeReport }) => {
|
|
|
32
32
|
if (!shouldRender) {
|
|
33
33
|
return null;
|
|
34
34
|
}
|
|
35
|
-
const { buttonStatusText, statusClass, statsText } =
|
|
35
|
+
const { buttonStatusText, statusClass, statsText } = processStats(stats, pageLoadTimeReport);
|
|
36
36
|
// WARNING: If you change this text, also update the `name` used to find the button in
|
|
37
37
|
// apps/test-start-e2e/src/utilities/verifyOverlay.ts
|
|
38
38
|
const buttonText = 'Cloudpack: ' + buttonStatusText;
|
|
@@ -44,8 +44,8 @@ export const StatusBadge = ({ onExpand, pageLoadTimeReport }) => {
|
|
|
44
44
|
/**
|
|
45
45
|
* Based on the status, get the badge color, button text, and stats text.
|
|
46
46
|
*/
|
|
47
|
-
function
|
|
48
|
-
const { status, totalTasks, remainingTasks, totalErrors, totalWarnings } =
|
|
47
|
+
function processStats(stats, pltReport) {
|
|
48
|
+
const { status, totalTasks, remainingTasks, totalErrors, totalWarnings } = stats;
|
|
49
49
|
let statusClass;
|
|
50
50
|
let buttonStatusText;
|
|
51
51
|
let statsText = '';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StatusBadge.js","sourceRoot":"","sources":["../../../src/components/StatusBadge/StatusBadge.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,MAAM,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"StatusBadge.js","sourceRoot":"","sources":["../../../src/components/StatusBadge/StatusBadge.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { FunctionComponent } from 'preact';\nimport { useCallback, useRef, useState } from 'preact/hooks';\nimport { useDraggable } from '../../hooks/useDraggable.js';\nimport styles from './StatusBadge.module.css';\nimport cx from 'classnames';\nimport { Button } from '../Button/Button.js';\nimport { useTaskStats } from '../CloudpackProvider/useTaskStats.js';\nimport { elementIds } from '../../constants.js';\nimport type { PageLoadTimeReport } from '../../hooks/usePageLoadTimeReporter.js';\nimport type { TaskStats } from '@ms-cloudpack/api-server/browser';\n\nexport interface StatusBadgeProps {\n onExpand: () => void;\n pageLoadTimeReport: PageLoadTimeReport;\n}\n\nconst badgeStatusKey = 'cloudpack.badgeStatus';\nconst leftChevron = '\\u00AB';\nconst rightChevron = '\\u00BB';\nconst buttonHint = '(see details)';\nconst buttonHelp = 'Show bundle result details';\n\nexport const StatusBadge: FunctionComponent<StatusBadgeProps> = ({ onExpand, pageLoadTimeReport }) => {\n const rootElementRef = useRef<HTMLDivElement>(null);\n const dragElementRef = useRef<HTMLDivElement>(null);\n const stats = useTaskStats();\n const [isCollapsed, setIsCollapsed] = useState<boolean>(!!localStorage.getItem(badgeStatusKey));\n\n const shouldRender = stats.status !== 'unknown';\n\n const toggleBadgeVisibility = useCallback(() => {\n const newCollapsedState = !isCollapsed;\n setIsCollapsed(newCollapsedState);\n localStorage.setItem(badgeStatusKey, newCollapsedState ? 'collapsed' : '');\n }, [isCollapsed]);\n\n useDraggable({\n // If we're not yet able to render, don't enable dragging yet.\n // Otherwise the event handlers won't be attached when the component renders.\n enabled: shouldRender,\n containerElementRef: rootElementRef,\n dragElementRef,\n });\n\n if (!shouldRender) {\n return null;\n }\n\n const { buttonStatusText, statusClass, statsText } = processStats(stats, pageLoadTimeReport);\n // WARNING: If you change this text, also update the `name` used to find the button in\n // apps/test-start-e2e/src/utilities/verifyOverlay.ts\n const buttonText = 'Cloudpack: ' + buttonStatusText;\n const buttonAriaLabel = `${buttonText.replace(buttonHint, '')}. ${buttonHelp}`;\n const collapseButtonText = isCollapsed ? 'Expand Cloudpack badge' : 'Collapse';\n\n const badge = (\n <div\n id={elementIds.statusBadgeRoot}\n ref={rootElementRef}\n class={cx(styles.badge, isCollapsed && styles.collapsed, statusClass)}\n >\n <div ref={dragElementRef} class={styles.gripArea} aria-hidden>\n <div class={styles.grip} />\n <div class={styles.grip} />\n </div>\n <Button variant=\"custom\" class={styles.button} onClick={onExpand} title={buttonHelp} aria-label={buttonAriaLabel}>\n <div class={styles.buttonText}>{buttonText}</div>\n </Button>\n <div>{statsText}</div>\n <Button\n variant=\"custom\"\n class={cx(styles.button, styles.chevron)}\n onClick={toggleBadgeVisibility}\n title={collapseButtonText}\n aria-label={collapseButtonText}\n >\n {isCollapsed ? leftChevron : rightChevron}\n </Button>\n </div>\n );\n\n return (\n <div class={styles.fixedOverlay}>\n <div class={styles.contentSurface}>{badge}</div>\n </div>\n );\n};\n\n/**\n * Based on the status, get the badge color, button text, and stats text.\n */\nfunction processStats(\n stats: TaskStats,\n pltReport: PageLoadTimeReport,\n): {\n /** class (color) for the badge root */\n statusClass: string | undefined;\n /** short status text for the button to open the overlay */\n buttonStatusText: string;\n /** stats to display after the button, like \"50% completed, 2 errors, 3 warnings in 500ms\" */\n statsText: string;\n} {\n const { status, totalTasks, remainingTasks, totalErrors, totalWarnings } = stats;\n\n let statusClass: string | undefined;\n let buttonStatusText: string;\n let statsText = '';\n\n if (status === 'idle' && totalTasks) {\n [statusClass, buttonStatusText] = totalErrors\n ? [styles.error, `errors ${buttonHint}`]\n : totalWarnings\n ? [styles.warning, `warnings ${buttonHint}`]\n : [styles.success, 'success'];\n } else {\n // no styling for this case\n buttonStatusText = status === 'pending' ? 'bundling...' : 'idle';\n }\n\n if (totalTasks) {\n // \"Number of tasks\" is likely not a meaningful metric for users (and doesn't strictly correspond to\n // number of packages), so just show either estimated percentage or \"completed\" plus any issue counts.\n const taskStats = [\n remainingTasks === 0\n ? 'completed'\n : `${(((totalTasks - remainingTasks) / totalTasks) * 100).toFixed(1)}% completed`,\n totalErrors && `${totalErrors} error${totalErrors > 1 ? 's' : ''}`,\n totalWarnings && `${totalWarnings} warning${totalWarnings > 1 ? 's' : ''}`,\n ]\n .filter(Boolean)\n .join(', ');\n\n const pltStat = pltReport.status === 'success' ? ` in ${Math.round(pltReport.pageLoadTime) ?? '??'}ms` : '';\n\n statsText = taskStats + pltStat;\n }\n\n return { statusClass, buttonStatusText, statsText };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskList.d.ts","sourceRoot":"","sources":["../../../src/components/StatusDialog/TaskList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAMhD,MAAM,WAAW,aAAa;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,eAAO,MAAM,QAAQ,EAAE,iBAAiB,CAAC,aAAa,
|
|
1
|
+
{"version":3,"file":"TaskList.d.ts","sourceRoot":"","sources":["../../../src/components/StatusDialog/TaskList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAMhD,MAAM,WAAW,aAAa;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,eAAO,MAAM,QAAQ,EAAE,iBAAiB,CAAC,aAAa,CAmBrD,CAAC"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { jsx as _jsx } from "preact/jsx-runtime";
|
|
2
2
|
import { TaskStatus } from './TaskStatus.js';
|
|
3
|
-
import {
|
|
3
|
+
import { useTaskList } from '../CloudpackProvider/useTaskList.js';
|
|
4
4
|
import styles from './TaskList.module.css';
|
|
5
5
|
export const TaskList = ({ searchFilter, issuesOnly }) => {
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
let filteredTasks = tasks;
|
|
6
|
+
const taskList = useTaskList();
|
|
7
|
+
let filteredTasks = [...taskList.tasks].sort(sortTasks);
|
|
9
8
|
if (searchFilter) {
|
|
10
9
|
searchFilter = searchFilter.toLowerCase();
|
|
11
10
|
filteredTasks = filteredTasks.filter(({ name }) => searchFilter && name?.toLowerCase().includes(searchFilter));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskList.js","sourceRoot":"","sources":["../../../src/components/StatusDialog/TaskList.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"TaskList.js","sourceRoot":"","sources":["../../../src/components/StatusDialog/TaskList.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAClE,OAAO,MAAM,MAAM,uBAAuB,CAAC;AAQ3C,MAAM,CAAC,MAAM,QAAQ,GAAqC,CAAC,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE,EAAE;IACzF,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAE/B,IAAI,aAAa,GAAG,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACxD,IAAI,YAAY,EAAE,CAAC;QACjB,YAAY,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;QAC1C,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,YAAY,IAAI,IAAI,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;IACjH,CAAC;IACD,IAAI,UAAU,EAAE,CAAC;QACf,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,IAAI,QAAQ,EAAE,MAAM,CAAC,CAAC;IACrG,CAAC;IAED,OAAO,CACL,cAAK,KAAK,EAAE,MAAM,CAAC,IAAI,YACpB,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAClC,KAAC,UAAU,IAAiB,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,IAAnC,IAAI,CAAC,IAAI,CAA8B,CACzD,CAAC,GACE,CACP,CAAC;AACJ,CAAC,CAAC;AAEF;;GAEG;AACH,SAAS,SAAS,CAAC,CAAkB,EAAE,CAAkB;IACvD,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE/C,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;QACxB,OAAO,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC;IAED,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,CAAC;IAEtC,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;QACxB,OAAO,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACjD,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;SAAM,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAChC,OAAO,CAAC,CAAC;IACX,CAAC;SAAM,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAChC,OAAO,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC","sourcesContent":["import type { FunctionComponent } from 'preact';\nimport { TaskStatus } from './TaskStatus.js';\nimport { useTaskList } from '../CloudpackProvider/useTaskList.js';\nimport styles from './TaskList.module.css';\nimport type { TaskDescription } from '@ms-cloudpack/api-server/browser';\n\nexport interface TaskListProps {\n searchFilter?: string;\n issuesOnly?: boolean;\n}\n\nexport const TaskList: FunctionComponent<TaskListProps> = ({ searchFilter, issuesOnly }) => {\n const taskList = useTaskList();\n\n let filteredTasks = [...taskList.tasks].sort(sortTasks);\n if (searchFilter) {\n searchFilter = searchFilter.toLowerCase();\n filteredTasks = filteredTasks.filter(({ name }) => searchFilter && name?.toLowerCase().includes(searchFilter));\n }\n if (issuesOnly) {\n filteredTasks = filteredTasks.filter(({ errors, warnings }) => errors?.length || warnings?.length);\n }\n\n return (\n <div class={styles.root}>\n {filteredTasks.map((task, index) => (\n <TaskStatus key={task.name} index={index} task={task} />\n ))}\n </div>\n );\n};\n\n/**\n * Really the server should be sorting. Get stuff out of the browser.\n */\nfunction sortTasks(a: TaskDescription, b: TaskDescription): number {\n const aStatus = a.status === 'pending' ? 1 : 0;\n const bStatus = b.status === 'pending' ? 1 : 0;\n\n if (aStatus !== bStatus) {\n return aStatus > bStatus ? -1 : 1;\n }\n\n const aErrors = a.errors?.length || 0;\n const bErrors = b.errors?.length || 0;\n\n if (aErrors !== bErrors) {\n return aErrors > bErrors ? -1 : 1;\n }\n\n if (a.name === undefined && b.name === undefined) {\n return a.id < b.id ? -1 : 1;\n } else if (a.name === undefined) {\n return 1;\n } else if (b.name === undefined) {\n return -1;\n }\n\n return a.name < b.name ? -1 : 1;\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ms-cloudpack/overlay",
|
|
3
|
-
"version": "0.19.
|
|
3
|
+
"version": "0.19.7",
|
|
4
4
|
"description": "The Cloudpack overlay ux.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"types": "./lib/index.d.ts",
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"prepack": "cp .npmignore dist/.npmignore"
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
32
|
-
"@ms-cloudpack/api-server": "^0.63.
|
|
32
|
+
"@ms-cloudpack/api-server": "^0.63.9",
|
|
33
33
|
"@ms-cloudpack/common-types": "^0.24.20",
|
|
34
34
|
"@ms-cloudpack/common-types-browser": "^0.6.1",
|
|
35
35
|
"@ms-cloudpack/eslint-plugin-internal": "^0.0.1",
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export const __webpack_id__=132;export const __webpack_ids__=[132];export const __webpack_modules__={132:(n,e,t)=>{t.r(e),t.d(e,{StatusDialog:()=>Q,default:()=>K});var r=t(48),a=t(645),o=t(104),s=t.n(o),i=t(15),l=t(606),c=t.n(l),d=t(607),u=t.n(d),A=t(437),p=t.n(A),h=t(750),g=t.n(h),x=t(994),C=t.n(x),b=t(415),m=t.n(b),f=t(181),B={};B.styleTagTransform=m(),B.setAttributes=g(),B.insert=p().bind(null,"head"),B.domAPI=u(),B.insertStyleElement=C(),c()(f.default,B);const v=f.default&&f.default.locals?f.default.locals:void 0;var k=t(91);const E=["ori","rollup","webpack","rspack","esbuild"],w=n=>{const{item:e,inputPath:t,index:a,type:o}=n,{location:i,notes:l=[]}=e,c=E.includes(e.source)?`${e.source} bundler`:`cloudpack ${e.source}`;return(0,r.jsxs)("div",{class:v.root,children:[(0,r.jsx)("div",{class:s()(v.statusBar,"warning"===o&&v.warning)}),(0,r.jsxs)("div",{class:v.content,children:[(0,r.jsxs)("div",{class:v.titleArea,children:[a+1,". ",(0,r.jsx)(y,{loc:i,inputPath:t})," (via: ",c,")"]}),(0,r.jsx)("pre",{class:v.text,children:j(e.text)}),l.length>0&&(0,r.jsxs)("details",{children:[(0,r.jsx)("summary",{children:"Expand for more details"}),(0,r.jsx)("ul",{children:l.map(((n,e)=>(0,r.jsxs)("li",{children:[n.location&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(y,{loc:n.location,inputPath:t}),(0,r.jsx)("br",{})]}),n.text&&(0,r.jsx)("pre",{class:v.text,children:j(n.text)})]},e)))})]})]})]})};function j(n){return n.replace(/\x1b\[[\d;]+(m|[AKB]\b)/g,"")}const y=n=>{const{loc:e,inputPath:t}=n,a=(0,i.useCloudpack)();if(!e)return"(path unavailable)";const o=[e.file,e.line,e.column].filter((n=>void 0!==n)).join(":");return!t||/[?!]/.test(o)?o:(0,r.jsx)(k.Button,{variant:"link",onClick:()=>{t&&a.openCodeEditor.mutate({rootPath:t,relativePath:e.file,line:e.line,column:e.column})},children:o})};var P=t(545);function R(n){return"pending"===n.status?"Running":[`Completed in ${n.durationMilliseconds}ms`,n.errors?.length&&`${n.errors.length} error${n.errors.length>1?"s":""}`,n.warnings?.length&&`${n.warnings.length} warning${n.warnings.length>1?"s":""}`].filter(Boolean).join(", ")}const D=n=>{const{task:e}=n,{name:t,warnings:a=[],errors:o=[],inputPath:s,outputPath:l}=e,c=(0,i.useCloudpack)(),d=n=>{c.openFilePath.mutate({rootPath:n})},u=()=>{s&&c.openCodeEditor.mutate({rootPath:s,relativePath:"package.json"})};return(0,r.jsx)(P.ResultsAccordion,{name:t||"<unknown>",index:n.index,result:o.length?"error":a.length?"warning":"success",headerEndContent:R(e),headerCommands:(0,r.jsx)(k.Button,{variant:"iconOnly",iconName:"refresh",onClick:()=>{s&&c.restartTask.mutate({id:e.id,inputPath:s})},title:"Re-bundle this package","aria-label":"Re-bundle this package"}),getContent:()=>(0,r.jsxs)(r.Fragment,{children:[s?(0,r.jsx)(P.ResultsAccordionContent,{itemName:"Input path",itemValue:(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(k.Button,{variant:"link",onClick:()=>d(s),children:s})," ","(",(0,r.jsx)(k.Button,{variant:"link",onClick:u,children:"package.json"}),")"]})}):"No input path found for bundle task. This is a Cloudpack bug. Please report it.",l&&(0,r.jsx)(P.ResultsAccordionContent,{itemName:"Output path",itemValue:(0,r.jsx)(k.Button,{variant:"link",onClick:()=>d(l),children:l})}),o.length>0&&(0,r.jsx)(P.ResultsAccordionContent,{title:"Errors",children:o.map(((n,e)=>(0,r.jsx)(w,{type:"error",item:n,inputPath:s,index:e},e)))}),a.length>0&&(0,r.jsx)(P.ResultsAccordionContent,{title:"Warnings",children:a.map(((n,e)=>(0,r.jsx)(w,{type:"warning",item:n,inputPath:s,index:e},e)))})]})})};var S=t(279),T=t(920);const _=({searchFilter:n,issuesOnly:e})=>{let t=((()=>{const n=(0,i.useCloudpack)(),[e,t]=(0,a.useState)({tasks:[]});return(0,a.useEffect)((()=>{const e=n?.onDataChanged.subscribe(S.taskListSource,{onData:n=>{t(n)}});return()=>{e.unsubscribe()}}),[n]),e})().tasks||[]).sort(I);return n&&(n=n.toLowerCase(),t=t.filter((({name:e})=>n&&e?.toLowerCase().includes(n)))),e&&(t=t.filter((({errors:n,warnings:e})=>n?.length||e?.length))),(0,r.jsx)("div",{class:T.default.root,children:t.map(((n,e)=>(0,r.jsx)(D,{index:e,task:n},n.name)))})};function I(n,e){const t="pending"===n.status?1:0,r="pending"===e.status?1:0;if(t!==r)return t>r?-1:1;const a=n.errors?.length||0,o=e.errors?.length||0;return a!==o?a>o?-1:1:void 0===n.name&&void 0===e.name?n.id<e.id?-1:1:void 0===n.name?1:void 0===e.name||n.name<e.name?-1:1}var z=t(475),F=t(533),O={};O.styleTagTransform=m(),O.setAttributes=g(),O.insert=p().bind(null,"head"),O.domAPI=u(),O.insertStyleElement=C(),c()(F.default,O);const N=F.default&&F.default.locals?F.default.locals:void 0,X=n=>{const{value:e,onInput:t,style:a}=n;return(0,r.jsx)("input",{type:"text","aria-label":"Search",placeholder:"Search",class:N.searchbox,style:a,onInput:t,value:e})};var M=t(116);const Q=({onClose:n})=>{const e=(0,i.useCloudpack)(),[t,o]=(0,a.useState)(""),[s,l]=(0,a.useState)(!1),c=(0,a.useCallback)((n=>{n.preventDefault(),o(n.target.value)}),[]);return(0,r.jsx)(z.Dialog,{title:"Cloudpack bundle results",id:M.elementIds.statusDialogRoot,draggable:!0,onClose:n,commands:(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(k.Button,{variant:"primary",iconName:"refresh",onClick:()=>{e.restartAllTasks.mutate()},children:"Re-bundle all packages"}),(0,r.jsx)(k.Button,{onClick:()=>{l((n=>!n))},children:s?"Show all packages":"Show packages with issues"}),(0,r.jsx)(X,{value:t,onInput:c,style:{marginLeft:"auto"}})]}),children:(0,r.jsx)(_,{searchFilter:t,issuesOnly:s})})},K=Q},181:(n,e,t)=>{t.d(e,{default:()=>i});var r=t(25),a=t.n(r),o=t(191),s=t.n(o)()(a());s.push([n.id,".Rl6XMfFcB4M4Sp5RJbh8 {\n display: flex;\n background: var(--cp-neutralLighter);\n}\n\n/* left border color indicator */\n.RsdQpgzZbI9fI4mSfjJX {\n flex-shrink: 0;\n border-radius: 4px;\n width: 4px;\n background: var(--cp-errorDark);\n box-shadow: 2px 0 4px 0 var(--cp-errorTransparent);\n}\n.RsdQpgzZbI9fI4mSfjJX.EcBSTvORlKqFlDbz3mr9 {\n background: var(--cp-warningDark);\n box-shadow: 2px 0 4px 0 var(--cp-warningTransparent);\n}\n\n/* everything but the status bar */\n.oaWQstIJN1TotKTOLcwX {\n padding: 8px;\n display: flex;\n flex-grow: 1;\n overflow: hidden;\n flex-direction: column;\n}\n\n/* file path and error source */\n.NUKs26I_j0KAivvaQbz4 {\n padding: 4px 0;\n font-weight: 500;\n}\n\n/* pre with error details */\n.qXRXiNO7j_FMkOf4b1Hi {\n word-wrap: break-word;\n white-space: pre-wrap;\n color: var(--cp-neutralPrimary);\n /* monospace fonts tend to have very tight line-height by default */\n line-height: 1.5em;\n /* they also tend to be rather large */\n font-size: 0.9em;\n}\n","",{version:3,sources:["webpack://./src/components/StatusDialog/TaskResultItem.module.css"],names:[],mappings:"AAAA;EACE,aAAa;EACb,oCAAoC;AACtC;;AAEA,gCAAgC;AAChC;EACE,cAAc;EACd,kBAAkB;EAClB,UAAU;EACV,+BAA+B;EAC/B,kDAAkD;AACpD;AACA;EACE,iCAAiC;EACjC,oDAAoD;AACtD;;AAEA,kCAAkC;AAClC;EACE,YAAY;EACZ,aAAa;EACb,YAAY;EACZ,gBAAgB;EAChB,sBAAsB;AACxB;;AAEA,+BAA+B;AAC/B;EACE,cAAc;EACd,gBAAgB;AAClB;;AAEA,2BAA2B;AAC3B;EACE,qBAAqB;EACrB,qBAAqB;EACrB,+BAA+B;EAC/B,mEAAmE;EACnE,kBAAkB;EAClB,sCAAsC;EACtC,gBAAgB;AAClB",sourcesContent:[".root {\n display: flex;\n background: var(--cp-neutralLighter);\n}\n\n/* left border color indicator */\n.statusBar {\n flex-shrink: 0;\n border-radius: 4px;\n width: 4px;\n background: var(--cp-errorDark);\n box-shadow: 2px 0 4px 0 var(--cp-errorTransparent);\n}\n.statusBar.warning {\n background: var(--cp-warningDark);\n box-shadow: 2px 0 4px 0 var(--cp-warningTransparent);\n}\n\n/* everything but the status bar */\n.content {\n padding: 8px;\n display: flex;\n flex-grow: 1;\n overflow: hidden;\n flex-direction: column;\n}\n\n/* file path and error source */\n.titleArea {\n padding: 4px 0;\n font-weight: 500;\n}\n\n/* pre with error details */\n.text {\n word-wrap: break-word;\n white-space: pre-wrap;\n color: var(--cp-neutralPrimary);\n /* monospace fonts tend to have very tight line-height by default */\n line-height: 1.5em;\n /* they also tend to be rather large */\n font-size: 0.9em;\n}\n"],sourceRoot:""}]),s.locals={root:"Rl6XMfFcB4M4Sp5RJbh8",statusBar:"RsdQpgzZbI9fI4mSfjJX",warning:"EcBSTvORlKqFlDbz3mr9",content:"oaWQstIJN1TotKTOLcwX",titleArea:"NUKs26I_j0KAivvaQbz4",text:"qXRXiNO7j_FMkOf4b1Hi"};const i=s},533:(n,e,t)=>{t.d(e,{default:()=>i});var r=t(25),a=t.n(r),o=t(191),s=t.n(o)()(a());s.push([n.id,".VVonEYuUEQsjEgbwvMfP {\n font-size: 14px;\n font-weight: 400;\n box-shadow: none;\n padding: 0px 8px;\n box-sizing: border-box;\n color: var(--cp-neutralPrimary);\n background-color: white;\n border-radius: 2px;\n /* This should match the default button border */\n border: 1px solid var(--cp-border);\n height: 32px;\n min-width: 160px;\n}\n.VVonEYuUEQsjEgbwvMfP:focus-visible {\n outline: var(--cp-outline);\n}\n","",{version:3,sources:["webpack://./src/components/StatusDialog/Searchbox.module.css"],names:[],mappings:"AAAA;EACE,eAAe;EACf,gBAAgB;EAChB,gBAAgB;EAChB,gBAAgB;EAChB,sBAAsB;EACtB,+BAA+B;EAC/B,uBAAuB;EACvB,kBAAkB;EAClB,gDAAgD;EAChD,kCAAkC;EAClC,YAAY;EACZ,gBAAgB;AAClB;AACA;EACE,0BAA0B;AAC5B",sourcesContent:[".searchbox {\n font-size: 14px;\n font-weight: 400;\n box-shadow: none;\n padding: 0px 8px;\n box-sizing: border-box;\n color: var(--cp-neutralPrimary);\n background-color: white;\n border-radius: 2px;\n /* This should match the default button border */\n border: 1px solid var(--cp-border);\n height: 32px;\n min-width: 160px;\n}\n.searchbox:focus-visible {\n outline: var(--cp-outline);\n}\n"],sourceRoot:""}]),s.locals={searchbox:"VVonEYuUEQsjEgbwvMfP"};const i=s}};
|
|
2
|
-
//# sourceMappingURL=132.chunk.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"132.chunk.js","mappings":"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","sources":["webpack://@ms-cloudpack/overlay/./src/components/StatusDialog/TaskResultItem.module.css?58ec","webpack://@ms-cloudpack/overlay/./src/components/StatusDialog/TaskResultItem.tsx","webpack://@ms-cloudpack/overlay/./src/components/StatusDialog/TaskStatus.tsx","webpack://@ms-cloudpack/overlay/./src/components/StatusDialog/TaskList.tsx","webpack://@ms-cloudpack/overlay/./src/components/CloudpackProvider/useStatusDetails.ts","webpack://@ms-cloudpack/overlay/./src/components/StatusDialog/Searchbox.module.css?3e72","webpack://@ms-cloudpack/overlay/./src/components/StatusDialog/Searchbox.tsx","webpack://@ms-cloudpack/overlay/./src/components/StatusDialog/StatusDialog.tsx","webpack://@ms-cloudpack/overlay/./src/components/StatusDialog/TaskResultItem.module.css","webpack://@ms-cloudpack/overlay/./src/components/StatusDialog/Searchbox.module.css"],"sourcesContent":["\n import API from \"!../../../../../node_modules/.store/style-loader-virtual-bd73274477/package/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/.store/style-loader-virtual-bd73274477/package/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/.store/style-loader-virtual-bd73274477/package/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/.store/style-loader-virtual-bd73274477/package/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/.store/style-loader-virtual-bd73274477/package/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/.store/style-loader-virtual-bd73274477/package/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/.store/css-loader-virtual-bfb2cc7933/package/dist/cjs.js??ruleSet[1].rules[0].oneOf[1].use[1]!./TaskResultItem.module.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/.store/css-loader-virtual-bfb2cc7933/package/dist/cjs.js??ruleSet[1].rules[0].oneOf[1].use[1]!./TaskResultItem.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","import type { BundleMessage, BundleMessageLocation } from '@ms-cloudpack/common-types';\nimport type { FunctionComponent } from 'preact';\nimport cx from 'classnames';\nimport { useCloudpack } from '../CloudpackProvider/CloudpackProvider.js';\nimport styles from './TaskResultItem.module.css';\nimport { Button } from '../Button/Button.js';\n\nexport interface TaskResultItemProps {\n item: BundleMessage;\n inputPath: string | undefined;\n /** 0-based index (will be adjusted for display) */\n index: number;\n type: 'error' | 'warning';\n}\n\n/**\n * Current and possible future bundler names, just to help with a friendlier error message\n * (we can't access the authoritative list from the bundler package here)\n */\nconst bundlerNames = ['ori', 'rollup', 'webpack', 'rspack', 'esbuild'];\n\n/**\n * Error or warning item in the details of a task/bundle result.\n */\nexport const TaskResultItem: FunctionComponent<TaskResultItemProps> = (props) => {\n const { item, inputPath, index, type } = props;\n const { location: loc, notes = [] } = item;\n\n // Update the message source to be more user-friendly. Usually it's either a bundler name,\n // or some internal of cloudpack, and since the user might not know about the different bundlers\n // and certainly doesn't know about cloudpack internals, a bit of context is helpful.\n const friendlySource = bundlerNames.includes(item.source) ? `${item.source} bundler` : `cloudpack ${item.source}`;\n\n return (\n <div class={styles.root}>\n <div class={cx(styles.statusBar, type === 'warning' && styles.warning)}></div>\n <div class={styles.content}>\n <div class={styles.titleArea}>\n {index + 1}. <ItemLocation loc={loc} inputPath={inputPath} /> (via: {friendlySource})\n </div>\n <pre class={styles.text}>{stripAnsi(item.text)}</pre>\n {notes.length > 0 && (\n // Formatting here might not be ideal, but messages very rarely have notes\n <details>\n <summary>Expand for more details</summary>\n <ul>\n {notes.map((note, i) => (\n <li key={i}>\n {note.location && (\n <>\n <ItemLocation loc={note.location} inputPath={inputPath} />\n <br />\n </>\n )}\n {note.text && <pre class={styles.text}>{stripAnsi(note.text)}</pre>}\n </li>\n ))}\n </ul>\n </details>\n )}\n </div>\n </div>\n );\n};\n\n/**\n * Remove ANSI codes from a string. (This is duplicated from `task-reporter` to avoid needing\n * browser support in that package, since the implementation is trivial.)\n */\nfunction stripAnsi(text: string): string {\n // eslint-disable-next-line no-control-regex -- supposed to match a control character\n return text.replace(/\\x1b\\[[\\d;]+(m|[AKB]\\b)/g, '');\n}\n\n/**\n * Return a link-button to open the source file, or a placeholder if the location is undefined.\n */\nconst ItemLocation: FunctionComponent<{ loc: BundleMessageLocation | undefined; inputPath: string | undefined }> = (\n props,\n) => {\n const { loc, inputPath } = props;\n const cloudpack = useCloudpack();\n\n if (!loc) {\n return '(path unavailable)';\n }\n\n const locationString = [loc.file, loc.line, loc.column].filter((val) => val !== undefined).join(':');\n // Don't make it clickable if we don't know the root path, or if the file path contains\n // webpack loader stuff. A real example:\n // ../../node_modules/.store/css-loader-virtual-bfb2cc7933/package/dist/cjs.js??ruleSet[1].rules[5].oneOf[0].use[1]!../../node_modules/.store/sass-loader-virtual-65ccb5bf2d/package/dist/cjs.js!./src/cssTest/example4.global.scss\n if (!inputPath || /[?!]/.test(locationString)) {\n return locationString;\n }\n\n const openSource = (): void => {\n if (!inputPath) return;\n void cloudpack.openCodeEditor.mutate({\n rootPath: inputPath,\n relativePath: loc.file,\n line: loc.line,\n column: loc.column,\n });\n };\n\n return (\n <Button variant=\"link\" onClick={openSource}>\n {locationString}\n </Button>\n );\n};\n","import type { FunctionComponent } from 'preact';\nimport type { TaskDescription } from '@ms-cloudpack/api-server/browser';\nimport { TaskResultItem } from './TaskResultItem.js';\nimport { useCloudpack } from '../CloudpackProvider/CloudpackProvider.js';\nimport { Button } from '../Button/Button.js';\nimport {\n ResultsAccordion,\n ResultsAccordionContent,\n type ResultsAccordionProps,\n} from '../ResultsAccordion/ResultsAccordion.js';\n\nexport interface TaskStatusProps extends Pick<ResultsAccordionProps, 'index'> {\n task: TaskDescription;\n}\n\nfunction getCompletion(task: TaskDescription): string {\n if (task.status === 'pending') {\n return 'Running';\n }\n return [\n `Completed in ${task.durationMilliseconds}ms`,\n task.errors?.length && `${task.errors.length} error${task.errors.length > 1 ? 's' : ''}`,\n task.warnings?.length && `${task.warnings.length} warning${task.warnings.length > 1 ? 's' : ''}`,\n ]\n .filter(Boolean)\n .join(', ');\n}\n\n/**\n * Item (collapsible section) in the list of bundle task results in the StatusDialog.\n */\nexport const TaskStatus: FunctionComponent<TaskStatusProps> = (props) => {\n const { task } = props;\n const { name, warnings = [], errors = [], inputPath, outputPath } = task;\n const cloudpack = useCloudpack();\n\n const openPath = (rootPath: string) => void cloudpack.openFilePath.mutate({ rootPath });\n\n const openPackageJson = (): void => {\n if (!inputPath) return; // the button won't be shown in this case\n\n void cloudpack.openCodeEditor.mutate({\n rootPath: inputPath,\n relativePath: 'package.json',\n });\n };\n\n const restartTask = (): void => {\n if (!inputPath) return;\n\n void cloudpack.restartTask.mutate({ id: task.id, inputPath });\n };\n\n // This callback prevents rendering thousands of bundle result details unnecessarily.\n // It could be further optimized with useMemo etc if it's an actual performance issue.\n const getContent = () => (\n <>\n {inputPath ? (\n <ResultsAccordionContent\n itemName=\"Input path\"\n itemValue={\n <>\n <Button variant=\"link\" onClick={() => openPath(inputPath)}>\n {inputPath}\n </Button>{' '}\n (\n <Button variant=\"link\" onClick={openPackageJson}>\n package.json\n </Button>\n )\n </>\n }\n />\n ) : (\n 'No input path found for bundle task. This is a Cloudpack bug. Please report it.'\n )}\n {outputPath && (\n <ResultsAccordionContent\n itemName=\"Output path\"\n itemValue={\n <Button variant=\"link\" onClick={() => openPath(outputPath)}>\n {outputPath}\n </Button>\n }\n />\n )}\n {errors.length > 0 && (\n <ResultsAccordionContent title=\"Errors\">\n {errors.map((item, index) => (\n <TaskResultItem type=\"error\" key={index} item={item} inputPath={inputPath} index={index} />\n ))}\n </ResultsAccordionContent>\n )}\n {warnings.length > 0 && (\n <ResultsAccordionContent title=\"Warnings\">\n {warnings.map((item, index) => (\n <TaskResultItem type=\"warning\" key={index} item={item} inputPath={inputPath} index={index} />\n ))}\n </ResultsAccordionContent>\n )}\n </>\n );\n\n return (\n <ResultsAccordion\n name={name || '<unknown>'}\n index={props.index}\n result={errors.length ? 'error' : warnings.length ? 'warning' : 'success'}\n headerEndContent={getCompletion(task)}\n headerCommands={\n <Button\n variant=\"iconOnly\"\n iconName=\"refresh\"\n onClick={restartTask}\n title=\"Re-bundle this package\"\n aria-label=\"Re-bundle this package\"\n />\n }\n getContent={getContent}\n />\n );\n};\n","import type { FunctionComponent } from 'preact';\nimport { TaskStatus } from './TaskStatus.js';\nimport { useStatusDetails } from '../CloudpackProvider/useStatusDetails.js';\nimport styles from './TaskList.module.css';\nimport type { TaskDescription } from '@ms-cloudpack/api-server/browser';\n\nexport interface TaskListProps {\n searchFilter?: string;\n issuesOnly?: boolean;\n}\n\nexport const TaskList: FunctionComponent<TaskListProps> = ({ searchFilter, issuesOnly }) => {\n const details = useStatusDetails();\n const tasks = (details.tasks || []).sort(sortTasks);\n\n let filteredTasks = tasks;\n if (searchFilter) {\n searchFilter = searchFilter.toLowerCase();\n filteredTasks = filteredTasks.filter(({ name }) => searchFilter && name?.toLowerCase().includes(searchFilter));\n }\n if (issuesOnly) {\n filteredTasks = filteredTasks.filter(({ errors, warnings }) => errors?.length || warnings?.length);\n }\n\n return (\n <div class={styles.root}>\n {filteredTasks.map((task, index) => (\n <TaskStatus key={task.name} index={index} task={task} />\n ))}\n </div>\n );\n};\n\n/**\n * Really the server should be sorting. Get stuff out of the browser.\n */\nfunction sortTasks(a: TaskDescription, b: TaskDescription): number {\n const aStatus = a.status === 'pending' ? 1 : 0;\n const bStatus = b.status === 'pending' ? 1 : 0;\n\n if (aStatus !== bStatus) {\n return aStatus > bStatus ? -1 : 1;\n }\n\n const aErrors = a.errors?.length || 0;\n const bErrors = b.errors?.length || 0;\n\n if (aErrors !== bErrors) {\n return aErrors > bErrors ? -1 : 1;\n }\n\n if (a.name === undefined && b.name === undefined) {\n return a.id < b.id ? -1 : 1;\n } else if (a.name === undefined) {\n return 1;\n } else if (b.name === undefined) {\n return -1;\n }\n\n return a.name < b.name ? -1 : 1;\n}\n","import { useEffect, useState } from 'preact/hooks';\nimport { useCloudpack } from './CloudpackProvider.js';\nimport { taskListSource, type TaskList } from '@ms-cloudpack/api-server/browser';\n\nexport const useStatusDetails = (): TaskList => {\n const cloudpack = useCloudpack();\n const [details, setDetails] = useState<TaskList>({ tasks: [] });\n\n useEffect(() => {\n const subscription = cloudpack?.onDataChanged.subscribe(taskListSource, {\n onData: (data) => {\n setDetails(data as TaskList);\n },\n });\n\n return () => {\n subscription.unsubscribe();\n };\n }, [cloudpack]);\n\n return details;\n};\n","\n import API from \"!../../../../../node_modules/.store/style-loader-virtual-bd73274477/package/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/.store/style-loader-virtual-bd73274477/package/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/.store/style-loader-virtual-bd73274477/package/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/.store/style-loader-virtual-bd73274477/package/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/.store/style-loader-virtual-bd73274477/package/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/.store/style-loader-virtual-bd73274477/package/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/.store/css-loader-virtual-bfb2cc7933/package/dist/cjs.js??ruleSet[1].rules[0].oneOf[1].use[1]!./Searchbox.module.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/.store/css-loader-virtual-bfb2cc7933/package/dist/cjs.js??ruleSet[1].rules[0].oneOf[1].use[1]!./Searchbox.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","import type { FunctionComponent } from 'preact';\nimport type { InputHTMLAttributes } from 'preact/compat';\nimport styles from './Searchbox.module.css';\n\nexport interface SearchboxProps\n extends Required<Pick<InputHTMLAttributes, 'onInput'>>,\n Pick<InputHTMLAttributes, 'style'> {\n value: string;\n}\n\nexport const Searchbox: FunctionComponent<SearchboxProps> = (props) => {\n const { value, onInput, style } = props;\n return (\n <input\n type=\"text\"\n aria-label=\"Search\"\n placeholder=\"Search\"\n class={styles.searchbox}\n style={style}\n onInput={onInput}\n value={value}\n />\n );\n};\n","import type { FunctionComponent } from 'preact';\nimport { useCallback, useState } from 'preact/hooks';\nimport { TaskList } from './TaskList.js';\nimport { useCloudpack } from '../CloudpackProvider/CloudpackProvider.js';\nimport { Button } from '../Button/Button.js';\nimport { Dialog } from '../Dialog/Dialog.js';\nimport { Searchbox, type SearchboxProps } from './Searchbox.js';\nimport { elementIds } from '../../constants.js';\n\nexport interface StatusDialogProps {\n onClose: () => void;\n}\n\nexport const StatusDialog: FunctionComponent<StatusDialogProps> = ({ onClose }) => {\n const cloudpack = useCloudpack();\n const [searchFilter, setSearchFilter] = useState('');\n const [issuesOnly, setIssuesOnly] = useState(false);\n\n const handleSearchChange = useCallback<SearchboxProps['onInput']>((event) => {\n event.preventDefault();\n setSearchFilter((event.target as HTMLInputElement).value);\n }, []);\n\n const restartAllTasks = () => void cloudpack.restartAllTasks.mutate();\n\n const toggleIssuesOnly = () => void setIssuesOnly((value) => !value);\n\n return (\n <Dialog\n title=\"Cloudpack bundle results\"\n id={elementIds.statusDialogRoot}\n draggable\n onClose={onClose}\n commands={\n <>\n <Button variant=\"primary\" iconName=\"refresh\" onClick={restartAllTasks}>\n Re-bundle all packages\n </Button>\n <Button onClick={toggleIssuesOnly}>{issuesOnly ? 'Show all packages' : 'Show packages with issues'}</Button>\n {/* Align the search box to the right */}\n <Searchbox value={searchFilter} onInput={handleSearchChange} style={{ marginLeft: 'auto' }} />\n </>\n }\n >\n <TaskList searchFilter={searchFilter} issuesOnly={issuesOnly} />\n </Dialog>\n );\n};\n\nexport default StatusDialog;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/.store/css-loader-virtual-bfb2cc7933/package/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/.store/css-loader-virtual-bfb2cc7933/package/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, `.Rl6XMfFcB4M4Sp5RJbh8 {\n display: flex;\n background: var(--cp-neutralLighter);\n}\n\n/* left border color indicator */\n.RsdQpgzZbI9fI4mSfjJX {\n flex-shrink: 0;\n border-radius: 4px;\n width: 4px;\n background: var(--cp-errorDark);\n box-shadow: 2px 0 4px 0 var(--cp-errorTransparent);\n}\n.RsdQpgzZbI9fI4mSfjJX.EcBSTvORlKqFlDbz3mr9 {\n background: var(--cp-warningDark);\n box-shadow: 2px 0 4px 0 var(--cp-warningTransparent);\n}\n\n/* everything but the status bar */\n.oaWQstIJN1TotKTOLcwX {\n padding: 8px;\n display: flex;\n flex-grow: 1;\n overflow: hidden;\n flex-direction: column;\n}\n\n/* file path and error source */\n.NUKs26I_j0KAivvaQbz4 {\n padding: 4px 0;\n font-weight: 500;\n}\n\n/* pre with error details */\n.qXRXiNO7j_FMkOf4b1Hi {\n word-wrap: break-word;\n white-space: pre-wrap;\n color: var(--cp-neutralPrimary);\n /* monospace fonts tend to have very tight line-height by default */\n line-height: 1.5em;\n /* they also tend to be rather large */\n font-size: 0.9em;\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/StatusDialog/TaskResultItem.module.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,aAAa;EACb,oCAAoC;AACtC;;AAEA,gCAAgC;AAChC;EACE,cAAc;EACd,kBAAkB;EAClB,UAAU;EACV,+BAA+B;EAC/B,kDAAkD;AACpD;AACA;EACE,iCAAiC;EACjC,oDAAoD;AACtD;;AAEA,kCAAkC;AAClC;EACE,YAAY;EACZ,aAAa;EACb,YAAY;EACZ,gBAAgB;EAChB,sBAAsB;AACxB;;AAEA,+BAA+B;AAC/B;EACE,cAAc;EACd,gBAAgB;AAClB;;AAEA,2BAA2B;AAC3B;EACE,qBAAqB;EACrB,qBAAqB;EACrB,+BAA+B;EAC/B,mEAAmE;EACnE,kBAAkB;EAClB,sCAAsC;EACtC,gBAAgB;AAClB\",\"sourcesContent\":[\".root {\\n display: flex;\\n background: var(--cp-neutralLighter);\\n}\\n\\n/* left border color indicator */\\n.statusBar {\\n flex-shrink: 0;\\n border-radius: 4px;\\n width: 4px;\\n background: var(--cp-errorDark);\\n box-shadow: 2px 0 4px 0 var(--cp-errorTransparent);\\n}\\n.statusBar.warning {\\n background: var(--cp-warningDark);\\n box-shadow: 2px 0 4px 0 var(--cp-warningTransparent);\\n}\\n\\n/* everything but the status bar */\\n.content {\\n padding: 8px;\\n display: flex;\\n flex-grow: 1;\\n overflow: hidden;\\n flex-direction: column;\\n}\\n\\n/* file path and error source */\\n.titleArea {\\n padding: 4px 0;\\n font-weight: 500;\\n}\\n\\n/* pre with error details */\\n.text {\\n word-wrap: break-word;\\n white-space: pre-wrap;\\n color: var(--cp-neutralPrimary);\\n /* monospace fonts tend to have very tight line-height by default */\\n line-height: 1.5em;\\n /* they also tend to be rather large */\\n font-size: 0.9em;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"root\": `Rl6XMfFcB4M4Sp5RJbh8`,\n\t\"statusBar\": `RsdQpgzZbI9fI4mSfjJX`,\n\t\"warning\": `EcBSTvORlKqFlDbz3mr9`,\n\t\"content\": `oaWQstIJN1TotKTOLcwX`,\n\t\"titleArea\": `NUKs26I_j0KAivvaQbz4`,\n\t\"text\": `qXRXiNO7j_FMkOf4b1Hi`\n};\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/.store/css-loader-virtual-bfb2cc7933/package/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/.store/css-loader-virtual-bfb2cc7933/package/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, `.VVonEYuUEQsjEgbwvMfP {\n font-size: 14px;\n font-weight: 400;\n box-shadow: none;\n padding: 0px 8px;\n box-sizing: border-box;\n color: var(--cp-neutralPrimary);\n background-color: white;\n border-radius: 2px;\n /* This should match the default button border */\n border: 1px solid var(--cp-border);\n height: 32px;\n min-width: 160px;\n}\n.VVonEYuUEQsjEgbwvMfP:focus-visible {\n outline: var(--cp-outline);\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/StatusDialog/Searchbox.module.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,eAAe;EACf,gBAAgB;EAChB,gBAAgB;EAChB,gBAAgB;EAChB,sBAAsB;EACtB,+BAA+B;EAC/B,uBAAuB;EACvB,kBAAkB;EAClB,gDAAgD;EAChD,kCAAkC;EAClC,YAAY;EACZ,gBAAgB;AAClB;AACA;EACE,0BAA0B;AAC5B\",\"sourcesContent\":[\".searchbox {\\n font-size: 14px;\\n font-weight: 400;\\n box-shadow: none;\\n padding: 0px 8px;\\n box-sizing: border-box;\\n color: var(--cp-neutralPrimary);\\n background-color: white;\\n border-radius: 2px;\\n /* This should match the default button border */\\n border: 1px solid var(--cp-border);\\n height: 32px;\\n min-width: 160px;\\n}\\n.searchbox:focus-visible {\\n outline: var(--cp-outline);\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"searchbox\": `VVonEYuUEQsjEgbwvMfP`\n};\nexport default ___CSS_LOADER_EXPORT___;\n"],"names":["options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","undefined","bundlerNames","TaskResultItem","props","item","inputPath","index","type","location","loc","notes","friendlySource","includes","source","div","class","styles","root","cx","statusBar","warning","content","titleArea","ItemLocation","pre","text","stripAnsi","length","details","summary","ul","map","note","i","li","br","replace","cloudpack","useCloudpack","locationString","file","line","column","filter","val","join","test","Button","variant","onClick","openCodeEditor","mutate","rootPath","relativePath","getCompletion","task","status","durationMilliseconds","errors","warnings","Boolean","TaskStatus","name","outputPath","openPath","openFilePath","openPackageJson","ResultsAccordion","result","headerEndContent","headerCommands","iconName","restartTask","id","title","aria-label","getContent","ResultsAccordionContent","itemName","itemValue","TaskList","searchFilter","issuesOnly","filteredTasks","setDetails","useState","tasks","useEffect","subscription","onDataChanged","subscribe","taskListSource","onData","data","unsubscribe","useStatusDetails","sort","sortTasks","toLowerCase","a","b","aStatus","bStatus","aErrors","bErrors","Searchbox","value","onInput","style","input","placeholder","searchbox","StatusDialog","onClose","setSearchFilter","setIssuesOnly","handleSearchChange","useCallback","event","preventDefault","target","Dialog","elementIds","statusDialogRoot","draggable","commands","restartAllTasks","marginLeft","___CSS_LOADER_EXPORT___","push","module"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export const __webpack_id__=173;export const __webpack_ids__=[173];export const __webpack_modules__={173:e=>{e.exports=function(){throw new Error("ws does not work in the browser. Browser clients must use the native WebSocket object")}}};
|
|
2
|
-
//# sourceMappingURL=173.chunk.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useStatus.d.ts","sourceRoot":"","sources":["../../../src/components/CloudpackProvider/useStatus.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAEnF,MAAM,MAAM,eAAe,GAAG,SAAS,CAAC;AAUxC,eAAO,MAAM,SAAS,QAAO,eAiB5B,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useStatus.js","sourceRoot":"","sources":["../../../src/components/CloudpackProvider/useStatus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAkB,MAAM,kCAAkC,CAAC;AAInF,MAAM,aAAa,GAAoB;IACrC,MAAM,EAAE,SAAS;IACjB,cAAc,EAAE,CAAC;IACjB,UAAU,EAAE,CAAC;IACb,WAAW,EAAE,CAAC;IACd,aAAa,EAAE,CAAC;CACjB,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,GAAoB,EAAE;IAC7C,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IACjC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAkB,aAAa,CAAC,CAAC;IAErE,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,YAAY,GAAG,SAAS,EAAE,aAAa,CAAC,SAAS,CAAC,eAAe,EAAE;YACvE,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBACf,SAAS,CAAC,IAAuB,CAAC,CAAC;YACrC,CAAC;SACF,CAAC,CAAC;QAEH,OAAO,GAAG,EAAE;YACV,YAAY,CAAC,WAAW,EAAE,CAAC;QAC7B,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC","sourcesContent":["import { useEffect, useState } from 'preact/hooks';\nimport { useCloudpack } from './CloudpackProvider.js';\nimport { taskStatsSource, type TaskStats } from '@ms-cloudpack/api-server/browser';\n\nexport type CloudpackStatus = TaskStats;\n\nconst defaultStatus: CloudpackStatus = {\n status: 'unknown',\n remainingTasks: 0,\n totalTasks: 0,\n totalErrors: 0,\n totalWarnings: 0,\n};\n\nexport const useStatus = (): CloudpackStatus => {\n const cloudpack = useCloudpack();\n const [status, setStatus] = useState<CloudpackStatus>(defaultStatus);\n\n useEffect(() => {\n const subscription = cloudpack?.onDataChanged.subscribe(taskStatsSource, {\n onData: (data) => {\n setStatus(data as CloudpackStatus);\n },\n });\n\n return () => {\n subscription.unsubscribe();\n };\n }, [cloudpack]);\n\n return status;\n};\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useStatusDetails.d.ts","sourceRoot":"","sources":["../../../src/components/CloudpackProvider/useStatusDetails.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAEjF,eAAO,MAAM,gBAAgB,QAAO,QAiBnC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useStatusDetails.js","sourceRoot":"","sources":["../../../src/components/CloudpackProvider/useStatusDetails.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAiB,MAAM,kCAAkC,CAAC;AAEjF,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAa,EAAE;IAC7C,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IACjC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAW,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;IAEhE,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,YAAY,GAAG,SAAS,EAAE,aAAa,CAAC,SAAS,CAAC,cAAc,EAAE;YACtE,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBACf,UAAU,CAAC,IAAgB,CAAC,CAAC;YAC/B,CAAC;SACF,CAAC,CAAC;QAEH,OAAO,GAAG,EAAE;YACV,YAAY,CAAC,WAAW,EAAE,CAAC;QAC7B,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC","sourcesContent":["import { useEffect, useState } from 'preact/hooks';\nimport { useCloudpack } from './CloudpackProvider.js';\nimport { taskListSource, type TaskList } from '@ms-cloudpack/api-server/browser';\n\nexport const useStatusDetails = (): TaskList => {\n const cloudpack = useCloudpack();\n const [details, setDetails] = useState<TaskList>({ tasks: [] });\n\n useEffect(() => {\n const subscription = cloudpack?.onDataChanged.subscribe(taskListSource, {\n onData: (data) => {\n setDetails(data as TaskList);\n },\n });\n\n return () => {\n subscription.unsubscribe();\n };\n }, [cloudpack]);\n\n return details;\n};\n"]}
|