@ms-cloudpack/overlay 0.17.161 → 0.17.162
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.
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const __webpack_id__=119;export const __webpack_ids__=[119];export const __webpack_modules__={181:(e,n,t)=>{t.d(n,{default:()=>s});var a=t(25),l=t.n(a),r=t(191),o=t.n(r)()(l());o.push([e.id,".Rl6XMfFcB4M4Sp5RJbh8 {\n display: flex;\n background: #f5f5f5;\n}\n\n.RsdQpgzZbI9fI4mSfjJX {\n flex-shrink: 0;\n border-radius: 4px;\n width: 4px;\n background: #aa0000;\n box-shadow: 2px 0 4px 0 rgb(220 0 0 / 20%);\n}\n\n.oaWQstIJN1TotKTOLcwX {\n padding: 8px;\n display: flex;\n flex-grow: 1;\n overflow: hidden;\n flex-direction: column;\n}\n\n.NUKs26I_j0KAivvaQbz4 {\n display: flex;\n align-items: center;\n flex-direction: row;\n gap: 4px;\n padding: 4px 0;\n}\n\n.THOyqwrKlLrhlMXnDBZq {\n display: inline-flex;\n margin: 0;\n padding: 0;\n border: none;\n background: inherit;\n font-family: inherit;\n flex-grow: 1;\n font-weight: 500;\n font-size: 14px;\n flex-shrink: 0;\n text-decoration: none;\n color: #000;\n cursor: pointer;\n}\n\n.THOyqwrKlLrhlMXnDBZq:hover {\n text-decoration: underline;\n}\n\n.hd6lf7eoPHUFINDCC0u5 {\n display: flex;\n flex-direction: row;\n gap: 8px;\n flex-shrink: 0;\n}\n\n.qXRXiNO7j_FMkOf4b1Hi {\n word-wrap: break-word;\n color: #333;\n}\n","",{version:3,sources:["webpack://./src/components/StatusDialog/TaskResultItem.module.css"],names:[],mappings:"AAAA;EACE,aAAa;EACb,mBAAmB;AACrB;;AAEA;EACE,cAAc;EACd,kBAAkB;EAClB,UAAU;EACV,mBAAmB;EACnB,0CAA0C;AAC5C;;AAEA;EACE,YAAY;EACZ,aAAa;EACb,YAAY;EACZ,gBAAgB;EAChB,sBAAsB;AACxB;;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,mBAAmB;EACnB,QAAQ;EACR,cAAc;AAChB;;AAEA;EACE,oBAAoB;EACpB,SAAS;EACT,UAAU;EACV,YAAY;EACZ,mBAAmB;EACnB,oBAAoB;EACpB,YAAY;EACZ,gBAAgB;EAChB,eAAe;EACf,cAAc;EACd,qBAAqB;EACrB,WAAW;EACX,eAAe;AACjB;;AAEA;EACE,0BAA0B;AAC5B;;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,QAAQ;EACR,cAAc;AAChB;;AAEA;EACE,qBAAqB;EACrB,WAAW;AACb",sourcesContent:[".root {\n display: flex;\n background: #f5f5f5;\n}\n\n.statusBar {\n flex-shrink: 0;\n border-radius: 4px;\n width: 4px;\n background: #aa0000;\n box-shadow: 2px 0 4px 0 rgb(220 0 0 / 20%);\n}\n\n.content {\n padding: 8px;\n display: flex;\n flex-grow: 1;\n overflow: hidden;\n flex-direction: column;\n}\n\n.titleArea {\n display: flex;\n align-items: center;\n flex-direction: row;\n gap: 4px;\n padding: 4px 0;\n}\n\n.file {\n display: inline-flex;\n margin: 0;\n padding: 0;\n border: none;\n background: inherit;\n font-family: inherit;\n flex-grow: 1;\n font-weight: 500;\n font-size: 14px;\n flex-shrink: 0;\n text-decoration: none;\n color: #000;\n cursor: pointer;\n}\n\n.file:hover {\n text-decoration: underline;\n}\n\n.actionArea {\n display: flex;\n flex-direction: row;\n gap: 8px;\n flex-shrink: 0;\n}\n\n.text {\n word-wrap: break-word;\n color: #333;\n}\n"],sourceRoot:""}]),o.locals={root:"Rl6XMfFcB4M4Sp5RJbh8",statusBar:"RsdQpgzZbI9fI4mSfjJX",content:"oaWQstIJN1TotKTOLcwX",titleArea:"NUKs26I_j0KAivvaQbz4",file:"THOyqwrKlLrhlMXnDBZq",actionArea:"hd6lf7eoPHUFINDCC0u5",text:"qXRXiNO7j_FMkOf4b1Hi"};const s=o},500:(e,n,t)=>{t.r(n),t.d(n,{StatusDialog:()=>Q,default:()=>U});var a=t(788),l=t(15),r=t(286),o=t.n(r),s=t(823),i=t.n(s),c=t(509),A=t.n(c),d=t(214),u=t.n(d),m=t(586),g=t.n(m),E=t(703),p=t.n(E),f=t(181),C={};C.styleTagTransform=p(),C.setAttributes=u(),C.insert=A().bind(null,"head"),C.domAPI=i(),C.insertStyleElement=g(),o()(f.default,C);const x=f.default&&f.default.locals?f.default.locals:void 0,h=({item:e,projectPath:n,index:t})=>{const r=(0,l.useCloudpack)(),o=[e.location?.file||"(path unavailable)",e.location?.line,e.location?.column].filter(Boolean).join(":");return a.createElement("div",{className:x.root},a.createElement("div",{className:x.statusBar}),a.createElement("div",{className:x.content},a.createElement("div",{className:x.titleArea},a.createElement("button",{onClick:t=>{e.location&&(r.openCodeEditor.mutate({rootPath:n,relativePath:e.location?.file,line:e.location?.line,column:e.location?.column}),t.preventDefault())},className:x.file},t,". ",o)),a.createElement("div",{className:x.text},"[",e.source,"] ",e.text),a.createElement("pre",{className:x.text},JSON.stringify(e,null,2))))};var B=t(54),b=t(104),M=t.n(b),N=t(844),k=t(791),w=t(545);const I=({task:e})=>{const[n,t]=a.useState(void 0),{name:r,warnings:o=[],errors:s=[]}=e,i=(0,l.useCloudpack)(),c=!0===n||void 0===n&&s?.length>0,{inputPath:A,outputPath:d}=e,u=e=>{i.openFilePath.mutate({rootPath:e})};return a.createElement("div",{className:B.default.root},a.createElement("div",{className:v(e)},a.createElement("button",{className:B.default.expandButton,onClick:()=>t(!c),"aria-label":c?`Minimize ${r}`:`Expand ${r}`},a.createElement("img",{className:M()(B.default.expandIcon,!c&&B.default.collapsed),src:k,alt:"Chevron down icon"})),0===s?.length&&0===o?.length&&a.createElement("img",{className:B.default.errorIcon,src:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEyIDJDMTcuNTIyOCAyIDIyIDYuNDc3MTUgMjIgMTJDMjIgMTcuNTIyOCAxNy41MjI4IDIyIDEyIDIyQzYuNDc3MTUgMjIgMiAxNy41MjI4IDIgMTJDMiA2LjQ3NzE1IDYuNDc3MTUgMiAxMiAyWk0xNS4yMTk3IDguOTY5NjdMMTAuNzUgMTMuNDM5M0w4Ljc4MDMzIDExLjQ2OTdDOC40ODc0NCAxMS4xNzY4IDguMDEyNTYgMTEuMTc2OCA3LjcxOTY3IDExLjQ2OTdDNy40MjY3OCAxMS43NjI2IDcuNDI2NzggMTIuMjM3NCA3LjcxOTY3IDEyLjUzMDNMMTAuMjE5NyAxNS4wMzAzQzEwLjUxMjYgMTUuMzIzMiAxMC45ODc0IDE1LjMyMzIgMTEuMjgwMyAxNS4wMzAzTDE2LjI4MDMgMTAuMDMwM0MxNi41NzMyIDkuNzM3NDQgMTYuNTczMiA5LjI2MjU2IDE2LjI4MDMgOC45Njk2N0MxNS45ODc0IDguNjc2NzggMTUuNTEyNiA4LjY3Njc4IDE1LjIxOTcgOC45Njk2N1oiIGZpbGw9IiMwMGFhMDAiLz4KPC9zdmc+Cg==",alt:"Success icon"}),s?.length>0&&a.createElement("img",{className:B.default.errorIcon,src:N,alt:"Error icon"}),a.createElement("div",{className:B.default.title},r),a.createElement("div",{className:B.default.farArea},function(e){return"pending"===e.status?"Running":[`Completed in ${e.durationMilliseconds}ms`,e.errors?.length&&`${e.errors.length} error${e.errors.length>1?"s":""}`,e.warnings?.length&&`${e.warnings.length} warning${e.warnings.length>1?"s":""}`].filter(Boolean).join(", ")}(e))),c&&(A?a.createElement(a.Fragment,null,a.createElement("div",{className:B.default.commands},a.createElement(w.Button,{onClick:()=>{A?i.restartTask.mutate({id:e.id,inputPath:A}):console.error("No input path for task",e)}},"Restart task")),a.createElement("div",{className:B.default.content},a.createElement("div",{className:B.default.title},"Details"),a.createElement("div",{className:B.default.nameValueArea},a.createElement("div",{className:B.default.name},"Input path"),a.createElement("div",{className:B.default.value},a.createElement("button",{className:B.default.linkButton,onClick:()=>u(A)},e.inputPath),a.createElement("button",{className:B.default.linkButton,onClick:()=>{A?i.openCodeEditor.mutate({rootPath:A,relativePath:"package.json"}):console.error("No input path for task",e)}},"(Package.json)"))),d&&a.createElement("div",{className:B.default.nameValueArea},a.createElement("div",{className:B.default.name},"Output path"),a.createElement("button",{className:B.default.linkButton,onClick:()=>u(d)},d)),s?.length>0&&a.createElement(a.Fragment,null,a.createElement("div",{className:B.default.title},"Errors"),a.createElement("div",{className:B.default.resultItems},s.map(((e,n)=>a.createElement(h,{key:n,item:e,projectPath:A,index:n+1}))))),o?.length>0&&a.createElement(a.Fragment,null,a.createElement("div",{className:B.default.title},"Warnings"),a.createElement("div",{className:B.default.resultItems},o.map(((e,n)=>a.createElement(h,{key:n,item:e,projectPath:A,index:n+1}))))))):a.createElement("div",{className:B.default.content},"No input path found for task. This is a Cloudpack bug. Please report it.")))};function v(e){const{errors:n=[],warnings:t=[]}=e;return M()(B.default.header,{[B.default.success]:0===n?.length&&0===t?.length,[B.default.warning]:0===n?.length&&t?.length>0,[B.default.error]:n?.length>0})}var D=t(56),y=t(816);const j=({searchFilter:e,issuesOnly:n})=>{let t=((()=>{const e=(0,l.useCloudpack)(),[n,t]=(0,a.useState)({tasks:[]});return(0,a.useEffect)((()=>{const n=e?.onDataChanged.subscribe(D.taskListSource,{onData:e=>{t(e)}});return()=>{n.unsubscribe()}}),[e]),n})().tasks||[]).sort(T);return e&&(e=e.toLowerCase(),t=t.filter((({name:n})=>e&&n?.toLowerCase().includes(e)))),n&&(t=t.filter((({errors:e,warnings:n})=>e?.length||n?.length))),a.createElement("div",{className:y.default.root},t.map((e=>a.createElement(I,{key:e.name,task:e}))))};function T(e,n){const t="pending"===e.status?1:0,a="pending"===n.status?1:0;if(t!==a)return t>a?-1:1;const l=e.errors?.length||0,r=n.errors?.length||0;return l!==r?l>r?-1:1:void 0===e.name&&void 0===n.name?e.id<n.id?-1:1:void 0===e.name?1:void 0===n.name||e.name<n.name?-1:1}var z=t(863),S=t(533),O={};O.styleTagTransform=p(),O.setAttributes=u(),O.insert=A().bind(null,"head"),O.domAPI=i(),O.insertStyleElement=g(),o()(S.default,O);const L=S.default&&S.default.locals?S.default.locals:void 0,P=({value:e,onChange:n})=>a.createElement(a.Fragment,null,"string"==typeof e&&a.createElement("input",{type:"text",placeholder:"Search",className:L.searchbox,onChange:n,value:e}));var Y=t(116);const Q=({onClose:e})=>{const n=(0,l.useCloudpack)(),[t,r]=a.useState(""),[o,s]=a.useState(!1),i=(0,a.useCallback)((e=>{e.preventDefault(),r(e.target.value)}),[]);return a.createElement(z.Dialog,{title:"Task results",id:Y.elementIds.statusDialogRoot,draggable:!0,onClose:e,commands:[a.createElement(w.Button,{primary:!0,onClick:()=>{n.restartAllTasks.mutate()},key:"restart"},"Restart all tasks"),a.createElement(w.Button,{onClick:()=>{s((e=>!e))},key:"issues"},o?"Show all tasks":"Show tasks with issues")]},a.createElement(P,{value:t,onChange:i}),a.createElement(j,{searchFilter:t,issuesOnly:o}))},U=Q},533:(e,n,t)=>{t.d(n,{default:()=>s});var a=t(25),l=t.n(a),r=t(191),o=t.n(r)()(l());o.push([e.id,".VVonEYuUEQsjEgbwvMfP {\n position: absolute;\n font-size: 14px;\n font-weight: 400;\n box-shadow: none;\n padding: 0px 4px;\n box-sizing: border-box;\n color: rgb(50, 49, 48);\n background-color: rgb(255, 255, 255);\n display: flex;\n flex-flow: row nowrap;\n align-items: stretch;\n border-radius: 2px;\n border: 1px solid rgb(96, 94, 92);\n height: 32px;\n min-width: 160px;\n top: 52px;\n right: 20px;\n}\n","",{version:3,sources:["webpack://./src/components/StatusDialog/Searchbox.module.css"],names:[],mappings:"AAAA;EACE,kBAAkB;EAClB,eAAe;EACf,gBAAgB;EAChB,gBAAgB;EAChB,gBAAgB;EAChB,sBAAsB;EACtB,sBAAsB;EACtB,oCAAoC;EACpC,aAAa;EACb,qBAAqB;EACrB,oBAAoB;EACpB,kBAAkB;EAClB,iCAAiC;EACjC,YAAY;EACZ,gBAAgB;EAChB,SAAS;EACT,WAAW;AACb",sourcesContent:[".searchbox {\n position: absolute;\n font-size: 14px;\n font-weight: 400;\n box-shadow: none;\n padding: 0px 4px;\n box-sizing: border-box;\n color: rgb(50, 49, 48);\n background-color: rgb(255, 255, 255);\n display: flex;\n flex-flow: row nowrap;\n align-items: stretch;\n border-radius: 2px;\n border: 1px solid rgb(96, 94, 92);\n height: 32px;\n min-width: 160px;\n top: 52px;\n right: 20px;\n}\n"],sourceRoot:""}]),o.locals={searchbox:"VVonEYuUEQsjEgbwvMfP"};const s=o}};
|
|
1
|
+
export const __webpack_id__=119;export const __webpack_ids__=[119];export const __webpack_modules__={181:(e,n,t)=>{t.d(n,{default:()=>s});var a=t(25),l=t.n(a),r=t(191),o=t.n(r)()(l());o.push([e.id,".Rl6XMfFcB4M4Sp5RJbh8 {\n display: flex;\n background: #f5f5f5;\n}\n\n.RsdQpgzZbI9fI4mSfjJX {\n flex-shrink: 0;\n border-radius: 4px;\n width: 4px;\n background: #aa0000;\n box-shadow: 2px 0 4px 0 rgb(220 0 0 / 20%);\n}\n\n.oaWQstIJN1TotKTOLcwX {\n padding: 8px;\n display: flex;\n flex-grow: 1;\n overflow: hidden;\n flex-direction: column;\n}\n\n.NUKs26I_j0KAivvaQbz4 {\n display: flex;\n align-items: center;\n flex-direction: row;\n gap: 4px;\n padding: 4px 0;\n}\n\n.THOyqwrKlLrhlMXnDBZq {\n display: inline-flex;\n margin: 0;\n padding: 0;\n border: none;\n background: inherit;\n font-family: inherit;\n flex-grow: 1;\n font-weight: 500;\n font-size: 14px;\n flex-shrink: 0;\n text-decoration: none;\n color: #000;\n cursor: pointer;\n}\n\n.THOyqwrKlLrhlMXnDBZq:hover {\n text-decoration: underline;\n}\n\n.hd6lf7eoPHUFINDCC0u5 {\n display: flex;\n flex-direction: row;\n gap: 8px;\n flex-shrink: 0;\n}\n\n.qXRXiNO7j_FMkOf4b1Hi {\n word-wrap: break-word;\n color: #333;\n}\n","",{version:3,sources:["webpack://./src/components/StatusDialog/TaskResultItem.module.css"],names:[],mappings:"AAAA;EACE,aAAa;EACb,mBAAmB;AACrB;;AAEA;EACE,cAAc;EACd,kBAAkB;EAClB,UAAU;EACV,mBAAmB;EACnB,0CAA0C;AAC5C;;AAEA;EACE,YAAY;EACZ,aAAa;EACb,YAAY;EACZ,gBAAgB;EAChB,sBAAsB;AACxB;;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,mBAAmB;EACnB,QAAQ;EACR,cAAc;AAChB;;AAEA;EACE,oBAAoB;EACpB,SAAS;EACT,UAAU;EACV,YAAY;EACZ,mBAAmB;EACnB,oBAAoB;EACpB,YAAY;EACZ,gBAAgB;EAChB,eAAe;EACf,cAAc;EACd,qBAAqB;EACrB,WAAW;EACX,eAAe;AACjB;;AAEA;EACE,0BAA0B;AAC5B;;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,QAAQ;EACR,cAAc;AAChB;;AAEA;EACE,qBAAqB;EACrB,WAAW;AACb",sourcesContent:[".root {\n display: flex;\n background: #f5f5f5;\n}\n\n.statusBar {\n flex-shrink: 0;\n border-radius: 4px;\n width: 4px;\n background: #aa0000;\n box-shadow: 2px 0 4px 0 rgb(220 0 0 / 20%);\n}\n\n.content {\n padding: 8px;\n display: flex;\n flex-grow: 1;\n overflow: hidden;\n flex-direction: column;\n}\n\n.titleArea {\n display: flex;\n align-items: center;\n flex-direction: row;\n gap: 4px;\n padding: 4px 0;\n}\n\n.file {\n display: inline-flex;\n margin: 0;\n padding: 0;\n border: none;\n background: inherit;\n font-family: inherit;\n flex-grow: 1;\n font-weight: 500;\n font-size: 14px;\n flex-shrink: 0;\n text-decoration: none;\n color: #000;\n cursor: pointer;\n}\n\n.file:hover {\n text-decoration: underline;\n}\n\n.actionArea {\n display: flex;\n flex-direction: row;\n gap: 8px;\n flex-shrink: 0;\n}\n\n.text {\n word-wrap: break-word;\n color: #333;\n}\n"],sourceRoot:""}]),o.locals={root:"Rl6XMfFcB4M4Sp5RJbh8",statusBar:"RsdQpgzZbI9fI4mSfjJX",content:"oaWQstIJN1TotKTOLcwX",titleArea:"NUKs26I_j0KAivvaQbz4",file:"THOyqwrKlLrhlMXnDBZq",actionArea:"hd6lf7eoPHUFINDCC0u5",text:"qXRXiNO7j_FMkOf4b1Hi"};const s=o},500:(e,n,t)=>{t.r(n),t.d(n,{StatusDialog:()=>Q,default:()=>U});var a=t(788),l=t(15),r=t(286),o=t.n(r),s=t(823),i=t.n(s),c=t(509),A=t.n(c),d=t(214),u=t.n(d),m=t(586),g=t.n(m),E=t(703),p=t.n(E),f=t(181),C={};C.styleTagTransform=p(),C.setAttributes=u(),C.insert=A().bind(null,"head"),C.domAPI=i(),C.insertStyleElement=g(),o()(f.default,C);const x=f.default&&f.default.locals?f.default.locals:void 0,h=({item:e,projectPath:n,index:t})=>{const r=(0,l.useCloudpack)(),o=[e.location?.file||"(path unavailable)",e.location?.line,e.location?.column].filter(Boolean).join(":");return a.createElement("div",{className:x.root},a.createElement("div",{className:x.statusBar}),a.createElement("div",{className:x.content},a.createElement("div",{className:x.titleArea},a.createElement("button",{onClick:t=>{e.location&&(r.openCodeEditor.mutate({rootPath:n,relativePath:e.location?.file,line:e.location?.line,column:e.location?.column}),t.preventDefault())},className:x.file},t,". ",o)),a.createElement("div",{className:x.text},"[",e.source,"] ",e.text),a.createElement("pre",{className:x.text},JSON.stringify(e,null,2))))};var B=t(54),b=t(104),M=t.n(b),N=t(844),k=t(791),w=t(545);const I=({task:e})=>{const[n,t]=a.useState(void 0),{name:r,warnings:o=[],errors:s=[]}=e,i=(0,l.useCloudpack)(),c=!0===n||void 0===n&&s?.length>0,{inputPath:A,outputPath:d}=e,u=e=>{i.openFilePath.mutate({rootPath:e})};return a.createElement("div",{className:B.default.root},a.createElement("div",{className:v(e)},a.createElement("button",{className:B.default.expandButton,onClick:()=>t(!c),"aria-label":c?`Minimize ${r}`:`Expand ${r}`},a.createElement("img",{className:M()(B.default.expandIcon,!c&&B.default.collapsed),src:k,alt:"Chevron down icon"})),0===s?.length&&0===o?.length&&a.createElement("img",{className:B.default.errorIcon,src:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEyIDJDMTcuNTIyOCAyIDIyIDYuNDc3MTUgMjIgMTJDMjIgMTcuNTIyOCAxNy41MjI4IDIyIDEyIDIyQzYuNDc3MTUgMjIgMiAxNy41MjI4IDIgMTJDMiA2LjQ3NzE1IDYuNDc3MTUgMiAxMiAyWk0xNS4yMTk3IDguOTY5NjdMMTAuNzUgMTMuNDM5M0w4Ljc4MDMzIDExLjQ2OTdDOC40ODc0NCAxMS4xNzY4IDguMDEyNTYgMTEuMTc2OCA3LjcxOTY3IDExLjQ2OTdDNy40MjY3OCAxMS43NjI2IDcuNDI2NzggMTIuMjM3NCA3LjcxOTY3IDEyLjUzMDNMMTAuMjE5NyAxNS4wMzAzQzEwLjUxMjYgMTUuMzIzMiAxMC45ODc0IDE1LjMyMzIgMTEuMjgwMyAxNS4wMzAzTDE2LjI4MDMgMTAuMDMwM0MxNi41NzMyIDkuNzM3NDQgMTYuNTczMiA5LjI2MjU2IDE2LjI4MDMgOC45Njk2N0MxNS45ODc0IDguNjc2NzggMTUuNTEyNiA4LjY3Njc4IDE1LjIxOTcgOC45Njk2N1oiIGZpbGw9IiMwMGFhMDAiLz4KPC9zdmc+Cg==",alt:"Success icon"}),s?.length>0&&a.createElement("img",{className:B.default.errorIcon,src:N,alt:"Error icon"}),a.createElement("div",{className:B.default.title},r),a.createElement("div",{className:B.default.farArea},function(e){return"pending"===e.status?"Running":[`Completed in ${e.durationMilliseconds}ms`,e.errors?.length&&`${e.errors.length} error${e.errors.length>1?"s":""}`,e.warnings?.length&&`${e.warnings.length} warning${e.warnings.length>1?"s":""}`].filter(Boolean).join(", ")}(e))),c&&(A?a.createElement(a.Fragment,null,a.createElement("div",{className:B.default.commands},a.createElement(w.Button,{onClick:()=>{A?i.restartTask.mutate({id:e.id,inputPath:A}):console.error("No input path for task",e)}},"Restart task")),a.createElement("div",{className:B.default.content},a.createElement("div",{className:B.default.title},"Details"),a.createElement("div",{className:B.default.nameValueArea},a.createElement("div",{className:B.default.name},"Input path"),a.createElement("div",{className:B.default.value},a.createElement("button",{className:B.default.linkButton,onClick:()=>u(A)},e.inputPath),a.createElement("button",{className:B.default.linkButton,onClick:()=>{A?i.openCodeEditor.mutate({rootPath:A,relativePath:"package.json"}):console.error("No input path for task",e)}},"(Package.json)"))),d&&a.createElement("div",{className:B.default.nameValueArea},a.createElement("div",{className:B.default.name},"Output path"),a.createElement("button",{className:B.default.linkButton,onClick:()=>u(d)},d)),s?.length>0&&a.createElement(a.Fragment,null,a.createElement("div",{className:B.default.title},"Errors"),a.createElement("div",{className:B.default.resultItems},s.map(((e,n)=>a.createElement(h,{key:n,item:e,projectPath:A,index:n+1}))))),o?.length>0&&a.createElement(a.Fragment,null,a.createElement("div",{className:B.default.title},"Warnings"),a.createElement("div",{className:B.default.resultItems},o.map(((e,n)=>a.createElement(h,{key:n,item:e,projectPath:A,index:n+1}))))))):a.createElement("div",{className:B.default.content},"No input path found for task. This is a Cloudpack bug. Please report it.")))};function v(e){const{errors:n=[],warnings:t=[]}=e;return M()(B.default.header,{[B.default.success]:0===n?.length&&0===t?.length,[B.default.warning]:0===n?.length&&t?.length>0,[B.default.error]:n?.length>0})}var D=t(194),y=t(816);const j=({searchFilter:e,issuesOnly:n})=>{let t=((()=>{const e=(0,l.useCloudpack)(),[n,t]=(0,a.useState)({tasks:[]});return(0,a.useEffect)((()=>{const n=e?.onDataChanged.subscribe(D.taskListSource,{onData:e=>{t(e)}});return()=>{n.unsubscribe()}}),[e]),n})().tasks||[]).sort(T);return e&&(e=e.toLowerCase(),t=t.filter((({name:n})=>e&&n?.toLowerCase().includes(e)))),n&&(t=t.filter((({errors:e,warnings:n})=>e?.length||n?.length))),a.createElement("div",{className:y.default.root},t.map((e=>a.createElement(I,{key:e.name,task:e}))))};function T(e,n){const t="pending"===e.status?1:0,a="pending"===n.status?1:0;if(t!==a)return t>a?-1:1;const l=e.errors?.length||0,r=n.errors?.length||0;return l!==r?l>r?-1:1:void 0===e.name&&void 0===n.name?e.id<n.id?-1:1:void 0===e.name?1:void 0===n.name||e.name<n.name?-1:1}var z=t(863),S=t(533),O={};O.styleTagTransform=p(),O.setAttributes=u(),O.insert=A().bind(null,"head"),O.domAPI=i(),O.insertStyleElement=g(),o()(S.default,O);const L=S.default&&S.default.locals?S.default.locals:void 0,P=({value:e,onChange:n})=>a.createElement(a.Fragment,null,"string"==typeof e&&a.createElement("input",{type:"text",placeholder:"Search",className:L.searchbox,onChange:n,value:e}));var Y=t(116);const Q=({onClose:e})=>{const n=(0,l.useCloudpack)(),[t,r]=a.useState(""),[o,s]=a.useState(!1),i=(0,a.useCallback)((e=>{e.preventDefault(),r(e.target.value)}),[]);return a.createElement(z.Dialog,{title:"Task results",id:Y.elementIds.statusDialogRoot,draggable:!0,onClose:e,commands:[a.createElement(w.Button,{primary:!0,onClick:()=>{n.restartAllTasks.mutate()},key:"restart"},"Restart all tasks"),a.createElement(w.Button,{onClick:()=>{s((e=>!e))},key:"issues"},o?"Show all tasks":"Show tasks with issues")]},a.createElement(P,{value:t,onChange:i}),a.createElement(j,{searchFilter:t,issuesOnly:o}))},U=Q},533:(e,n,t)=>{t.d(n,{default:()=>s});var a=t(25),l=t.n(a),r=t(191),o=t.n(r)()(l());o.push([e.id,".VVonEYuUEQsjEgbwvMfP {\n position: absolute;\n font-size: 14px;\n font-weight: 400;\n box-shadow: none;\n padding: 0px 4px;\n box-sizing: border-box;\n color: rgb(50, 49, 48);\n background-color: rgb(255, 255, 255);\n display: flex;\n flex-flow: row nowrap;\n align-items: stretch;\n border-radius: 2px;\n border: 1px solid rgb(96, 94, 92);\n height: 32px;\n min-width: 160px;\n top: 52px;\n right: 20px;\n}\n","",{version:3,sources:["webpack://./src/components/StatusDialog/Searchbox.module.css"],names:[],mappings:"AAAA;EACE,kBAAkB;EAClB,eAAe;EACf,gBAAgB;EAChB,gBAAgB;EAChB,gBAAgB;EAChB,sBAAsB;EACtB,sBAAsB;EACtB,oCAAoC;EACpC,aAAa;EACb,qBAAqB;EACrB,oBAAoB;EACpB,kBAAkB;EAClB,iCAAiC;EACjC,YAAY;EACZ,gBAAgB;EAChB,SAAS;EACT,WAAW;AACb",sourcesContent:[".searchbox {\n position: absolute;\n font-size: 14px;\n font-weight: 400;\n box-shadow: none;\n padding: 0px 4px;\n box-sizing: border-box;\n color: rgb(50, 49, 48);\n background-color: rgb(255, 255, 255);\n display: flex;\n flex-flow: row nowrap;\n align-items: stretch;\n border-radius: 2px;\n border: 1px solid rgb(96, 94, 92);\n height: 32px;\n min-width: 160px;\n top: 52px;\n right: 20px;\n}\n"],sourceRoot:""}]),o.locals={searchbox:"VVonEYuUEQsjEgbwvMfP"};const s=o}};
|
|
2
2
|
//# sourceMappingURL=119.chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"119.chunk.js","mappings":"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","sources":["webpack://@ms-cloudpack/overlay/./src/components/StatusDialog/TaskResultItem.module.css","webpack://@ms-cloudpack/overlay/./src/components/StatusDialog/TaskResultItem.module.css?62d2","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?81b7","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/Searchbox.module.css"],"sourcesContent":["// 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: #f5f5f5;\n}\n\n.RsdQpgzZbI9fI4mSfjJX {\n flex-shrink: 0;\n border-radius: 4px;\n width: 4px;\n background: #aa0000;\n box-shadow: 2px 0 4px 0 rgb(220 0 0 / 20%);\n}\n\n.oaWQstIJN1TotKTOLcwX {\n padding: 8px;\n display: flex;\n flex-grow: 1;\n overflow: hidden;\n flex-direction: column;\n}\n\n.NUKs26I_j0KAivvaQbz4 {\n display: flex;\n align-items: center;\n flex-direction: row;\n gap: 4px;\n padding: 4px 0;\n}\n\n.THOyqwrKlLrhlMXnDBZq {\n display: inline-flex;\n margin: 0;\n padding: 0;\n border: none;\n background: inherit;\n font-family: inherit;\n flex-grow: 1;\n font-weight: 500;\n font-size: 14px;\n flex-shrink: 0;\n text-decoration: none;\n color: #000;\n cursor: pointer;\n}\n\n.THOyqwrKlLrhlMXnDBZq:hover {\n text-decoration: underline;\n}\n\n.hd6lf7eoPHUFINDCC0u5 {\n display: flex;\n flex-direction: row;\n gap: 8px;\n flex-shrink: 0;\n}\n\n.qXRXiNO7j_FMkOf4b1Hi {\n word-wrap: break-word;\n color: #333;\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/StatusDialog/TaskResultItem.module.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,aAAa;EACb,mBAAmB;AACrB;;AAEA;EACE,cAAc;EACd,kBAAkB;EAClB,UAAU;EACV,mBAAmB;EACnB,0CAA0C;AAC5C;;AAEA;EACE,YAAY;EACZ,aAAa;EACb,YAAY;EACZ,gBAAgB;EAChB,sBAAsB;AACxB;;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,mBAAmB;EACnB,QAAQ;EACR,cAAc;AAChB;;AAEA;EACE,oBAAoB;EACpB,SAAS;EACT,UAAU;EACV,YAAY;EACZ,mBAAmB;EACnB,oBAAoB;EACpB,YAAY;EACZ,gBAAgB;EAChB,eAAe;EACf,cAAc;EACd,qBAAqB;EACrB,WAAW;EACX,eAAe;AACjB;;AAEA;EACE,0BAA0B;AAC5B;;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,QAAQ;EACR,cAAc;AAChB;;AAEA;EACE,qBAAqB;EACrB,WAAW;AACb\",\"sourcesContent\":[\".root {\\n display: flex;\\n background: #f5f5f5;\\n}\\n\\n.statusBar {\\n flex-shrink: 0;\\n border-radius: 4px;\\n width: 4px;\\n background: #aa0000;\\n box-shadow: 2px 0 4px 0 rgb(220 0 0 / 20%);\\n}\\n\\n.content {\\n padding: 8px;\\n display: flex;\\n flex-grow: 1;\\n overflow: hidden;\\n flex-direction: column;\\n}\\n\\n.titleArea {\\n display: flex;\\n align-items: center;\\n flex-direction: row;\\n gap: 4px;\\n padding: 4px 0;\\n}\\n\\n.file {\\n display: inline-flex;\\n margin: 0;\\n padding: 0;\\n border: none;\\n background: inherit;\\n font-family: inherit;\\n flex-grow: 1;\\n font-weight: 500;\\n font-size: 14px;\\n flex-shrink: 0;\\n text-decoration: none;\\n color: #000;\\n cursor: pointer;\\n}\\n\\n.file:hover {\\n text-decoration: underline;\\n}\\n\\n.actionArea {\\n display: flex;\\n flex-direction: row;\\n gap: 8px;\\n flex-shrink: 0;\\n}\\n\\n.text {\\n word-wrap: break-word;\\n color: #333;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"root\": `Rl6XMfFcB4M4Sp5RJbh8`,\n\t\"statusBar\": `RsdQpgzZbI9fI4mSfjJX`,\n\t\"content\": `oaWQstIJN1TotKTOLcwX`,\n\t\"titleArea\": `NUKs26I_j0KAivvaQbz4`,\n\t\"file\": `THOyqwrKlLrhlMXnDBZq`,\n\t\"actionArea\": `hd6lf7eoPHUFINDCC0u5`,\n\t\"text\": `qXRXiNO7j_FMkOf4b1Hi`\n};\nexport default ___CSS_LOADER_EXPORT___;\n","\n import API from \"!../../../../../node_modules/.store/style-loader-virtual-0a6ea2e487/package/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/.store/style-loader-virtual-0a6ea2e487/package/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/.store/style-loader-virtual-0a6ea2e487/package/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/.store/style-loader-virtual-0a6ea2e487/package/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/.store/style-loader-virtual-0a6ea2e487/package/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/.store/style-loader-virtual-0a6ea2e487/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;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/.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 } from '@ms-cloudpack/common-types';\nimport React from 'react';\nimport { useCloudpack } from '../CloudpackProvider/CloudpackProvider.js';\nimport styles from './TaskResultItem.module.css';\n\nexport interface TaskResultItemProps {\n item: BundleMessage;\n projectPath: string;\n index: number;\n}\n\nexport const TaskResultItem: React.FC<TaskResultItemProps> = ({ item, projectPath, index }) => {\n const cloudpack = useCloudpack();\n\n const openSource = (ev: React.MouseEvent): void => {\n if (item.location) {\n void cloudpack.openCodeEditor.mutate({\n rootPath: projectPath,\n relativePath: item.location?.file,\n line: item.location?.line,\n column: item.location?.column,\n });\n ev.preventDefault();\n }\n };\n\n const location = [item.location?.file || '(path unavailable)', item.location?.line, item.location?.column]\n .filter(Boolean)\n .join(':');\n\n return (\n <div className={styles.root}>\n <div className={styles.statusBar}></div>\n <div className={styles.content}>\n <div className={styles.titleArea}>\n <button onClick={openSource} className={styles.file}>\n {index}. {location}\n </button>\n </div>\n <div className={styles.text}>\n [{item.source}] {item.text}\n </div>\n <pre className={styles.text}>{JSON.stringify(item, null, 2)}</pre>\n </div>\n </div>\n );\n};\n","import React from 'react';\nimport type { TaskDescription } from '@ms-cloudpack/api-server/browser';\nimport { TaskResultItem } from './TaskResultItem.js';\nimport styles from './TaskStatus.module.css';\nimport { default as cx } from 'classnames';\nimport ErrorIcon from '../../images/error-24.inline.svg';\nimport SuccessIcon from '../../images/success-24.inline.svg';\nimport ChevronDownIcon from '../../images/chevrondown-20.inline.svg';\nimport { useCloudpack } from '../CloudpackProvider/CloudpackProvider.js';\nimport { Button } from '../Button/Button.js';\n\nexport interface TaskStatusProps {\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\nexport const TaskStatus: React.FC<TaskStatusProps> = ({ task }) => {\n const [isOpen, setIsOpen] = React.useState<boolean | undefined>(undefined);\n const { name, warnings = [], errors = [] } = task;\n const cloudpack = useCloudpack();\n const showContent = isOpen === true || (isOpen === undefined && errors?.length > 0);\n\n const { inputPath, outputPath } = task;\n\n const open = (rootPath: string) => void cloudpack.openFilePath.mutate({ rootPath });\n\n const openPackage = (): void => {\n if (!inputPath) {\n console.error('No input path for task', task);\n return;\n }\n void cloudpack.openCodeEditor.mutate({\n rootPath: inputPath,\n relativePath: 'package.json',\n });\n };\n\n const restartTask = (): void => {\n if (!inputPath) {\n console.error('No input path for task', task);\n return;\n }\n void cloudpack.restartTask.mutate({ id: task.id, inputPath });\n };\n\n return (\n <div className={styles.root}>\n <div className={getHeaderClassName(task)}>\n <button\n className={styles.expandButton}\n onClick={() => setIsOpen(!showContent)}\n aria-label={showContent ? `Minimize ${name}` : `Expand ${name}`}\n >\n <img\n className={cx(styles.expandIcon, !showContent && styles.collapsed)}\n src={ChevronDownIcon}\n alt=\"Chevron down icon\"\n />\n </button>\n {errors?.length === 0 && warnings?.length === 0 && (\n <img className={styles.errorIcon} src={SuccessIcon} alt=\"Success icon\" />\n )}\n {errors?.length > 0 && <img className={styles.errorIcon} src={ErrorIcon} alt=\"Error icon\" />}\n <div className={styles.title}>{name}</div>\n <div className={styles.farArea}>{getCompletion(task)}</div>\n </div>\n {showContent &&\n (inputPath ? (\n <>\n <div className={styles.commands}>\n <Button onClick={restartTask}>Restart task</Button>\n </div>\n <div className={styles.content}>\n <div className={styles.title}>Details</div>\n <div className={styles.nameValueArea}>\n <div className={styles.name}>Input path</div>\n <div className={styles.value}>\n <button className={styles.linkButton} onClick={() => open(inputPath)}>\n {task.inputPath}\n </button>\n\n <button className={styles.linkButton} onClick={openPackage}>\n (Package.json)\n </button>\n </div>\n </div>\n {outputPath && (\n <div className={styles.nameValueArea}>\n <div className={styles.name}>Output path</div>\n <button className={styles.linkButton} onClick={() => open(outputPath)}>\n {outputPath}\n </button>\n </div>\n )}\n {errors?.length > 0 && (\n <>\n <div className={styles.title}>Errors</div>\n <div className={styles.resultItems}>\n {errors.map((error, index) => (\n <TaskResultItem key={index} item={error} projectPath={inputPath} index={index + 1} />\n ))}\n </div>\n </>\n )}\n {warnings?.length > 0 && (\n <>\n <div className={styles.title}>Warnings</div>\n <div className={styles.resultItems}>\n {warnings.map((warning, index) => (\n <TaskResultItem key={index} item={warning} projectPath={inputPath} index={index + 1} />\n ))}\n </div>\n </>\n )}\n </div>\n </>\n ) : (\n <div className={styles.content}>No input path found for task. This is a Cloudpack bug. Please report it.</div>\n ))}\n </div>\n );\n};\n\nfunction getHeaderClassName(task: TaskDescription): string {\n const { errors = [], warnings = [] } = task;\n return cx(styles.header, {\n [styles.success]: errors?.length === 0 && warnings?.length === 0,\n [styles.warning]: errors?.length === 0 && warnings?.length > 0,\n [styles.error]: errors?.length > 0,\n });\n}\n","import React from 'react';\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: React.FC<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 className={styles.root}>\n {filteredTasks.map((task) => (\n <TaskStatus key={task.name} 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 'react';\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-0a6ea2e487/package/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/.store/style-loader-virtual-0a6ea2e487/package/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/.store/style-loader-virtual-0a6ea2e487/package/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/.store/style-loader-virtual-0a6ea2e487/package/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/.store/style-loader-virtual-0a6ea2e487/package/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/.store/style-loader-virtual-0a6ea2e487/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;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/.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 React from 'react';\nimport styles from './Searchbox.module.css';\n\nexport interface SearchboxProps {\n value: string;\n onChange: (event: React.ChangeEvent<HTMLInputElement>) => void;\n}\n\nexport const Searchbox: React.FC<SearchboxProps> = ({ value, onChange }: SearchboxProps) => {\n return (\n <>\n {typeof value === 'string' && (\n <input type=\"text\" placeholder=\"Search\" className={styles.searchbox} onChange={onChange} value={value} />\n )}\n </>\n );\n};\n","import React, { useCallback } from 'react';\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 } from './Searchbox.js';\nimport { elementIds } from '../../constants.js';\n\nexport interface StatusDialogProps {\n onClose: () => void;\n}\n\nexport const StatusDialog: React.FC<StatusDialogProps> = ({ onClose }) => {\n const cloudpack = useCloudpack();\n const [searchFilter, setSearchFilter] = React.useState('');\n const [issuesOnly, setIssuesOnly] = React.useState(false);\n\n const handleSearchChange = useCallback((event: React.ChangeEvent<HTMLInputElement>) => {\n event.preventDefault();\n setSearchFilter(event.target.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=\"Task results\"\n id={elementIds.statusDialogRoot}\n draggable\n onClose={onClose}\n commands={[\n <Button primary onClick={restartAllTasks} key=\"restart\">\n Restart all tasks\n </Button>,\n <Button onClick={toggleIssuesOnly} key=\"issues\">\n {issuesOnly ? 'Show all tasks' : 'Show tasks with issues'}\n </Button>,\n ]}\n >\n <Searchbox value={searchFilter} onChange={handleSearchChange} />\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, `.VVonEYuUEQsjEgbwvMfP {\n position: absolute;\n font-size: 14px;\n font-weight: 400;\n box-shadow: none;\n padding: 0px 4px;\n box-sizing: border-box;\n color: rgb(50, 49, 48);\n background-color: rgb(255, 255, 255);\n display: flex;\n flex-flow: row nowrap;\n align-items: stretch;\n border-radius: 2px;\n border: 1px solid rgb(96, 94, 92);\n height: 32px;\n min-width: 160px;\n top: 52px;\n right: 20px;\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/StatusDialog/Searchbox.module.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,kBAAkB;EAClB,eAAe;EACf,gBAAgB;EAChB,gBAAgB;EAChB,gBAAgB;EAChB,sBAAsB;EACtB,sBAAsB;EACtB,oCAAoC;EACpC,aAAa;EACb,qBAAqB;EACrB,oBAAoB;EACpB,kBAAkB;EAClB,iCAAiC;EACjC,YAAY;EACZ,gBAAgB;EAChB,SAAS;EACT,WAAW;AACb\",\"sourcesContent\":[\".searchbox {\\n position: absolute;\\n font-size: 14px;\\n font-weight: 400;\\n box-shadow: none;\\n padding: 0px 4px;\\n box-sizing: border-box;\\n color: rgb(50, 49, 48);\\n background-color: rgb(255, 255, 255);\\n display: flex;\\n flex-flow: row nowrap;\\n align-items: stretch;\\n border-radius: 2px;\\n border: 1px solid rgb(96, 94, 92);\\n height: 32px;\\n min-width: 160px;\\n top: 52px;\\n right: 20px;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"searchbox\": `VVonEYuUEQsjEgbwvMfP`\n};\nexport default ___CSS_LOADER_EXPORT___;\n"],"names":["___CSS_LOADER_EXPORT___","push","module","id","locals","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","undefined","TaskResultItem","item","projectPath","index","cloudpack","useCloudpack","location","file","line","column","filter","Boolean","join","div","className","styles","root","statusBar","content","titleArea","button","onClick","ev","openCodeEditor","mutate","rootPath","relativePath","preventDefault","text","source","pre","JSON","stringify","TaskStatus","task","isOpen","setIsOpen","React","name","warnings","errors","showContent","length","inputPath","outputPath","open","openFilePath","getHeaderClassName","expandButton","aria-label","img","cx","expandIcon","collapsed","src","ChevronDownIcon","alt","errorIcon","ErrorIcon","title","farArea","status","durationMilliseconds","getCompletion","commands","Button","restartTask","console","error","nameValueArea","value","linkButton","resultItems","map","key","warning","header","success","TaskList","searchFilter","issuesOnly","filteredTasks","details","setDetails","useState","tasks","useEffect","subscription","onDataChanged","subscribe","taskListSource","onData","data","unsubscribe","useStatusDetails","sort","sortTasks","toLowerCase","includes","a","b","aStatus","bStatus","aErrors","bErrors","Searchbox","onChange","input","type","placeholder","searchbox","StatusDialog","onClose","setSearchFilter","setIssuesOnly","handleSearchChange","useCallback","event","target","Dialog","elementIds","statusDialogRoot","draggable","primary","restartAllTasks"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"119.chunk.js","mappings":"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","sources":["webpack://@ms-cloudpack/overlay/./src/components/StatusDialog/TaskResultItem.module.css","webpack://@ms-cloudpack/overlay/./src/components/StatusDialog/TaskResultItem.module.css?62d2","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?81b7","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/Searchbox.module.css"],"sourcesContent":["// 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: #f5f5f5;\n}\n\n.RsdQpgzZbI9fI4mSfjJX {\n flex-shrink: 0;\n border-radius: 4px;\n width: 4px;\n background: #aa0000;\n box-shadow: 2px 0 4px 0 rgb(220 0 0 / 20%);\n}\n\n.oaWQstIJN1TotKTOLcwX {\n padding: 8px;\n display: flex;\n flex-grow: 1;\n overflow: hidden;\n flex-direction: column;\n}\n\n.NUKs26I_j0KAivvaQbz4 {\n display: flex;\n align-items: center;\n flex-direction: row;\n gap: 4px;\n padding: 4px 0;\n}\n\n.THOyqwrKlLrhlMXnDBZq {\n display: inline-flex;\n margin: 0;\n padding: 0;\n border: none;\n background: inherit;\n font-family: inherit;\n flex-grow: 1;\n font-weight: 500;\n font-size: 14px;\n flex-shrink: 0;\n text-decoration: none;\n color: #000;\n cursor: pointer;\n}\n\n.THOyqwrKlLrhlMXnDBZq:hover {\n text-decoration: underline;\n}\n\n.hd6lf7eoPHUFINDCC0u5 {\n display: flex;\n flex-direction: row;\n gap: 8px;\n flex-shrink: 0;\n}\n\n.qXRXiNO7j_FMkOf4b1Hi {\n word-wrap: break-word;\n color: #333;\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/StatusDialog/TaskResultItem.module.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,aAAa;EACb,mBAAmB;AACrB;;AAEA;EACE,cAAc;EACd,kBAAkB;EAClB,UAAU;EACV,mBAAmB;EACnB,0CAA0C;AAC5C;;AAEA;EACE,YAAY;EACZ,aAAa;EACb,YAAY;EACZ,gBAAgB;EAChB,sBAAsB;AACxB;;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,mBAAmB;EACnB,QAAQ;EACR,cAAc;AAChB;;AAEA;EACE,oBAAoB;EACpB,SAAS;EACT,UAAU;EACV,YAAY;EACZ,mBAAmB;EACnB,oBAAoB;EACpB,YAAY;EACZ,gBAAgB;EAChB,eAAe;EACf,cAAc;EACd,qBAAqB;EACrB,WAAW;EACX,eAAe;AACjB;;AAEA;EACE,0BAA0B;AAC5B;;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,QAAQ;EACR,cAAc;AAChB;;AAEA;EACE,qBAAqB;EACrB,WAAW;AACb\",\"sourcesContent\":[\".root {\\n display: flex;\\n background: #f5f5f5;\\n}\\n\\n.statusBar {\\n flex-shrink: 0;\\n border-radius: 4px;\\n width: 4px;\\n background: #aa0000;\\n box-shadow: 2px 0 4px 0 rgb(220 0 0 / 20%);\\n}\\n\\n.content {\\n padding: 8px;\\n display: flex;\\n flex-grow: 1;\\n overflow: hidden;\\n flex-direction: column;\\n}\\n\\n.titleArea {\\n display: flex;\\n align-items: center;\\n flex-direction: row;\\n gap: 4px;\\n padding: 4px 0;\\n}\\n\\n.file {\\n display: inline-flex;\\n margin: 0;\\n padding: 0;\\n border: none;\\n background: inherit;\\n font-family: inherit;\\n flex-grow: 1;\\n font-weight: 500;\\n font-size: 14px;\\n flex-shrink: 0;\\n text-decoration: none;\\n color: #000;\\n cursor: pointer;\\n}\\n\\n.file:hover {\\n text-decoration: underline;\\n}\\n\\n.actionArea {\\n display: flex;\\n flex-direction: row;\\n gap: 8px;\\n flex-shrink: 0;\\n}\\n\\n.text {\\n word-wrap: break-word;\\n color: #333;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"root\": `Rl6XMfFcB4M4Sp5RJbh8`,\n\t\"statusBar\": `RsdQpgzZbI9fI4mSfjJX`,\n\t\"content\": `oaWQstIJN1TotKTOLcwX`,\n\t\"titleArea\": `NUKs26I_j0KAivvaQbz4`,\n\t\"file\": `THOyqwrKlLrhlMXnDBZq`,\n\t\"actionArea\": `hd6lf7eoPHUFINDCC0u5`,\n\t\"text\": `qXRXiNO7j_FMkOf4b1Hi`\n};\nexport default ___CSS_LOADER_EXPORT___;\n","\n import API from \"!../../../../../node_modules/.store/style-loader-virtual-0a6ea2e487/package/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/.store/style-loader-virtual-0a6ea2e487/package/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/.store/style-loader-virtual-0a6ea2e487/package/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/.store/style-loader-virtual-0a6ea2e487/package/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/.store/style-loader-virtual-0a6ea2e487/package/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/.store/style-loader-virtual-0a6ea2e487/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;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/.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 } from '@ms-cloudpack/common-types';\nimport React from 'react';\nimport { useCloudpack } from '../CloudpackProvider/CloudpackProvider.js';\nimport styles from './TaskResultItem.module.css';\n\nexport interface TaskResultItemProps {\n item: BundleMessage;\n projectPath: string;\n index: number;\n}\n\nexport const TaskResultItem: React.FC<TaskResultItemProps> = ({ item, projectPath, index }) => {\n const cloudpack = useCloudpack();\n\n const openSource = (ev: React.MouseEvent): void => {\n if (item.location) {\n void cloudpack.openCodeEditor.mutate({\n rootPath: projectPath,\n relativePath: item.location?.file,\n line: item.location?.line,\n column: item.location?.column,\n });\n ev.preventDefault();\n }\n };\n\n const location = [item.location?.file || '(path unavailable)', item.location?.line, item.location?.column]\n .filter(Boolean)\n .join(':');\n\n return (\n <div className={styles.root}>\n <div className={styles.statusBar}></div>\n <div className={styles.content}>\n <div className={styles.titleArea}>\n <button onClick={openSource} className={styles.file}>\n {index}. {location}\n </button>\n </div>\n <div className={styles.text}>\n [{item.source}] {item.text}\n </div>\n <pre className={styles.text}>{JSON.stringify(item, null, 2)}</pre>\n </div>\n </div>\n );\n};\n","import React from 'react';\nimport type { TaskDescription } from '@ms-cloudpack/api-server/browser';\nimport { TaskResultItem } from './TaskResultItem.js';\nimport styles from './TaskStatus.module.css';\nimport { default as cx } from 'classnames';\nimport ErrorIcon from '../../images/error-24.inline.svg';\nimport SuccessIcon from '../../images/success-24.inline.svg';\nimport ChevronDownIcon from '../../images/chevrondown-20.inline.svg';\nimport { useCloudpack } from '../CloudpackProvider/CloudpackProvider.js';\nimport { Button } from '../Button/Button.js';\n\nexport interface TaskStatusProps {\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\nexport const TaskStatus: React.FC<TaskStatusProps> = ({ task }) => {\n const [isOpen, setIsOpen] = React.useState<boolean | undefined>(undefined);\n const { name, warnings = [], errors = [] } = task;\n const cloudpack = useCloudpack();\n const showContent = isOpen === true || (isOpen === undefined && errors?.length > 0);\n\n const { inputPath, outputPath } = task;\n\n const open = (rootPath: string) => void cloudpack.openFilePath.mutate({ rootPath });\n\n const openPackage = (): void => {\n if (!inputPath) {\n console.error('No input path for task', task);\n return;\n }\n void cloudpack.openCodeEditor.mutate({\n rootPath: inputPath,\n relativePath: 'package.json',\n });\n };\n\n const restartTask = (): void => {\n if (!inputPath) {\n console.error('No input path for task', task);\n return;\n }\n void cloudpack.restartTask.mutate({ id: task.id, inputPath });\n };\n\n return (\n <div className={styles.root}>\n <div className={getHeaderClassName(task)}>\n <button\n className={styles.expandButton}\n onClick={() => setIsOpen(!showContent)}\n aria-label={showContent ? `Minimize ${name}` : `Expand ${name}`}\n >\n <img\n className={cx(styles.expandIcon, !showContent && styles.collapsed)}\n src={ChevronDownIcon}\n alt=\"Chevron down icon\"\n />\n </button>\n {errors?.length === 0 && warnings?.length === 0 && (\n <img className={styles.errorIcon} src={SuccessIcon} alt=\"Success icon\" />\n )}\n {errors?.length > 0 && <img className={styles.errorIcon} src={ErrorIcon} alt=\"Error icon\" />}\n <div className={styles.title}>{name}</div>\n <div className={styles.farArea}>{getCompletion(task)}</div>\n </div>\n {showContent &&\n (inputPath ? (\n <>\n <div className={styles.commands}>\n <Button onClick={restartTask}>Restart task</Button>\n </div>\n <div className={styles.content}>\n <div className={styles.title}>Details</div>\n <div className={styles.nameValueArea}>\n <div className={styles.name}>Input path</div>\n <div className={styles.value}>\n <button className={styles.linkButton} onClick={() => open(inputPath)}>\n {task.inputPath}\n </button>\n\n <button className={styles.linkButton} onClick={openPackage}>\n (Package.json)\n </button>\n </div>\n </div>\n {outputPath && (\n <div className={styles.nameValueArea}>\n <div className={styles.name}>Output path</div>\n <button className={styles.linkButton} onClick={() => open(outputPath)}>\n {outputPath}\n </button>\n </div>\n )}\n {errors?.length > 0 && (\n <>\n <div className={styles.title}>Errors</div>\n <div className={styles.resultItems}>\n {errors.map((error, index) => (\n <TaskResultItem key={index} item={error} projectPath={inputPath} index={index + 1} />\n ))}\n </div>\n </>\n )}\n {warnings?.length > 0 && (\n <>\n <div className={styles.title}>Warnings</div>\n <div className={styles.resultItems}>\n {warnings.map((warning, index) => (\n <TaskResultItem key={index} item={warning} projectPath={inputPath} index={index + 1} />\n ))}\n </div>\n </>\n )}\n </div>\n </>\n ) : (\n <div className={styles.content}>No input path found for task. This is a Cloudpack bug. Please report it.</div>\n ))}\n </div>\n );\n};\n\nfunction getHeaderClassName(task: TaskDescription): string {\n const { errors = [], warnings = [] } = task;\n return cx(styles.header, {\n [styles.success]: errors?.length === 0 && warnings?.length === 0,\n [styles.warning]: errors?.length === 0 && warnings?.length > 0,\n [styles.error]: errors?.length > 0,\n });\n}\n","import React from 'react';\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: React.FC<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 className={styles.root}>\n {filteredTasks.map((task) => (\n <TaskStatus key={task.name} 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 'react';\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-0a6ea2e487/package/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/.store/style-loader-virtual-0a6ea2e487/package/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/.store/style-loader-virtual-0a6ea2e487/package/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/.store/style-loader-virtual-0a6ea2e487/package/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/.store/style-loader-virtual-0a6ea2e487/package/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/.store/style-loader-virtual-0a6ea2e487/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;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/.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 React from 'react';\nimport styles from './Searchbox.module.css';\n\nexport interface SearchboxProps {\n value: string;\n onChange: (event: React.ChangeEvent<HTMLInputElement>) => void;\n}\n\nexport const Searchbox: React.FC<SearchboxProps> = ({ value, onChange }: SearchboxProps) => {\n return (\n <>\n {typeof value === 'string' && (\n <input type=\"text\" placeholder=\"Search\" className={styles.searchbox} onChange={onChange} value={value} />\n )}\n </>\n );\n};\n","import React, { useCallback } from 'react';\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 } from './Searchbox.js';\nimport { elementIds } from '../../constants.js';\n\nexport interface StatusDialogProps {\n onClose: () => void;\n}\n\nexport const StatusDialog: React.FC<StatusDialogProps> = ({ onClose }) => {\n const cloudpack = useCloudpack();\n const [searchFilter, setSearchFilter] = React.useState('');\n const [issuesOnly, setIssuesOnly] = React.useState(false);\n\n const handleSearchChange = useCallback((event: React.ChangeEvent<HTMLInputElement>) => {\n event.preventDefault();\n setSearchFilter(event.target.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=\"Task results\"\n id={elementIds.statusDialogRoot}\n draggable\n onClose={onClose}\n commands={[\n <Button primary onClick={restartAllTasks} key=\"restart\">\n Restart all tasks\n </Button>,\n <Button onClick={toggleIssuesOnly} key=\"issues\">\n {issuesOnly ? 'Show all tasks' : 'Show tasks with issues'}\n </Button>,\n ]}\n >\n <Searchbox value={searchFilter} onChange={handleSearchChange} />\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, `.VVonEYuUEQsjEgbwvMfP {\n position: absolute;\n font-size: 14px;\n font-weight: 400;\n box-shadow: none;\n padding: 0px 4px;\n box-sizing: border-box;\n color: rgb(50, 49, 48);\n background-color: rgb(255, 255, 255);\n display: flex;\n flex-flow: row nowrap;\n align-items: stretch;\n border-radius: 2px;\n border: 1px solid rgb(96, 94, 92);\n height: 32px;\n min-width: 160px;\n top: 52px;\n right: 20px;\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/StatusDialog/Searchbox.module.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,kBAAkB;EAClB,eAAe;EACf,gBAAgB;EAChB,gBAAgB;EAChB,gBAAgB;EAChB,sBAAsB;EACtB,sBAAsB;EACtB,oCAAoC;EACpC,aAAa;EACb,qBAAqB;EACrB,oBAAoB;EACpB,kBAAkB;EAClB,iCAAiC;EACjC,YAAY;EACZ,gBAAgB;EAChB,SAAS;EACT,WAAW;AACb\",\"sourcesContent\":[\".searchbox {\\n position: absolute;\\n font-size: 14px;\\n font-weight: 400;\\n box-shadow: none;\\n padding: 0px 4px;\\n box-sizing: border-box;\\n color: rgb(50, 49, 48);\\n background-color: rgb(255, 255, 255);\\n display: flex;\\n flex-flow: row nowrap;\\n align-items: stretch;\\n border-radius: 2px;\\n border: 1px solid rgb(96, 94, 92);\\n height: 32px;\\n min-width: 160px;\\n top: 52px;\\n right: 20px;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"searchbox\": `VVonEYuUEQsjEgbwvMfP`\n};\nexport default ___CSS_LOADER_EXPORT___;\n"],"names":["___CSS_LOADER_EXPORT___","push","module","id","locals","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","undefined","TaskResultItem","item","projectPath","index","cloudpack","useCloudpack","location","file","line","column","filter","Boolean","join","div","className","styles","root","statusBar","content","titleArea","button","onClick","ev","openCodeEditor","mutate","rootPath","relativePath","preventDefault","text","source","pre","JSON","stringify","TaskStatus","task","isOpen","setIsOpen","React","name","warnings","errors","showContent","length","inputPath","outputPath","open","openFilePath","getHeaderClassName","expandButton","aria-label","img","cx","expandIcon","collapsed","src","ChevronDownIcon","alt","errorIcon","ErrorIcon","title","farArea","status","durationMilliseconds","getCompletion","commands","Button","restartTask","console","error","nameValueArea","value","linkButton","resultItems","map","key","warning","header","success","TaskList","searchFilter","issuesOnly","filteredTasks","details","setDetails","useState","tasks","useEffect","subscription","onDataChanged","subscribe","taskListSource","onData","data","unsubscribe","useStatusDetails","sort","sortTasks","toLowerCase","includes","a","b","aStatus","bStatus","aErrors","bErrors","Searchbox","onChange","input","type","placeholder","searchbox","StatusDialog","onClose","setSearchFilter","setIssuesOnly","handleSearchChange","useCallback","event","target","Dialog","elementIds","statusDialogRoot","draggable","primary","restartAllTasks"],"sourceRoot":""}
|