issue-pane 3.0.1 → 3.0.3-0
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/README.md +18 -1
- package/lib/issue-pane.js +2954 -0
- package/lib/issue-pane.js.map +1 -0
- package/lib/issue-pane.min.js +2 -0
- package/lib/issue-pane.min.js.map +1 -0
- package/lib/src/board.css +42 -0
- package/lib/src/csvButton.css +0 -0
- package/lib/src/errors.css +5 -0
- package/lib/src/issue.css +172 -0
- package/lib/src/issuePane.css +59 -0
- package/lib/src/localUtils.css +72 -0
- package/lib/src/newIssue.css +13 -0
- package/lib/src/newTracker.css +3 -0
- package/package.json +23 -14
- package/dist/board.js +0 -1
- package/dist/csvButton.js +0 -1
- package/dist/issue.js +0 -1
- package/dist/issuePane.js +0 -1
- package/dist/newIssue.js +0 -1
- package/dist/newTracker.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"issue-pane.js","mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;;;;;;;;;;;;;;ACVA;AAC0G;AACjB;AACzF,8BAA8B,mFAA2B,CAAC,4FAAqC;AAC/F;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,oBAAoB,wBAAwB,qBAAqB;AACjE;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO,gFAAgF,YAAY,aAAa,aAAa,OAAO,KAAK,YAAY,aAAa,OAAO,KAAK,YAAY,aAAa,aAAa,WAAW,OAAO,KAAK,YAAY,WAAW,YAAY,OAAO,KAAK,YAAY,aAAa,aAAa,WAAW,OAAO,KAAK,UAAU,YAAY,aAAa,aAAa,aAAa,OAAO,KAAK,YAAY,yCAAyC,uBAAuB,8BAA8B,mCAAmC,GAAG,wBAAwB,uBAAuB,8BAA8B,GAAG,yBAAyB,8BAA8B,mCAAmC,sBAAsB,oBAAoB,GAAG,yBAAyB,+BAA+B,mBAAmB,sBAAsB,wBAAwB,qBAAqB,MAAM,6BAA6B,8BAA8B,iDAAiD,sBAAsB,oBAAoB,GAAG,uBAAuB,gBAAgB,8BAA8B,6CAA6C,+BAA+B,gCAAgC,GAAG,4BAA4B,8BAA8B,IAAI,qBAAqB;AAC3zC;AACA,iEAAe,uBAAuB,EAAC;;;;;;;;;;;;;;;ACjDvC;AAC0G;AACjB;AACzF,8BAA8B,mFAA2B,CAAC,4FAAqC;AAC/F;AACA,iDAAiD,kEAAkE;AACnH;AACA,iEAAe,uBAAuB,EAAC;;;;;;;;;;;;;;;ACPvC;AAC0G;AACjB;AACzF,8BAA8B,mFAA2B,CAAC,4FAAqC;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,iFAAiF,OAAO,MAAM,UAAU,sIAAsI,kBAAkB,GAAG,qBAAqB;AAC/R;AACA,iEAAe,uBAAuB,EAAC;;;;;;;;;;;;;;;ACZvC;AAC0G;AACjB;AACzF,8BAA8B,mFAA2B,CAAC,4FAAqC;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA,OAAO,iFAAiF,OAAO,MAAM,YAAY,WAAW,YAAY,aAAa,aAAa,OAAO,KAAK,UAAU,KAAK,KAAK,YAAY,MAAM,KAAK,YAAY,aAAa,aAAa,OAAO,KAAK,UAAU,YAAY,OAAO,KAAK,YAAY,WAAW,UAAU,YAAY,aAAa,aAAa,WAAW,KAAK,KAAK,UAAU,UAAU,UAAU,UAAU,UAAU,YAAY,WAAW,YAAY,aAAa,WAAW,YAAY,WAAW,YAAY,OAAO,KAAK,YAAY,WAAW,YAAY,OAAO,KAAK,YAAY,aAAa,aAAa,aAAa,aAAa,WAAW,UAAU,UAAU,OAAO,KAAK,YAAY,aAAa,aAAa,OAAO,KAAK,YAAY,aAAa,OAAO,KAAK,YAAY,aAAa,aAAa,aAAa,OAAO,KAAK,YAAY,aAAa,aAAa,aAAa,OAAO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C,oCAAoC,GAAG,gCAAgC,sCAAsC,oBAAoB,uCAAuC,gBAAgB,GAAG,qBAAqB;AACnhB;AACA,iEAAe,uBAAuB,EAAC;;;;;;;;;;;;;;;ACpBvC;AAC0G;AACjB;AACzF,8BAA8B,mFAA2B,CAAC,4FAAqC;AAC/F;AACA;AACA;AACA;AACA,OAAO,qFAAqF,YAAY,oDAAoD,6DAA6D,GAAG,qBAAqB;AACjP;AACA,iEAAe,uBAAuB,EAAC;;;;;;;;ACV1B;;AAEb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD;AACrD;AACA;AACA,gDAAgD;AAChD;AACA;AACA,qFAAqF;AACrF;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,qBAAqB;AACrB;AACA;AACA,qBAAqB;AACrB;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,iBAAiB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,qBAAqB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV,sFAAsF,qBAAqB;AAC3G;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV,iDAAiD,qBAAqB;AACtE;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV,sDAAsD,qBAAqB;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;;ACpFa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD,cAAc;AACrE;AACA;AACA;AACA;AACA,E;;;;;;;ACfa;;AAEb;AACA;AACA;AACA,kBAAkB,wBAAwB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,iBAAiB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,4BAA4B;AAChD;AACA;AACA;AACA;AACA;AACA,qBAAqB,6BAA6B;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;;ACnFa;;AAEb;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kC;;;;;;;ACjCa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oC;;;;;;;ACTa;;AAEb;AACA;AACA,cAAc,KAAwC,GAAG,sBAAiB,GAAG,CAAI;AACjF;AACA;AACA;AACA;AACA,gD;;;;;;;ACTa;;AAEb;AACA;AACA;AACA;AACA,kDAAkD;AAClD;AACA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA,iFAAiF;AACjF;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,yDAAyD;AACzD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,wB;;;;;;;AC5Da;;AAEb;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,mC;;;;;;;;;;;;;;;;;;;;;ACbA,kD;;;;;;;ACAA,kD;;;;;;;ACAA,kD;;;;;;UCAA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA;WACA,iCAAiC,WAAW;WAC5C;WACA,E;;;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","sources":["webpack://IssuePane/webpack/universalModuleDefinition","webpack://IssuePane/./src/board.css","webpack://IssuePane/./src/csvButton.css","webpack://IssuePane/./src/errors.css","webpack://IssuePane/./src/issue.css","webpack://IssuePane/./src/issuePane.css","webpack://IssuePane/./src/localUtils.css","webpack://IssuePane/./src/newIssue.css","webpack://IssuePane/./src/newTracker.css","webpack://IssuePane/./node_modules/css-loader/dist/runtime/api.js","webpack://IssuePane/./node_modules/css-loader/dist/runtime/sourceMaps.js","webpack://IssuePane/./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack://IssuePane/./node_modules/style-loader/dist/runtime/insertBySelector.js","webpack://IssuePane/./node_modules/style-loader/dist/runtime/insertStyleElement.js","webpack://IssuePane/./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js","webpack://IssuePane/./node_modules/style-loader/dist/runtime/styleDomAPI.js","webpack://IssuePane/./node_modules/style-loader/dist/runtime/styleTagTransform.js","webpack://IssuePane/external umd \"SolidLogic\"","webpack://IssuePane/external umd \"UI\"","webpack://IssuePane/external umd \"rdflib\"","webpack://IssuePane/webpack/bootstrap","webpack://IssuePane/webpack/runtime/compat get default export","webpack://IssuePane/webpack/runtime/define property getters","webpack://IssuePane/webpack/runtime/hasOwnProperty shorthand","webpack://IssuePane/webpack/runtime/nonce","webpack://IssuePane/./src/board.css?bdaf","webpack://IssuePane/./src/board.js","webpack://IssuePane/./src/localUtils.css?0fab","webpack://IssuePane/./src/localUtils.js","webpack://IssuePane/./src/newIssue.css?f3d5","webpack://IssuePane/./src/newIssue.js","webpack://IssuePane/./src/debug.js","webpack://IssuePane/./src/errors.css?356a","webpack://IssuePane/./src/errors.js","webpack://IssuePane/./src/issue.css?f275","webpack://IssuePane/./src/issue.js","webpack://IssuePane/./src/newTracker.css?feb6","webpack://IssuePane/./src/newTracker.js","webpack://IssuePane/./src/csvButton.js","webpack://IssuePane/./src/csvButton.css?885e","webpack://IssuePane/./src/issuePane.css?6f15","webpack://IssuePane/./src/issuePane.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"UI\"), require(\"SolidLogic\"), require(\"rdflib\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"UI\", \"SolidLogic\", \"rdflib\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"IssuePane\"] = factory(require(\"UI\"), require(\"SolidLogic\"), require(\"rdflib\"));\n\telse\n\t\troot[\"IssuePane\"] = factory(root[\"UI\"], root[\"SolidLogic\"], root[\"rdflib\"]);\n})(this, (__WEBPACK_EXTERNAL_MODULE__426__, __WEBPACK_EXTERNAL_MODULE__663__, __WEBPACK_EXTERNAL_MODULE__491__) => {\nreturn ","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../node_modules/css-loader/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, `.trackerBoard {\n width: fit-content;\n border-collapse: collapse;\n margin: var(--spacing-md, 1em);\n}\n\n.trackerBoardTable {\n width: fit-content;\n border-collapse: collapse;\n}\n\n.trackerBoardHeader {\n margin: var(--spacing-sm);\n padding: var(--spacing-sm) 1em;\n font-weight: bold;\n font-size: 120%;\n}\n\n.trackerBoardColumn {\n border: 0.01em solid white;\n padding: 0.1em;\n /* display: flex; flex-direction: column; align-items: center; */\n} \n\n.trackerBoardHeaderCell {\n margin: var(--spacing-sm);\n padding: var(--spacing-sm) var(--spacing-md);\n font-weight: bold;\n font-size: 120%;\n}\n\n.trackerBoardCard {\n width: 100%;\n border: 0.01em solid grey;\n border-radius: var(--border-radius-base);\n padding: var(--spacing-sm);\n margin: var(--spacing-sm) 0;\n}\n\n.trackerBoardCardTable {\n margin: var(--spacing-md);\n} \n`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/board.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,kBAAkB;EAClB,yBAAyB;EACzB,8BAA8B;AAChC;;AAEA;EACE,kBAAkB;EAClB,yBAAyB;AAC3B;;AAEA;EACE,yBAAyB;EACzB,8BAA8B;EAC9B,iBAAiB;EACjB,eAAe;AACjB;;AAEA;EACE,0BAA0B;EAC1B,cAAc;EACd,gEAAgE;AAClE;;AAEA;EACE,yBAAyB;EACzB,4CAA4C;EAC5C,iBAAiB;EACjB,eAAe;AACjB;;AAEA;EACE,WAAW;EACX,yBAAyB;EACzB,wCAAwC;EACxC,0BAA0B;EAC1B,2BAA2B;AAC7B;;AAEA;EACE,yBAAyB;AAC3B\",\"sourcesContent\":[\".trackerBoard {\\n width: fit-content;\\n border-collapse: collapse;\\n margin: var(--spacing-md, 1em);\\n}\\n\\n.trackerBoardTable {\\n width: fit-content;\\n border-collapse: collapse;\\n}\\n\\n.trackerBoardHeader {\\n margin: var(--spacing-sm);\\n padding: var(--spacing-sm) 1em;\\n font-weight: bold;\\n font-size: 120%;\\n}\\n\\n.trackerBoardColumn {\\n border: 0.01em solid white;\\n padding: 0.1em;\\n /* display: flex; flex-direction: column; align-items: center; */\\n} \\n\\n.trackerBoardHeaderCell {\\n margin: var(--spacing-sm);\\n padding: var(--spacing-sm) var(--spacing-md);\\n font-weight: bold;\\n font-size: 120%;\\n}\\n\\n.trackerBoardCard {\\n width: 100%;\\n border: 0.01em solid grey;\\n border-radius: var(--border-radius-base);\\n padding: var(--spacing-sm);\\n margin: var(--spacing-sm) 0;\\n}\\n\\n.trackerBoardCardTable {\\n margin: var(--spacing-md);\\n} \\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../node_modules/css-loader/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, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../node_modules/css-loader/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, `/* section in mashlib css is display: block\nso i have to override it here */\nsection.errorSection[hidden] {\n display: none;\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/errors.css\"],\"names\":[],\"mappings\":\"AAAA;+BAC+B;AAC/B;EACE,aAAa;AACf\",\"sourcesContent\":[\"/* section in mashlib css is display: block\\nso i have to override it here */\\nsection.errorSection[hidden] {\\n display: none;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../node_modules/css-loader/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, `/* Some of the styles below are generated by AI using GPT-5.3-Codex \nfrom Github while trying to fiddle with the layout and fix the \nissue not popping up */\n.trackerBoardIssueCard {\n margin: var(--spacing-xs, 0.3em);\n max-width: 24em;\n padding: var(--spacing-xs, 0.5em);\n border: 0.05em solid grey;\n border-radius: var(--border-radius-base, 0.4em);\n}\n\n.trackerBoardIssueCardTable {\n width: 100%;\n}\n.trackerBoardIssueCardTable td {\n padding: 0.1em 0.7em 0.1em 0.1em;\n}\n.trackerBoardIssueCardTable img {\n width: var(--icon-xs, 1.5em);\n height: var(--icon-xs, 1.5em);\n border-radius: 50%;\n}\n\n.trackerBoardIssueCardTable {\n width: 100%;\n border-collapse: collapse;\n}\n\n.trackerOverlayCloseButton {\n background: none;\n border: none;\n cursor: pointer;\n position: absolute;\n top: var(--spacing-sm, 0.7em);\n right: var(--spacing-sm, 0.7em);\n margin: 0;\n}\n.trackerOverlay {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: rgba(0, 0, 0, 0.5);\n display: flex;\n justify-content: center;\n align-items: center;\n z-index: 9999;\n visibility: hidden;\n opacity: 0;\n pointer-events: none;\n}\n\n.trackerOverlay.trackerOverlayVisible {\n visibility: visible;\n opacity: 1;\n pointer-events: auto;\n}\n\n.trackerIssue {\n position: relative;\n background: white;\n padding: var(--spacing-sm, 0.5em) var(--spacing-lg, 1.5em) var(--spacing-md, 1em) var(--spacing-lg, 1.5em);\n border: 0.7em solid transparent;\n border-radius: var(--border-radius-base, 0.5em);\n max-width: 80%;\n max-height: 80%;\n overflow: auto;\n}\n\n.trackerIssueIconButton {\n width: var(--icon-sm, 1.5em);\n height: var(--icon-sm, 1.5em);\n border-radius: 50%;\n}\n\n.trackerIssueSpacer {\n height: var(--spacing-md, 1em);\n margin: var(--spacing-sm, 0.5em);\n}\n\n.trackerIssueForm {\n margin-top: var(--spacing-md, 1em);\n padding: var(--spacing-sm, 0.75em);\n border: 0.05em solid grey;\n border-radius: var(--border-radius-base, 0.5em);\n}\n\n.trackerIssueSubIssuePanel {\n margin: var(--spacing-md, 1em);\n padding: var(--spacing-md, 1em);\n border: 0.05em solid grey;\n border-radius: var(--border-radius-base, 0.5em);\n}\n\n.trackerIssueSubIssuePanelSupersList {\n display: flex;\n flex-wrap: wrap;\n gap: var(--spacing-sm, 0.75em);\n}\n\n.trackerIssueSubIssuePanelSubsList {\n display: flex;\n flex-wrap: wrap;\n gap: var(--spacing-sm, 0.75em);\n flex-direction: row-reverse; /* Not sure if it should be row or column */\n}\n\n.trackerIssueSubIssuePanelNewSubButton {\n margin: var(--spacing-sm, 0.75em) var(--spacing-md, 1em);\n padding: var(--spacing-sm, 0.75em);\n border: 0.05em solid grey;\n border-radius: var(--border-radius-base, 0.5em);\n background-color: #f0f0f0;\n cursor: pointer;\n float: right;\n}\n\n.trackerIssueTrackerLink {\n float: right;\n margin: var(--spacing-xs, 0.5em) 4em;\n padding: var(--spacing-xs, 0.5em);\n}\n\n.trackerIssueMessage {\n color: grey;\n}\n\n.trackerIssueDeleteButton {\n color: white;\n border: none;\n padding: var(--spacing-xs, 0.5em);\n border-radius: var(--border-radius-base, 0.4em);\n cursor: pointer;\n float: right; /* this is the only one from the code */\n}\n\n.trackerIssueDeleted {\n background-color: #eee;\n color: orange;\n}\n\n/* below styles the remove task popup */\n.trackerIssue > div[style*=\"position: relative\"] {\n z-index: 2000;\n}\n\n.trackerIssue > div[style*=\"position: relative\"] > div[style*=\"position: absolute\"] {\n top: -1em !important;\n left: 50% !important;\n transform: translate(-55%, -3em);\n z-index: 2001;\n}\n\n.trackerIssueRefreshButton {\n clear: both;\n position: relative;\n z-index: 1;\n}\n\n.trackerIssueMessageArea {\n border: 0.05em solid grey;\n border-radius: var(--border-radius-base, 0.5em);\n padding: var(--spacing-md, 1em);\n}\n\n.trackerIssueMessageAreaError {\n color: red;\n font-weight: bold;\n}\n\n\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/issue.css\"],\"names\":[],\"mappings\":\"AAAA;;sBAEsB;AACtB;EACE,gCAAgC;EAChC,eAAe;EACf,iCAAiC;EACjC,yBAAyB;EACzB,+CAA+C;AACjD;;AAEA;EACE,WAAW;AACb;AACA;EACE,gCAAgC;AAClC;AACA;EACE,4BAA4B;EAC5B,6BAA6B;EAC7B,kBAAkB;AACpB;;AAEA;EACE,WAAW;EACX,yBAAyB;AAC3B;;AAEA;EACE,gBAAgB;EAChB,YAAY;EACZ,eAAe;EACf,kBAAkB;EAClB,6BAA6B;EAC7B,+BAA+B;EAC/B,SAAS;AACX;AACA;EACE,eAAe;EACf,MAAM;EACN,OAAO;EACP,WAAW;EACX,YAAY;EACZ,8BAA8B;EAC9B,aAAa;EACb,uBAAuB;EACvB,mBAAmB;EACnB,aAAa;EACb,kBAAkB;EAClB,UAAU;EACV,oBAAoB;AACtB;;AAEA;EACE,mBAAmB;EACnB,UAAU;EACV,oBAAoB;AACtB;;AAEA;EACE,kBAAkB;EAClB,iBAAiB;EACjB,0GAA0G;EAC1G,+BAA+B;EAC/B,+CAA+C;EAC/C,cAAc;EACd,eAAe;EACf,cAAc;AAChB;;AAEA;EACE,4BAA4B;EAC5B,6BAA6B;EAC7B,kBAAkB;AACpB;;AAEA;EACE,8BAA8B;EAC9B,gCAAgC;AAClC;;AAEA;EACE,kCAAkC;EAClC,kCAAkC;EAClC,yBAAyB;EACzB,+CAA+C;AACjD;;AAEA;EACE,8BAA8B;EAC9B,+BAA+B;EAC/B,yBAAyB;EACzB,+CAA+C;AACjD;;AAEA;EACE,aAAa;EACb,eAAe;EACf,8BAA8B;AAChC;;AAEA;EACE,aAAa;EACb,eAAe;EACf,8BAA8B;EAC9B,4BAA4B,EAAE,2CAA2C;AAC3E;;AAEA;EACE,wDAAwD;EACxD,kCAAkC;EAClC,yBAAyB;EACzB,+CAA+C;EAC/C,yBAAyB;EACzB,eAAe;EACf,YAAY;AACd;;AAEA;EACE,YAAY;EACZ,oCAAoC;EACpC,iCAAiC;AACnC;;AAEA;EACE,WAAW;AACb;;AAEA;EACE,YAAY;EACZ,YAAY;EACZ,iCAAiC;EACjC,+CAA+C;EAC/C,eAAe;EACf,YAAY,EAAE,uCAAuC;AACvD;;AAEA;EACE,sBAAsB;EACtB,aAAa;AACf;;AAEA,uCAAuC;AACvC;EACE,aAAa;AACf;;AAEA;EACE,oBAAoB;EACpB,oBAAoB;EACpB,gCAAgC;EAChC,aAAa;AACf;;AAEA;EACE,WAAW;EACX,kBAAkB;EAClB,UAAU;AACZ;;AAEA;EACE,yBAAyB;EACzB,+CAA+C;EAC/C,+BAA+B;AACjC;;AAEA;EACE,UAAU;EACV,iBAAiB;AACnB\",\"sourcesContent\":[\"/* Some of the styles below are generated by AI using GPT-5.3-Codex \\nfrom Github while trying to fiddle with the layout and fix the \\nissue not popping up */\\n.trackerBoardIssueCard {\\n margin: var(--spacing-xs, 0.3em);\\n max-width: 24em;\\n padding: var(--spacing-xs, 0.5em);\\n border: 0.05em solid grey;\\n border-radius: var(--border-radius-base, 0.4em);\\n}\\n\\n.trackerBoardIssueCardTable {\\n width: 100%;\\n}\\n.trackerBoardIssueCardTable td {\\n padding: 0.1em 0.7em 0.1em 0.1em;\\n}\\n.trackerBoardIssueCardTable img {\\n width: var(--icon-xs, 1.5em);\\n height: var(--icon-xs, 1.5em);\\n border-radius: 50%;\\n}\\n\\n.trackerBoardIssueCardTable {\\n width: 100%;\\n border-collapse: collapse;\\n}\\n\\n.trackerOverlayCloseButton {\\n background: none;\\n border: none;\\n cursor: pointer;\\n position: absolute;\\n top: var(--spacing-sm, 0.7em);\\n right: var(--spacing-sm, 0.7em);\\n margin: 0;\\n}\\n.trackerOverlay {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n background: rgba(0, 0, 0, 0.5);\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n z-index: 9999;\\n visibility: hidden;\\n opacity: 0;\\n pointer-events: none;\\n}\\n\\n.trackerOverlay.trackerOverlayVisible {\\n visibility: visible;\\n opacity: 1;\\n pointer-events: auto;\\n}\\n\\n.trackerIssue {\\n position: relative;\\n background: white;\\n padding: var(--spacing-sm, 0.5em) var(--spacing-lg, 1.5em) var(--spacing-md, 1em) var(--spacing-lg, 1.5em);\\n border: 0.7em solid transparent;\\n border-radius: var(--border-radius-base, 0.5em);\\n max-width: 80%;\\n max-height: 80%;\\n overflow: auto;\\n}\\n\\n.trackerIssueIconButton {\\n width: var(--icon-sm, 1.5em);\\n height: var(--icon-sm, 1.5em);\\n border-radius: 50%;\\n}\\n\\n.trackerIssueSpacer {\\n height: var(--spacing-md, 1em);\\n margin: var(--spacing-sm, 0.5em);\\n}\\n\\n.trackerIssueForm {\\n margin-top: var(--spacing-md, 1em);\\n padding: var(--spacing-sm, 0.75em);\\n border: 0.05em solid grey;\\n border-radius: var(--border-radius-base, 0.5em);\\n}\\n\\n.trackerIssueSubIssuePanel {\\n margin: var(--spacing-md, 1em);\\n padding: var(--spacing-md, 1em);\\n border: 0.05em solid grey;\\n border-radius: var(--border-radius-base, 0.5em);\\n}\\n\\n.trackerIssueSubIssuePanelSupersList {\\n display: flex;\\n flex-wrap: wrap;\\n gap: var(--spacing-sm, 0.75em);\\n}\\n\\n.trackerIssueSubIssuePanelSubsList {\\n display: flex;\\n flex-wrap: wrap;\\n gap: var(--spacing-sm, 0.75em);\\n flex-direction: row-reverse; /* Not sure if it should be row or column */\\n}\\n\\n.trackerIssueSubIssuePanelNewSubButton {\\n margin: var(--spacing-sm, 0.75em) var(--spacing-md, 1em);\\n padding: var(--spacing-sm, 0.75em);\\n border: 0.05em solid grey;\\n border-radius: var(--border-radius-base, 0.5em);\\n background-color: #f0f0f0;\\n cursor: pointer;\\n float: right;\\n}\\n\\n.trackerIssueTrackerLink {\\n float: right;\\n margin: var(--spacing-xs, 0.5em) 4em;\\n padding: var(--spacing-xs, 0.5em);\\n}\\n\\n.trackerIssueMessage {\\n color: grey;\\n}\\n\\n.trackerIssueDeleteButton {\\n color: white;\\n border: none;\\n padding: var(--spacing-xs, 0.5em);\\n border-radius: var(--border-radius-base, 0.4em);\\n cursor: pointer;\\n float: right; /* this is the only one from the code */\\n}\\n\\n.trackerIssueDeleted {\\n background-color: #eee;\\n color: orange;\\n}\\n\\n/* below styles the remove task popup */\\n.trackerIssue > div[style*=\\\"position: relative\\\"] {\\n z-index: 2000;\\n}\\n\\n.trackerIssue > div[style*=\\\"position: relative\\\"] > div[style*=\\\"position: absolute\\\"] {\\n top: -1em !important;\\n left: 50% !important;\\n transform: translate(-55%, -3em);\\n z-index: 2001;\\n}\\n\\n.trackerIssueRefreshButton {\\n clear: both;\\n position: relative;\\n z-index: 1;\\n}\\n\\n.trackerIssueMessageArea {\\n border: 0.05em solid grey;\\n border-radius: var(--border-radius-base, 0.5em);\\n padding: var(--spacing-md, 1em);\\n}\\n\\n.trackerIssueMessageAreaError {\\n color: red;\\n font-weight: bold;\\n}\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../node_modules/css-loader/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, `/* CSS for the issue pane component was influenced by generative AI\nusing the GPT-5.3-Codex model in GitHub. The prompts used are below: \n- can you style my table and make it look nice?\n- can you handle the visibility in exposeOverlay with css? */ \n\n.trackerIssuePaneNewIssueButtonContainer {\n display: flex;\n flex-direction: row;\n}\n\n.trackerIssuePaneNewIssueButton {\n display: inline-flex;\n background-color: #F0F0F0;\n color: #505050;\n flex-direction: row;\n align-items: center;\n justify-content: flex-start;\n border: 1px solid grey;\n border-radius: var(--border-radius-base, 0.5em);\n cursor: pointer;\n gap: var(--spacing-sm, 0.75em);\n white-space: nowrap;\n text-align: left;\n padding: var(--spacing-sm, 0.75em);\n font-size: 100%;\n margin: var(--spacing-sm, 0.75em);\n}\n\n.trackerIssuePaneNewIssueButton > .trackerIssuePaneNewIssueButtonImage {\n order: 1;\n display: inline-block;\n width: var(--icon-xxs, 1em);\n height: var(--icon-xxs, 1em);\n margin: 0.2em;\n vertical-align: middle;\n}\n\n.trackerIssuePaneNewIssueButton > .trackerIssuePaneNewIssueButtonText {\n order: 2;\n display: inline-block;\n margin-left: 0;\n vertical-align: middle;\n}\n\n.trackerIssuePaneLoginButton {\n margin: var(--spacing-sm) var(--spacing-md);\n}\n\n.errorSection {\n margin: var(--spacing-sm, 0.75em);\n padding: var(--spacing-sm, 0.75em);\n border-top: 1px solid #d0d0d0;\n}\n\n.errorSectionContent {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-sm, 0.75em);\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/issuePane.css\"],\"names\":[],\"mappings\":\"AAAA;;;4DAG4D;;AAE5D;EACE,aAAa;EACb,mBAAmB;AACrB;;AAEA;EACE,oBAAoB;EACpB,yBAAyB;EACzB,cAAc;EACd,mBAAmB;EACnB,mBAAmB;EACnB,2BAA2B;EAC3B,sBAAsB;EACtB,+CAA+C;EAC/C,eAAe;EACf,8BAA8B;EAC9B,mBAAmB;EACnB,gBAAgB;EAChB,kCAAkC;EAClC,eAAe;EACf,iCAAiC;AACnC;;AAEA;EACE,QAAQ;EACR,qBAAqB;EACrB,2BAA2B;EAC3B,4BAA4B;EAC5B,aAAa;EACb,sBAAsB;AACxB;;AAEA;EACE,QAAQ;EACR,qBAAqB;EACrB,cAAc;EACd,sBAAsB;AACxB;;AAEA;EACE,2CAA2C;AAC7C;;AAEA;EACE,iCAAiC;EACjC,kCAAkC;EAClC,6BAA6B;AAC/B;;AAEA;EACE,aAAa;EACb,sBAAsB;EACtB,8BAA8B;AAChC\",\"sourcesContent\":[\"/* CSS for the issue pane component was influenced by generative AI\\nusing the GPT-5.3-Codex model in GitHub. The prompts used are below: \\n- can you style my table and make it look nice?\\n- can you handle the visibility in exposeOverlay with css? */ \\n\\n.trackerIssuePaneNewIssueButtonContainer {\\n display: flex;\\n flex-direction: row;\\n}\\n\\n.trackerIssuePaneNewIssueButton {\\n display: inline-flex;\\n background-color: #F0F0F0;\\n color: #505050;\\n flex-direction: row;\\n align-items: center;\\n justify-content: flex-start;\\n border: 1px solid grey;\\n border-radius: var(--border-radius-base, 0.5em);\\n cursor: pointer;\\n gap: var(--spacing-sm, 0.75em);\\n white-space: nowrap;\\n text-align: left;\\n padding: var(--spacing-sm, 0.75em);\\n font-size: 100%;\\n margin: var(--spacing-sm, 0.75em);\\n}\\n\\n.trackerIssuePaneNewIssueButton > .trackerIssuePaneNewIssueButtonImage {\\n order: 1;\\n display: inline-block;\\n width: var(--icon-xxs, 1em);\\n height: var(--icon-xxs, 1em);\\n margin: 0.2em;\\n vertical-align: middle;\\n}\\n\\n.trackerIssuePaneNewIssueButton > .trackerIssuePaneNewIssueButtonText {\\n order: 2;\\n display: inline-block;\\n margin-left: 0;\\n vertical-align: middle;\\n}\\n\\n.trackerIssuePaneLoginButton {\\n margin: var(--spacing-sm) var(--spacing-md);\\n}\\n\\n.errorSection {\\n margin: var(--spacing-sm, 0.75em);\\n padding: var(--spacing-sm, 0.75em);\\n border-top: 1px solid #d0d0d0;\\n}\\n\\n.errorSectionContent {\\n display: flex;\\n flex-direction: column;\\n gap: var(--spacing-sm, 0.75em);\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../node_modules/css-loader/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, `/* CSS for the accessible modal dialogs created by localUtils.js */\n\n/* backdrop / focus trap container */\n.focus-trap {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 9999;\n background: rgba(0, 0, 0, 0.5);\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.focus-trap.hidden {\n display: none;\n}\n\n/* inner dialog box */\n.focus-trap .modal {\n background: var(--color-background);\n padding: var(--spacing-lg);\n border-radius: var(--border-radius-base);\n max-width: 90%;\n box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);\n}\n\n/* Preserve newlines in string messages (many call sites use \"\\\\n\\\\n\") */\n#issue-modal #modal-desc {\n white-space: pre-wrap;\n}\n\n/* button container: center buttons horizontally (uses id in markup) */\n#issue-modal #modal-buttons {\n margin-top: var(--spacing-md);\n display: flex;\n justify-content: center;\n gap: var(--spacing-sm);\n}\n\n/* buttons themselves use the shared btn-primary rules */\n#issue-modal .modal button {\n min-height: var(--min-touch-target);\n padding: var(--spacing-sm) var(--spacing-md);\n border: 1px solid var(--color-primary);\n border-radius: var(--border-radius-base);\n font-weight: 600;\n cursor: pointer;\n transition: all var(--animation-duration) ease;\n}\n\n#issue-modal .modal button.btn-primary {\n background: var(--color-primary);\n color: var(--color-background);\n}\n\n#issue-modal .modal button.btn-primary:hover {\n background: color-mix(in srgb, var(--color-primary) 90%, black);\n box-shadow: 0 2px 4px rgba(124, 77, 255, 0.2);\n}\n\n#issue-modal .modal button.btn-primary:active {\n box-shadow: 0 1px 2px rgba(124, 77, 255, 0.2);\n}\n\n#issue-modal .modal button:disabled {\n opacity: var(--opacity-disabled, 0.6);\n cursor: not-allowed;\n transform: none;\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/localUtils.css\"],\"names\":[],\"mappings\":\"AAAA,kEAAkE;;AAElE,oCAAoC;AACpC;EACE,eAAe;EACf,MAAM;EACN,OAAO;EACP,WAAW;EACX,YAAY;EACZ,aAAa;EACb,8BAA8B;EAC9B,aAAa;EACb,uBAAuB;EACvB,mBAAmB;AACrB;;AAEA;EACE,aAAa;AACf;;AAEA,qBAAqB;AACrB;EACE,mCAAmC;EACnC,0BAA0B;EAC1B,wCAAwC;EACxC,cAAc;EACd,yCAAyC;AAC3C;;AAEA,sEAAsE;AACtE;EACE,qBAAqB;AACvB;;AAEA,sEAAsE;AACtE;EACE,6BAA6B;EAC7B,aAAa;EACb,uBAAuB;EACvB,sBAAsB;AACxB;;AAEA,wDAAwD;AACxD;EACE,mCAAmC;EACnC,4CAA4C;EAC5C,sCAAsC;EACtC,wCAAwC;EACxC,gBAAgB;EAChB,eAAe;EACf,8CAA8C;AAChD;;AAEA;EACE,gCAAgC;EAChC,8BAA8B;AAChC;;AAEA;EACE,+DAA+D;EAC/D,6CAA6C;AAC/C;;AAEA;EACE,6CAA6C;AAC/C;;AAEA;EACE,qCAAqC;EACrC,mBAAmB;EACnB,eAAe;AACjB\",\"sourcesContent\":[\"/* CSS for the accessible modal dialogs created by localUtils.js */\\n\\n/* backdrop / focus trap container */\\n.focus-trap {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n z-index: 9999;\\n background: rgba(0, 0, 0, 0.5);\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n}\\n\\n.focus-trap.hidden {\\n display: none;\\n}\\n\\n/* inner dialog box */\\n.focus-trap .modal {\\n background: var(--color-background);\\n padding: var(--spacing-lg);\\n border-radius: var(--border-radius-base);\\n max-width: 90%;\\n box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);\\n}\\n\\n/* Preserve newlines in string messages (many call sites use \\\"\\\\n\\\\n\\\") */\\n#issue-modal #modal-desc {\\n white-space: pre-wrap;\\n}\\n\\n/* button container: center buttons horizontally (uses id in markup) */\\n#issue-modal #modal-buttons {\\n margin-top: var(--spacing-md);\\n display: flex;\\n justify-content: center;\\n gap: var(--spacing-sm);\\n}\\n\\n/* buttons themselves use the shared btn-primary rules */\\n#issue-modal .modal button {\\n min-height: var(--min-touch-target);\\n padding: var(--spacing-sm) var(--spacing-md);\\n border: 1px solid var(--color-primary);\\n border-radius: var(--border-radius-base);\\n font-weight: 600;\\n cursor: pointer;\\n transition: all var(--animation-duration) ease;\\n}\\n\\n#issue-modal .modal button.btn-primary {\\n background: var(--color-primary);\\n color: var(--color-background);\\n}\\n\\n#issue-modal .modal button.btn-primary:hover {\\n background: color-mix(in srgb, var(--color-primary) 90%, black);\\n box-shadow: 0 2px 4px rgba(124, 77, 255, 0.2);\\n}\\n\\n#issue-modal .modal button.btn-primary:active {\\n box-shadow: 0 1px 2px rgba(124, 77, 255, 0.2);\\n}\\n\\n#issue-modal .modal button:disabled {\\n opacity: var(--opacity-disabled, 0.6);\\n cursor: not-allowed;\\n transform: none;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../node_modules/css-loader/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, `.trackerNewIssueForm {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-sm, 0.75em);\n padding: var(--spacing-md, 1em);\n}\n\n.trackerNewIssueTitleField {\n margin: var(--spacing-sm, 0.75em);\n font-size: 100%;\n padding: var(--spacing-sm, 0.75em);\n width: 100%;\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/newIssue.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,aAAa;EACb,sBAAsB;EACtB,8BAA8B;EAC9B,+BAA+B;AACjC;;AAEA;EACE,iCAAiC;EACjC,eAAe;EACf,kCAAkC;EAClC,WAAW;AACb\",\"sourcesContent\":[\".trackerNewIssueForm {\\n display: flex;\\n flex-direction: column;\\n gap: var(--spacing-sm, 0.75em);\\n padding: var(--spacing-md, 1em);\\n}\\n\\n.trackerNewIssueTitleField {\\n margin: var(--spacing-sm, 0.75em);\\n font-size: 100%;\\n padding: var(--spacing-sm, 0.75em);\\n width: 100%;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../node_modules/css-loader/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, `.trackerNewTrackerButton {\n margin: var(--spacing-sm, 0.75em) var(--spacing-md, 1em);\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/newTracker.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,wDAAwD;AAC1D\",\"sourcesContent\":[\".trackerNewTrackerButton {\\n margin: var(--spacing-sm, 0.75em) var(--spacing-md, 1em);\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n list.push(item);\n }\n };\n return list;\n};","\"use strict\";\n\nmodule.exports = function (item) {\n var content = item[1];\n var cssMapping = item[3];\n if (!cssMapping) {\n return content;\n }\n if (typeof btoa === \"function\") {\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n return [content].concat([sourceMapping]).join(\"\\n\");\n }\n return [content].join(\"\\n\");\n};","\"use strict\";\n\nvar stylesInDOM = [];\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n for (var i = 0; i < stylesInDOM.length; i++) {\n if (stylesInDOM[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n return result;\n}\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var indexByIdentifier = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3],\n supports: item[4],\n layer: item[5]\n };\n if (indexByIdentifier !== -1) {\n stylesInDOM[indexByIdentifier].references++;\n stylesInDOM[indexByIdentifier].updater(obj);\n } else {\n var updater = addElementStyle(obj, options);\n options.byIndex = i;\n stylesInDOM.splice(i, 0, {\n identifier: identifier,\n updater: updater,\n references: 1\n });\n }\n identifiers.push(identifier);\n }\n return identifiers;\n}\nfunction addElementStyle(obj, options) {\n var api = options.domAPI(options);\n api.update(obj);\n var updater = function updater(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {\n return;\n }\n api.update(obj = newObj);\n } else {\n api.remove();\n }\n };\n return updater;\n}\nmodule.exports = function (list, options) {\n options = options || {};\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDOM[index].references--;\n }\n var newLastIdentifiers = modulesToDom(newList, options);\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n var _index = getIndexByIdentifier(_identifier);\n if (stylesInDOM[_index].references === 0) {\n stylesInDOM[_index].updater();\n stylesInDOM.splice(_index, 1);\n }\n }\n lastIdentifiers = newLastIdentifiers;\n };\n};","\"use strict\";\n\nvar memo = {};\n\n/* istanbul ignore next */\nfunction getTarget(target) {\n if (typeof memo[target] === \"undefined\") {\n var styleTarget = document.querySelector(target);\n\n // Special case to return head of iframe instead of iframe itself\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n memo[target] = styleTarget;\n }\n return memo[target];\n}\n\n/* istanbul ignore next */\nfunction insertBySelector(insert, style) {\n var target = getTarget(insert);\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n target.appendChild(style);\n}\nmodule.exports = insertBySelector;","\"use strict\";\n\n/* istanbul ignore next */\nfunction insertStyleElement(options) {\n var element = document.createElement(\"style\");\n options.setAttributes(element, options.attributes);\n options.insert(element, options.options);\n return element;\n}\nmodule.exports = insertStyleElement;","\"use strict\";\n\n/* istanbul ignore next */\nfunction setAttributesWithoutAttributes(styleElement) {\n var nonce = typeof __webpack_nonce__ !== \"undefined\" ? __webpack_nonce__ : null;\n if (nonce) {\n styleElement.setAttribute(\"nonce\", nonce);\n }\n}\nmodule.exports = setAttributesWithoutAttributes;","\"use strict\";\n\n/* istanbul ignore next */\nfunction apply(styleElement, options, obj) {\n var css = \"\";\n if (obj.supports) {\n css += \"@supports (\".concat(obj.supports, \") {\");\n }\n if (obj.media) {\n css += \"@media \".concat(obj.media, \" {\");\n }\n var needLayer = typeof obj.layer !== \"undefined\";\n if (needLayer) {\n css += \"@layer\".concat(obj.layer.length > 0 ? \" \".concat(obj.layer) : \"\", \" {\");\n }\n css += obj.css;\n if (needLayer) {\n css += \"}\";\n }\n if (obj.media) {\n css += \"}\";\n }\n if (obj.supports) {\n css += \"}\";\n }\n var sourceMap = obj.sourceMap;\n if (sourceMap && typeof btoa !== \"undefined\") {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n }\n\n // For old IE\n /* istanbul ignore if */\n options.styleTagTransform(css, styleElement, options.options);\n}\nfunction removeStyleElement(styleElement) {\n // istanbul ignore if\n if (styleElement.parentNode === null) {\n return false;\n }\n styleElement.parentNode.removeChild(styleElement);\n}\n\n/* istanbul ignore next */\nfunction domAPI(options) {\n if (typeof document === \"undefined\") {\n return {\n update: function update() {},\n remove: function remove() {}\n };\n }\n var styleElement = options.insertStyleElement(options);\n return {\n update: function update(obj) {\n apply(styleElement, options, obj);\n },\n remove: function remove() {\n removeStyleElement(styleElement);\n }\n };\n}\nmodule.exports = domAPI;","\"use strict\";\n\n/* istanbul ignore next */\nfunction styleTagTransform(css, styleElement) {\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css;\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild);\n }\n styleElement.appendChild(document.createTextNode(css));\n }\n}\nmodule.exports = styleTagTransform;","module.exports = __WEBPACK_EXTERNAL_MODULE__663__;","module.exports = __WEBPACK_EXTERNAL_MODULE__426__;","module.exports = __WEBPACK_EXTERNAL_MODULE__491__;","// 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","// 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__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","__webpack_require__.nc = undefined;","\n import API from \"!../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../node_modules/css-loader/dist/cjs.js!./board.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/css-loader/dist/cjs.js!./board.css\";\n export default content && content.locals ? content.locals : undefined;\n","/** A Board of vertical columns\n *\n * Like a github \"project\", or a kanbam board, a board allows\n * you to triage stuff into simple cateories.\n *\n * if an object is added in a refresh, then a new column should be added if needed\n * if its value is previously unseen\n * (Should the coluimn order be defined by user or caller?)\n *\n * @returns dom:Element\n*/\n\nimport { ns, utils, widgets } from 'solid-ui'\nimport { store } from 'solid-logic'\nimport * as $rdf from 'rdflib'\nimport './board.css'\n\nexport function board (dom, columnValues, renderItem, options) {\n const board = dom.createElement('div')\n board.classList.add('trackerBoard')\n const table = board.appendChild(dom.createElement('table'))\n table.classList.add('trackerBoardTable')\n\n // build table header and columns\n const headerRow = table.appendChild(dom.createElement('tr'))\n headerRow.classList.add('trackerBoardHeader')\n const mainRow = table.appendChild(dom.createElement('tr'))\n mainRow.classList.add('trackerBoardMainRow')\n columnValues.forEach(x => {\n const cell = headerRow.appendChild(dom.createElement('th'))\n cell.classList.add('trackerBoardHeaderCell')\n cell.textContent = utils.label(x, true) // Initial capital\n cell.subject = x\n\n const column = mainRow.appendChild(dom.createElement('td'))\n column.classList.add('trackerBoardColumn')\n column.subject = x\n\n function droppedURIHandler (uris) {\n uris.forEach(function (u) {\n const item = store.sym(u)\n options.columnDropHandler(item, x)\n })\n }\n\n if (options.columnDropHandler) {\n widgets.makeDropTarget(column, droppedURIHandler)\n }\n })\n\n /* Each item on the board\n * normally App will override this\n */\n function defaultRenderItem (item, category) {\n const card = dom.createElement('div')\n card.classList.add('trackerBoardCard')\n const table = card.appendChild(dom.createElement('table'))\n table.classList.add('trackerBoardCardTable')\n const classes = store.each(item, ns.rdf('type'))\n const catColors = classes.map(cat => store.any(cat, ns.ui('backgroundColor'))).filter(c => c)\n\n table.appendChild(widgets.personTR(dom, null, item))\n table.subject = item\n\n const backgroundColor = catColors[0] || store.any(category, ns.ui('backgroundColor'))\n card.style.backgroundColor = backgroundColor ? backgroundColor.value : '#fff'\n return card\n }\n\n function sortedBy (values, predicate, defaultSortValue, reverse) {\n const toBeSorted = values.map(x => [store.any(x, predicate) || defaultSortValue, x])\n toBeSorted.sort()\n if (reverse) toBeSorted.reverse() // @@ check\n return toBeSorted.map(pair => pair[1])\n }\n board.refresh = function () {\n const now = new $rdf.Literal(new Date())\n const actualRenderItem = renderItem || options.renderItem || defaultRenderItem\n function localRenderItem (subject) {\n const ele = actualRenderItem(subject)\n widgets.makeDraggable(ele, subject)\n ele.subject = subject\n return ele\n }\n for (let col = mainRow.firstChild; col; col = col.nextSibling) {\n const category = col.subject\n let items = store.each(null, ns.rdf('type'), category)\n const sortBy = options.sortBy || ns.dct('created')\n if (options.filter) {\n items = items.filter(options.filter)\n }\n const sortedItems = sortedBy(items, sortBy, now, true)\n utils.syncTableToArrayReOrdered(col, sortedItems, localRenderItem)\n }\n }\n\n // kb.query(query, addCellFromBindings, undefined, whenDone) // Populate the board\n board.refresh()\n return board\n}\n","\n import API from \"!../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../node_modules/css-loader/dist/cjs.js!./localUtils.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/css-loader/dist/cjs.js!./localUtils.css\";\n export default content && content.locals ? content.locals : undefined;\n","import './localUtils.css'\n\n/* Copied from contacts-pane, made minor adjustments */\nlet modalOverlay = null\nlet previousFocus = null\n\nfunction ensureModalOverlay (dom) {\n // if we previously created an overlay but it was removed from the document\n // (tests clear body), rebuild it. Checking presence ensures our reference\n // doesn't point at a detached element.\n if (modalOverlay && dom.body.contains(modalOverlay)) return modalOverlay\n // otherwise drop stale reference and create a new element\n modalOverlay = null\n // overlay container\n modalOverlay = dom.createElement('div')\n modalOverlay.id = 'issue-modal'\n modalOverlay.className = 'focus-trap hidden'\n modalOverlay.setAttribute('role', 'presentation')\n\n modalOverlay.innerHTML = `\n <div class=\"modal\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"modal-title\" aria-describedby=\"modal-desc\">\n <h2 id=\"modal-title\"></h2>\n <div id=\"modal-desc\"></div>\n <div id=\"modal-buttons\"></div>\n </div>\n `\n\n dom.body.appendChild(modalOverlay)\n\n // keyboard handling (esc/tab)\n modalOverlay.addEventListener('keydown', e => {\n if (e.key === 'Escape') {\n e.stopPropagation()\n // simulate cancel if available\n const cancelBtn = modalOverlay.querySelector('button[data-cancel]')\n if (cancelBtn) cancelBtn.click()\n else closeModal()\n } else if (e.key === 'Tab') {\n // simple focus trap: cycle through focusable elements inside overlay\n const focusable = Array.from(modalOverlay.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])')).filter(el => !el.hasAttribute('disabled'))\n if (focusable.length === 0) return\n const idx = focusable.indexOf(dom.activeElement)\n if (e.shiftKey) {\n if (idx === 0) {\n focusable[focusable.length - 1].focus()\n e.preventDefault()\n }\n } else {\n if (idx === focusable.length - 1) {\n focusable[0].focus()\n e.preventDefault()\n }\n }\n }\n })\n\n return modalOverlay\n}\n\nfunction hideSiblings (hide, dom) {\n const siblings = Array.from(dom.body.children).filter(c => c !== modalOverlay)\n siblings.forEach(el => {\n if (hide) el.setAttribute('aria-hidden', 'true')\n else el.removeAttribute('aria-hidden')\n })\n}\n\nfunction openModal ({ title, message, buttons, dom }) {\n const overlay = ensureModalOverlay(dom)\n\n previousFocus = dom.activeElement\n hideSiblings(true, dom)\n overlay.classList.remove('hidden')\n\n overlay.querySelector('#modal-title').textContent = title || ''\n const descEl = overlay.querySelector('#modal-desc')\n if (typeof message === 'string') {\n descEl.textContent = message\n } else {\n // allow passing nodes\n descEl.innerHTML = ''\n descEl.appendChild(message)\n }\n\n const btnContainer = overlay.querySelector('#modal-buttons')\n btnContainer.innerHTML = ''\n\n return new Promise(resolve => {\n buttons.forEach(btn => {\n const b = dom.createElement('button')\n b.setAttribute('type', 'button')\n b.textContent = btn.label\n if (btn.primary) b.classList.add('btn-primary')\n if (btn.cancel) b.setAttribute('data-cancel', 'true')\n b.addEventListener('click', () => {\n closeModal()\n resolve(btn.value)\n })\n btnContainer.appendChild(b)\n })\n // focus first button\n const first = btnContainer.querySelector('button')\n if (first) first.focus()\n })\n}\n\nfunction closeModal () {\n if (modalOverlay) {\n const modalDom = modalOverlay.ownerDocument\n modalOverlay.classList.add('hidden')\n hideSiblings(false, modalDom)\n if (previousFocus && previousFocus.focus) previousFocus.focus()\n }\n}\n\nexport function alertDialog (message, title = 'Information', dom) {\n return openModal({\n title,\n message,\n buttons: [{ label: 'OK', value: true, primary: true }],\n dom\n })\n}\n","\n import API from \"!../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../node_modules/css-loader/dist/cjs.js!./newIssue.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/css-loader/dist/cjs.js!./newIssue.css\";\n export default content && content.locals ? content.locals : undefined;\n","// Form to collect data about a New Issue\n//\nimport { ns, utils } from 'solid-ui'\nimport * as $rdf from 'rdflib'\nimport { alertDialog } from './localUtils'\nimport './newIssue.css'\n\nexport function newIssueForm (dom, kb, tracker, superIssue, showNewIssue, onCancel) {\n const form = dom.createElement('div') // form is broken as HTML behaviour can resurface on js error\n form.classList.add('trackerNewIssueForm')\n const stateStore = kb.any(tracker, ns.wf('stateStore'))\n onCancel = onCancel || function () {}\n\n const timestring = function () {\n const now = new Date()\n return '' + now.getTime()\n // http://www.w3schools.com/jsref/jsref_obj_date.asp\n }\n\n const sendNewIssue = function () {\n titlefield.setAttribute('class', 'pendingedit')\n titlefield.disabled = true\n const sts = []\n\n const expandTemplate = function (template) {\n const now = new $rdf.Literal(new Date())\n const nnnn = '' + new Date().getTime()\n const YYYY = now.value.slice(0, 4)\n const MM = now.value.slice(5, 7)\n const DD = now.value.slice(8, 10)\n return template\n .replace('{N}', nnnn)\n .replace('{YYYY}', YYYY)\n .replace('{MM}', MM)\n .replace('{DD}', DD)\n }\n // Where to store the new issue?\n const template = kb.anyValue(tracker, ns.wf('issueURITemplate'))\n const issue = template\n // Does each issue do in its own file?\n ? kb.sym(expandTemplate($rdf.uri.join(template, stateStore.uri)))\n : kb.sym(stateStore.uri + '#' + 'Iss' + timestring())\n\n const issueDoc = issue.doc()\n\n // Basic 9 core predicates are stored in the main stateStore\n\n const title = kb.literal(titlefield.value)\n sts.push(new $rdf.Statement(issue, ns.wf('tracker'), tracker, stateStore))\n sts.push(new $rdf.Statement(issue, ns.dc('title'), title, stateStore))\n sts.push(new $rdf.Statement(issue, ns.dct('created'), new Date(), stateStore))\n // Copy states from super issue as after all they are subtasks so initially same state same category\n const initialStates = superIssue\n ? kb.each(superIssue, ns.rdf('type'), null, superIssue.doc())\n : kb.each(tracker, ns.wf('initialState'))\n for (const state of initialStates) {\n sts.push(\n new $rdf.Statement(\n issue,\n ns.rdf('type'),\n state,\n stateStore\n )\n )\n }\n if (superIssue) {\n sts.push(\n new $rdf.Statement(superIssue, ns.wf('dependent'), issue, stateStore)\n )\n }\n\n // Other things are stores in the individual\n if (template) {\n sts.push(new $rdf.Statement(issue, ns.wf('tracker'), tracker, issueDoc))\n sts.push(\n new $rdf.Statement(issue, ns.rdfs('seeAlso'), stateStore, issueDoc)\n )\n }\n\n const sendComplete = function (uri, success, body) {\n if (!success) {\n titlefield.classList.remove('pendingedit')\n titlefield.disabled = false\n titlefield.focus()\n alertDialog(\n `Could not save the new issue. Please try again.\\n\\nDetails: ${body || 'No additional error details provided.'}`,\n 'Save issue failed',\n dom\n )\n } else {\n form.parentNode.removeChild(form)\n showNewIssue(issue)\n }\n }\n kb.updater.update([], sts, sendComplete)\n }\n\n const states = kb.any(tracker, ns.wf('issueClass'))\n const classLabel = utils.label(states)\n const closeForm = function () {\n if (form.parentNode) {\n form.parentNode.removeChild(form)\n }\n onCancel()\n }\n\n const header = form.appendChild(dom.createElement('div'))\n header.classList.add('trackerNewIssueHeader')\n\n const heading = header.appendChild(dom.createElement('h2'))\n heading.textContent = 'Add new ' + (superIssue ? 'sub ' : '') + classLabel\n\n const closeButton = header.appendChild(dom.createElement('button'))\n closeButton.classList.add('trackerNewIssueCloseButton')\n closeButton.setAttribute('type', 'button')\n closeButton.setAttribute('aria-label', 'Close new issue form')\n closeButton.textContent = '×'\n closeButton.addEventListener('click', closeForm, false)\n\n const prompt = form.appendChild(dom.createElement('p'))\n prompt.textContent = 'Title of new ' + classLabel + ':'\n\n const titlefield = dom.createElement('input')\n titlefield.classList.add('trackerNewIssueTitleField')\n titlefield.setAttribute('type', 'text')\n titlefield.setAttribute('maxLength', '2048') // No arbitrary limits\n titlefield.select() // focus next user input\n titlefield.addEventListener(\n 'keyup',\n function (e) {\n if (e.keyCode === 13) {\n sendNewIssue()\n }\n },\n false\n )\n form.appendChild(titlefield)\n titlefield.focus() // we want user cursor here\n return form\n}\n","/* eslint-disable no-console */\n\nexport function log (...args) {\n console.log(...args)\n}\n\nexport function warn (...args) {\n console.warn(...args)\n}\n\nexport function error (...args) {\n console.error(...args)\n}\n\nexport function trace (...args) {\n console.trace(...args)\n}\n","\n import API from \"!../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../node_modules/css-loader/dist/cjs.js!./errors.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/css-loader/dist/cjs.js!./errors.css\";\n export default content && content.locals ? content.locals : undefined;\n","import { widgets } from 'solid-ui'\nimport './errors.css'\n\nexport function complain (div, d, message) {\n div.appendChild(widgets.errorMessageBlock(d, message, 'pink'))\n}\n\nexport function renderErrorSection (dom, container) {\n const errorSection = dom.createElement('section')\n errorSection.classList.add('errorSection')\n errorSection.setAttribute('role', 'status')\n errorSection.setAttribute('aria-live', 'polite')\n errorSection.setAttribute('aria-atomic', 'true') // useful for status messages WCAG 4.1.3\n errorSection.setAttribute('aria-label', 'Error messages')\n errorSection.hidden = true\n container.appendChild(errorSection)\n\n function clearErrors () {\n errorSection.innerHTML = ''\n errorSection.hidden = true\n }\n\n function showError (message) {\n errorSection.innerHTML = ''\n errorSection.hidden = false\n complain(errorSection, dom, message)\n }\n\n return {\n errorSection,\n clearErrors,\n showError\n }\n}\n","\n import API from \"!../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../node_modules/css-loader/dist/cjs.js!./issue.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/css-loader/dist/cjs.js!./issue.css\";\n export default content && content.locals ? content.locals : undefined;\n","// All the UI for a single issue, without store load or listening for changes\n//\nimport { icons, messageArea, ns, utils, widgets } from 'solid-ui'\nimport { authn, store } from 'solid-logic'\nimport { newIssueForm } from './newIssue'\nimport * as $rdf from 'rdflib'\nimport { error, warn } from './debug'\nimport { alertDialog } from './localUtils'\nimport { renderErrorSection } from './errors'\nimport './issue.css'\n\nconst kb = store\n\nconst SET_MODIFIED_DATES = false\n\nexport const TASK_ICON = icons.iconBase + 'noun_17020_gray-tick.svg'\nexport const OPEN_TASK_ICON = icons.iconBase + 'noun_17020_sans-tick.svg'\nexport const CLOSED_TASK_ICON = icons.iconBase + 'noun_17020.svg'\n\nexport function isOpen (issue) {\n const types = kb.findTypeURIs(issue)\n return !!types[ns.wf('Open').uri]\n}\n\nexport function iconForIssue (issue) {\n return isOpen(issue) ? TASK_ICON : CLOSED_TASK_ICON\n}\nexport function getState (issue, classification) {\n const tracker = kb.the(issue, ns.wf('tracker'), null, issue.doc())\n const states = kb.any(tracker, ns.wf('issueClass'))\n classification = classification || states\n const types = kb.each(issue, ns.rdf('type'))\n .filter(ty => kb.holds(ty, ns.rdfs('subClassOf'), classification))\n if (types.length !== 1) {\n // const initialState = kb.any(tracker, ns.wf('initialState')) No do NOT default\n // if (initialState) return initialState\n throw new Error('Issue must have one type as state: ' + types.length)\n }\n return types[0]\n}\n\nexport function getBackgroundColorFromTypes (issue) {\n const classes = kb.each(issue, ns.rdf('type')) // @@ pick cats in order then state\n const catColors = classes.map(cat => kb.any(cat, ns.ui('backgroundColor'))).filter(c => !!c)\n\n if (catColors.length) return catColors[0].value // pick first one\n return null\n}\n\n/* The issue card displayed on the board */\nexport function renderIssueCard (issue, context) {\n function refresh () {\n const backgroundColor = getBackgroundColorFromTypes(issue) || 'white'\n card.style.backgroundColor = backgroundColor\n editButton.style.backgroundColor = backgroundColor // Override white from style sheet\n }\n const dom = context.dom\n const uncategorized = !getBackgroundColorFromTypes(issue) // This is a suspect issue. Prompt to delete it\n\n const card = dom.createElement('div')\n card.classList.add('trackerBoardIssueCard')\n const table = card.appendChild(dom.createElement('table'))\n table.classList.add('trackerBoardIssueCardTable')\n const options = { draggable: false } // Let the board make the whole card draggable\n table.appendChild(widgets.personTR(dom, null, issue, options))\n table.subject = issue\n\n const img = card.firstChild.firstChild.firstChild.firstChild // div/table/tr/td/img\n img.setAttribute('src', icons.iconBase + 'noun_Danger_1259514.svg') // override\n // Add a button for viewing the whole issue in overlay\n const buttonsCell = card.firstChild.firstChild.children[2] // right hand part of card\n buttonsCell.classList.add('trackerBoardIssueCardButtons')\n const editButton = widgets.button(dom, icons.iconBase + 'noun_253504.svg', 'edit', async _event => {\n exposeOverlay(issue, context)\n })\n buttonsCell.appendChild(editButton)\n\n // If uncategorized, shortcut to delete issue\n if (uncategorized) {\n const deleteButton = widgets.deleteButtonWithCheck(dom, buttonsCell, 'issue', async function () { // noun?\n try {\n await kb.updater.update(kb.connectedStatements(issue))\n } catch (err) {\n error('Unable to delete issue: ' + err)\n alertDialog(\n `Unable to delete issue.\\n\\nDetails: ${err?.message || String(err)}`,\n 'Delete failed',\n dom\n )\n return\n }\n card.parentNode.removeChild(card) // refresh doesn't work yet because it is not passed though tabs so short cut\n widgets.refreshTree(context.paneDiv) // Should delete the card if nec when tabs pass it though\n })\n buttonsCell.appendChild(deleteButton)\n }\n card.refresh = refresh\n refresh()\n return card\n}\n// This code was generated by Generative AI (GPT-5.3-Codex in GitHub Copilot) based on the following prompt:\n// can you handle the visibility in exposeOverlay with css?\nexport function exposeOverlay (subject, context) {\n function hideOverlay () {\n overlay.innerHTML = '' // clear overlay\n overlay.classList.remove('trackerOverlayVisible')\n }\n const overlay = context.overlay\n overlay.classList.add('trackerOverlay')\n overlay.innerHTML = '' // clear existing\n try {\n const issuePanel = renderIssue(subject, context)\n overlay.appendChild(issuePanel)\n const button = issuePanel.appendChild(\n widgets.button(context.dom, icons.iconBase + 'noun_1180156.svg', 'close', hideOverlay))\n button.classList.add('trackerOverlayCloseButton')\n delete button.style.backgroundColor // do not want white\n overlay.classList.add('trackerOverlayVisible')\n } catch (err) {\n error('Failed to render issue: ' + err)\n alertDialog(\n `Failed to render issue.\\n\\nDetails: ${err?.message || String(err)}`,\n 'Render failed',\n context.dom\n )\n }\n}\n\nfunction renderSpacer (dom, backgroundColor) {\n const spacer = dom.createElement('div')\n spacer.classList.add('trackerIssueSpacer')\n spacer.style.backgroundColor = backgroundColor // try that\n return spacer\n}\n\n/* The issue displayed in the popup */\nexport function renderIssue (issue, context) {\n const dom = context.dom\n\n // Don't bother changing the last modified dates of things: save time\n function setModifiedDate (subj, kb, doc) {\n if (SET_MODIFIED_DATES) {\n if (!getOption(tracker, 'trackLastModified')) return\n const deletions = kb.statementsMatching(issue, ns.dct('modified'))\n .concat(kb.statementsMatching(issue, ns.wf('modifiedBy'))\n )\n const insertions = [$rdf.st(issue, ns.dct('modified'), new Date(), doc)]\n if (me) insertions.push($rdf.st(issue, ns.wf('modifiedBy'), me, doc))\n kb.updater.update(deletions, insertions, function (_uri, _ok, _body) {})\n }\n }\n function timestring () {\n const now = new Date()\n return '' + now.getTime()\n // http://www.w3schools.com/jsref/jsref_obj_date.asp\n }\n\n function complainIfBad (ok, body) {\n if (!ok) {\n error('Failed to save change:\\n' + body)\n // There is an inline error message from solid-ui that happens here.\n }\n }\n function getOption (tracker, option) {\n // eg 'allowSubIssues'\n const opt = kb.any(tracker, ns.ui(option))\n return !!(opt && opt.value)\n }\n\n function setPaneStyle () {\n const backgroundColor = getBackgroundColorFromTypes(issue) || '#eee' // default grey\n issueDiv.style.borderColor = backgroundColor\n }\n\n /// ////////////// Body of renderIssue\n\n const tracker = kb.the(issue, ns.wf('tracker'), null, issue.doc())\n if (!tracker) throw new Error('No tracker')\n\n const stateStore = kb.any(tracker, ns.wf('stateStore'))\n const store = issue.doc()\n\n const issueDiv = dom.createElement('div')\n issueDiv.classList.add('trackerIssue')\n const messageSection = dom.createElement('div')\n messageSection.classList.add('trackerIssueMessageSection')\n const { showError, clearErrors } = renderErrorSection(dom, messageSection)\n const me = authn.currentUser()\n const backgroundColor = getBackgroundColorFromTypes(issue) || 'white'\n\n setPaneStyle()\n\n authn.checkUser() // kick off async operation\n\n const iconButton = issueDiv.appendChild(widgets.button(dom, iconForIssue(issue)))\n iconButton.classList.add('trackerIssueIconButton')\n widgets.makeDraggable(iconButton, issue) // Drag me wherever you need to do stuff with this issue\n\n const states = kb.any(tracker, ns.wf('issueClass'))\n if (!states) {\n error('Tracker ' + utils.label(tracker) + ' has no issueClass')\n showError('Tracker ' + utils.label(tracker) + ' has no issueClass. Please open Settings and make sure there is a state class with allowed values (for example Open, In Progress, Closed), then save and refresh.')\n issueDiv.appendChild(messageSection)\n return issueDiv\n }\n\n const select = widgets.makeSelectForCategory(\n dom,\n kb,\n issue,\n states,\n stateStore,\n function (ok, body) {\n if (ok) {\n clearErrors()\n setModifiedDate(store, kb, store)\n widgets.refreshTree(issueDiv)\n } else {\n warn('Failed to change state:\\n' + body)\n showError(`Failed to change state.\\n\\nDetails: ${body || 'No additional error details provided.'}`)\n }\n }\n )\n issueDiv.appendChild(select)\n\n const cats = kb.each(tracker, ns.wf('issueCategory')) // zero or more\n for (const cat of cats) {\n issueDiv.appendChild(\n widgets.makeSelectForCategory(\n dom,\n kb,\n issue,\n cat,\n stateStore,\n function (ok, body) {\n if (ok) {\n clearErrors()\n setModifiedDate(store, kb, store)\n widgets.refreshTree(issueDiv)\n } else {\n warn('Failed to change category:\\n' + body)\n showError(`Failed to change category.\\n\\nDetails: ${body || 'No additional error details provided.'}`)\n }\n }\n )\n )\n }\n\n // For when issue is the main solo subject, include link to tracker itself.\n const a = dom.createElement('a')\n a.classList.add('trackerIssueTrackerLink')\n a.setAttribute('href', tracker.uri)\n issueDiv.appendChild(a).textContent = utils.label(tracker)\n a.addEventListener('click', widgets.openHrefInOutlineMode, true)\n\n // Main Form for Title, description only\n const coreIssueFormText = `\n @prefix : <http://www.w3.org/ns/ui#> .\n @prefix core: <http://www.w3.org/2005/01/wf/flow#>.\n @prefix dc: <http://purl.org/dc/elements/1.1/>.\n @prefix wf: <http://www.w3.org/2005/01/wf/flow#> .\n\n core:coreIsueForm a :Form;\n <http://purl.org/dc/elements/1.1/title> \"Core issue data\";\n :parts (\n core:titleField\n core:descriptionField ) .\n\n core:descriptionField a :MultiLineTextField;\n :label \"Description\";\n :property wf:description;\n :size \"40\" .\n\n core:titleField a :SingleLineTextField;\n :label \"Title\";\n :maxLength \"128\";\n :property dc:title; # @@ Should move to dct or schema\n :size \"40\" .\n\n wf:Task :creationForm core:coreIsueForm .\n`\n const CORE_ISSUE_FORM = ns.wf('coreIsueForm')\n $rdf.parse(coreIssueFormText, kb, CORE_ISSUE_FORM.doc().uri, 'text/turtle')\n const form = widgets.appendForm(\n dom,\n null, // was: container\n {},\n issue,\n CORE_ISSUE_FORM,\n stateStore,\n complainIfBad\n )\n form.classList.add('trackerIssueForm')\n issueDiv.appendChild(form)\n form.style.backgroundColor = backgroundColor\n\n // Assigned to whom?\n\n const assignments = kb.statementsMatching(issue, ns.wf('assignee'))\n if (assignments.length > 1) {\n alertDialog('Weird, was assigned to more than one person. Fixing ..', 'Assignment Error', dom)\n const deletions = assignments.slice(1)\n kb.updater.update(deletions, [], function (uri, ok, body) {\n if (ok) {\n clearErrors()\n alertDialog('Now fixed.', 'Assignment Fixed', dom)\n } else {\n error(`Failed to fix multiple assignees:\\n${body}`)\n showError(`Failed to fix multiple assignees.\\n\\nDetails: ${body || 'No additional error details provided.'}`)\n }\n })\n }\n\n // Who could be assigned to this?\n // Anyone assigned to any issue we know about\n\n async function getPossibleAssignees () {\n const devGroups = kb.each(issue, ns.wf('assigneeGroup'))\n await kb.fetcher.load(devGroups) // Load them all\n const groupDevs = devGroups.map(group => kb.each(group, ns.vcard('member'), null, group.doc())).flat()\n // Anyone who is a developer of any project which uses this tracker\n const proj = kb.any(null, ns.doap('bug-database'), tracker) // What project?\n if (proj) {\n await kb.fetcher.load(proj)\n }\n const projectDevs = proj ? kb.each(proj, ns.doap('developer')) : []\n return groupDevs.concat(projectDevs)\n }\n\n // Super issues first - like parent directories .. maybe use breadcrums from?? @@\n function renderSubIssue (issue) {\n const options = { link: false }\n return widgets.personTR(dom, ns.wf('dependent'), issue, options)\n }\n\n getPossibleAssignees().then(devs => {\n if (devs.length) {\n devs.forEach(function (person) {\n kb.fetcher.lookUpThing(person)\n }) // best effort async for names etc\n const opts = {\n // 'mint': '** Add new person **',\n nullLabel: '(unassigned)'\n /* 'mintStatementsFun': function (newDev) {\n var sts = [ $rdf.st(newDev, ns.rdf('type'), ns.foaf('Person')) ]\n if (proj) sts.push($rdf.st(proj, ns.doap('developer'), newDev))\n return sts\n }\n */\n }\n issueDiv.appendChild(\n widgets.makeSelectForOptions(\n dom,\n kb,\n issue,\n ns.wf('assignee'),\n devs,\n opts,\n store,\n function (ok, body) {\n if (ok) {\n clearErrors()\n setModifiedDate(store, kb, store)\n } else {\n error('Failed to change assignee:\\n' + body)\n showError(`Failed to change assignee.\\n\\nDetails: ${body || 'No additional error details provided.'}`)\n }\n }\n )\n )\n }\n })\n\n /* The trees of super-issues and sub-issues\n */\n function supersOver (issue, stack) {\n stack = stack || []\n const sup = kb.any(null, ns.wf('dependent'), issue, issue.doc())\n if (sup) return supersOver(sup, [sup].concat(stack))\n return stack\n }\n if (getOption(tracker, 'allowSubIssues')) {\n const subIssuePanel = issueDiv.appendChild(dom.createElement('div'))\n subIssuePanel.classList.add('trackerIssueSubIssuePanel')\n\n subIssuePanel.appendChild(dom.createElement('h4')).textContent = 'Super Issues'\n const listOfSupers = subIssuePanel.appendChild(dom.createElement('div'))\n listOfSupers.classList.add('trackerIssueSubIssuePanelSupersList')\n listOfSupers.refresh = function () {\n // const supers = kb.each(null, ns.wf('dependent'), issue, issue.doc())\n const supers = supersOver(issue)\n utils.syncTableToArrayReOrdered(listOfSupers, supers, renderSubIssue)\n }\n listOfSupers.refresh()\n\n // Sub issues\n subIssuePanel.appendChild(dom.createElement('h4')).textContent = 'Sub Issues'\n const listOfSubs = subIssuePanel.appendChild(dom.createElement('div'))\n listOfSubs.classList.add('trackerIssueSubIssuePanelSubsList')\n listOfSubs.refresh = function () {\n const subs = kb.each(issue, ns.wf('dependent'), null, issue.doc())\n utils.syncTableToArrayReOrdered(listOfSubs, subs, renderSubIssue)\n }\n listOfSubs.refresh()\n\n const b = dom.createElement('button')\n b.classList.add('trackerIssueSubIssuePanelNewSubButton')\n b.setAttribute('type', 'button')\n subIssuePanel.appendChild(b)\n const classLabel = utils.label(states)\n b.innerHTML = 'New sub ' + classLabel\n b.addEventListener(\n 'click',\n function (_event) {\n subIssuePanel.insertBefore(newIssueForm(dom, kb, tracker, issue, listOfSubs.refresh), b.nextSibling) // Pop form just after button\n },\n false\n )\n }\n\n issueDiv.appendChild(dom.createElement('br'))\n\n // Extras are stored centrally to the tracker\n const extrasForm = kb.any(tracker, ns.wf('extrasEntryForm'))\n if (extrasForm) {\n widgets.appendForm(\n dom,\n issueDiv,\n {},\n issue,\n extrasForm,\n stateStore,\n complainIfBad\n )\n // issueDiv.appendChild(renderSpacer(backgroundColor))\n }\n\n // Comment/discussion area\n const template = kb.anyValue(tracker, ns.wf('issueURITemplate'))\n /*\n var chatDocURITemplate = kb.anyValue(tracker, ns.wf('chatDocURITemplate')) // relaive to issue\n var chat\n if (chatDocURITemplate) {\n let template = $rdf.uri.join(chatDocURITemplate, issue.uri) // Template is relative to issue\n chat = kb.sym(expandTemplate(template))\n } else\n */\n let messageStore\n if (template) {\n messageStore = issue.doc() // for now. Could go deeper\n } else {\n messageStore = kb.any(tracker, ns.wf('messageStore'))\n if (!messageStore) messageStore = kb.any(tracker, ns.wf('stateStore'))\n kb.sym(messageStore.uri + '#' + 'Chat' + timestring()) // var chat =\n }\n\n kb.fetcher.nowOrWhenFetched(messageStore, function (ok, body, _xhr) {\n if (!ok) {\n const er = dom.createElement('p')\n er.classList.add('trackerIssueMessageAreaError')\n er.textContent = body // @@ use nice error message\n messageSection.appendChild(er)\n } else {\n messageSection.appendChild(renderSpacer(dom, backgroundColor))\n const discussion = messageArea(dom, kb, issue, messageStore)\n discussion.classList.add('trackerIssueMessageArea')\n messageSection.appendChild(discussion)\n } // Not sure why e stuck this in upwards rather than downwards\n })\n\n // Draggable attachment list\n const attachmentHint = issueDiv.appendChild(dom.createElement('div'))\n attachmentHint.classList.add('trackerIssueAttachmentHint')\n attachmentHint.innerHTML = `<h4>Attachments</h4>\n <p>Drag files, emails,\n web pages onto the paper clip, or click the file upload button.</p>`\n const uploadFolderURI =\n issue.uri.endsWith('/index.ttl#this') // This has a whole folder to itself\n ? issue.uri.slice(0, 14) + 'Files/' // back to slash\n : issue.dir().uri + 'Files/' + issue.uri.split('#')[1] + '/' // New folder for issue in file with others\n\n widgets.attachmentList(dom, issue, issueDiv, {\n doc: stateStore,\n promptIcon: icons.iconBase + 'noun_25830.svg',\n uploadFolder: kb.sym(uploadFolderURI), // Allow local files to be uploaded\n predicate: ns.wf('attachment')\n })\n\n // Delete button to delete the issue\n const deleteButton = widgets.deleteButtonWithCheck(dom, issueDiv, 'issue', async function () {\n try {\n await kb.updater.update(kb.connectedStatements(issue))\n } catch (err) {\n error('Unable to delete issue: ' + err)\n showError(`Unable to delete issue.\\n\\nDetails: ${err?.message || String(err)}`)\n return\n }\n // @@ refreshTree\n alertDialog('Your issue has been deleted', 'Issue Deleted', dom)\n // This code was generated by Generative AI (GPT-5.3-Codex in GitHub Copilot) based on the following prompt:\n // Could you move the color changes after // @@refreshTree into css?\n issueDiv.classList.add('trackerIssueDeleted')\n })\n deleteButton.classList.add('trackerIssueDeleteButton')\n\n // Refresh button\n const refreshButton = dom.createElement('button')\n refreshButton.classList.add('trackerIssueRefreshButton')\n refreshButton.textContent = 'refresh messages'\n refreshButton.addEventListener(\n 'click',\n async function (_event) {\n try {\n await kb.fetcher.load(messageStore, { force: true, clearPreviousData: true })\n } catch (err) {\n alert(err)\n return\n }\n widgets.refreshTree(issueDiv)\n },\n false\n )\n issueDiv.appendChild(refreshButton)\n issueDiv.appendChild(messageSection)\n return issueDiv\n} // renderIssue\n","\n import API from \"!../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../node_modules/css-loader/dist/cjs.js!./newTracker.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/css-loader/dist/cjs.js!./newTracker.css\";\n export default content && content.locals ? content.locals : undefined;\n","import * as UI from 'solid-ui'\nimport { store } from 'solid-logic'\nimport './newTracker.css'\nimport { alertDialog } from './localUtils'\nimport { error, log } from './debug'\n\nconst ns = UI.ns\nconst updater = store.updater\n\n/* Button for making a whole new tracker\n** This is the least tesetd part of the tracker system at the moment.\n*/\nexport function newTrackerButton (thisTracker, context) {\n function timestring () {\n const now = new Date()\n return '' + now.getTime()\n // http://www.w3schools.com/jsref/jsref_obj_date.asp\n }\n\n // const dom = context.dom\n const button = UI.login.newAppInstance(context.dom, { noun: 'tracker' }, function (\n ws,\n base\n ) {\n function morph (x) {\n // Move any URIs in this space into that space\n if (x.elements !== undefined) return x.elements.map(morph) // Morph within lists\n if (x.uri === undefined) return x\n let u = x.uri\n if (u === stateStore.uri) return newStore // special case\n if (u.slice(0, oldBase.length) === oldBase) {\n u = base + u.slice(oldBase.length)\n }\n return kb.sym(u)\n }\n\n const appPathSegment = 'issuetracker.w3.org' // how to allocate this string and connect to\n const sp = UI.ns.space\n const kb = context.session.store\n\n if (!base) {\n base = kb.any(ws, sp('uriPrefix')).value\n if (base.slice(-1) !== '/') {\n error(`${appPathSegment}: No / at end of uriPrefix ${base}`)\n base = base + '/'\n }\n base += appPathSegment + '/' + timestring() + '/' // unique id\n if (!confirm('Make new tracker at ' + base + '?')) {\n return\n }\n }\n\n const stateStore = kb.any(thisTracker, ns.wf('stateStore'))\n const newStore = kb.sym(base + 'store.ttl')\n\n const here = thisTracker.doc()\n\n const oldBase = here.uri.slice(0, here.uri.lastIndexOf('/') + 1)\n\n const there = morph(here)\n const newTracker = morph(thisTracker)\n\n const myConfig = kb.statementsMatching(\n undefined,\n undefined,\n undefined,\n here\n )\n for (let i = 0; i < myConfig.length; i++) {\n const st = myConfig[i]\n kb.add(\n morph(st.subject),\n morph(st.predicate),\n morph(st.object),\n there\n )\n }\n\n // Keep a paper trail @@ Revisit when we have non-public ones @@ Privacy\n //\n kb.add(newTracker, UI.ns.space('inspiration'), thisTracker, stateStore)\n\n kb.add(newTracker, UI.ns.space('inspiration'), thisTracker, there)\n\n updater.put(\n there,\n kb.statementsMatching(undefined, undefined, undefined, there),\n 'text/turtle',\n function (uri2, ok, message) {\n if (ok) {\n updater.put(newStore, [], 'text/turtle', function (\n uri3,\n ok,\n message\n ) {\n if (ok) {\n log(`Ok The tracker created OK at: ${newTracker.uri}\\nMake a note of it, bookmark it.`)\n } else {\n error(`Failed to set up new store at: ${newStore.uri} : ${message}`)\n alertDialog(\n `Failed to set up new store at: ${newStore.uri}\\n\\nDetails: ${message || 'No additional error details provided.'}`,\n 'Create tracker failed',\n context.dom\n )\n }\n })\n } else {\n error(`Failed to save new tracker at: ${there.uri} : ${message}`)\n alertDialog(\n `Failed to save new tracker at: ${there.uri}\\n\\nDetails: ${message || 'No additional error details provided.'}`,\n 'Save tracker failed',\n context.dom\n )\n }\n }\n )\n\n // Created new data files.\n // @@ Now create initial files - html skin, (Copy of mashlib, css?)\n // @@ Now create form to edit configuation parameters\n // @@ Optionally link new instance to list of instances -- both ways? and to child/parent?\n // @@ Set up access control for new config and store.\n }) // callback to newAppInstance\n button.classList.add('trackerNewTrackerButton')\n return button\n} // newTrackerButton\n","// A Button to copy the state of the tracker in CSV format\n// Comma-separated Values\n//\n// Yes this mixes the layers but that is not all bad if it gets it in one file\n// one can look at\n\nimport { icons, ns, utils, widgets } from 'solid-ui'\nimport { store } from 'solid-logic'\nimport { alertDialog } from './localUtils'\nimport { error } from './debug'\n\nexport function quoteString (value) {\n // https://www.rfc-editor.org/rfc/rfc4180\n const stripped = value.replaceAll('\\n', ' ')\n if (!stripped.includes(',')) {\n return stripped\n } // If contains comma then put in quotes and double up internal quotes\n const quoted = '\"' + stripped.replaceAll('\"', '\"\"') + '\"'\n const check = quoted.slice(1, -1).replaceAll('\"\"', '')\n if (check.includes('\"')) {\n error(`quoteString failed to quote properly, value: ${value}, quoted: ${quoted}, check: ${check}`)\n throw new Error('CSV inconsistency')\n }\n return quoted\n}\n\nexport function csvText (store, tracker) {\n function columnText (task, column) {\n let thing\n if (column.predicate) {\n thing = store.any(task, column.predicate)\n return thing ? thing.value : '--'\n } else if (column.category) {\n const types = store.each(task, ns.rdf('type'))\n for (const t of types) {\n if (store.holds(t, ns.rdfs('subClassOf'), column.category)) {\n thing = t\n }\n }\n if (!thing) return '?' + utils.label(column.category) // Missing cat OK\n // if (!thing) throw new Error('wot no class of category ', column.category)\n } else {\n error('column has no predicate or category', column)\n throw new Error('Column has no predicate or category.')\n }\n return utils.label(thing)\n }\n\n function taskLine (task) {\n return columns.map(column => columnText(task, column))\n .map(quoteString)\n .join(',') + '\\n'\n }\n const stateStore = store.any(tracker, ns.wf('stateStore'))\n const tasks = store.each(null, ns.wf('tracker'), tracker, stateStore)\n\n const columns = [\n\n { label: 'Name', predicate: ns.dc('title') },\n /* { label: 'Description', predicate: ns.wf('description') }, */\n\n /* { label: 'State', category: ns.wf('Task') }\n */\n ]\n const states = store.any(tracker, ns.wf('issueClass')) // Main states are subclasses of this class\n const stateColumn = { label: 'State', category: states } // better than 'task'\n columns.push(stateColumn)\n\n const categories = store.each(tracker, ns.wf('issueCategory'))\n\n const classifications = categories\n for (const c of classifications) {\n const column = { label: utils.label(c), category: c }\n columns.push(column) // Classes are different\n }\n\n // const propertyList = ns.wf('propertyList')\n const form = store.any(tracker, ns.wf('extrasEntryForm'), null, null)\n\n if (form) {\n const parts = store.any(form, ns.ui('parts'), null, form.doc())\n\n const fields = parts.elements\n\n for (const field of fields) {\n const prop = store.any(field, ns.ui('property'))\n if (prop) {\n const lab = utils.label(prop)\n const column = { label: lab, predicate: prop }\n columns.push(column)\n }\n }\n }\n // Put description on the end as it can be long\n columns.push({ label: 'Description', predicate: ns.wf('description') })\n const header = columns.map(col => col.label).join(',') + '\\n'\n // Order tasks?? By Creation date? By Status?\n const body = tasks.map(taskLine).join('')\n return header + body\n}\n\nexport function csvButton (dom, tracker) {\n const wrapper = dom.createElement('div')\n let pendingCsvCopy = false\n\n wrapper.addEventListener('copy', event => {\n if (!pendingCsvCopy) return\n pendingCsvCopy = false\n\n let csv\n try {\n csv = csvText(store, tracker)\n } catch (err) {\n alertDialog(\n `Could not generate CSV. Please check tracker data and try again.\\n\\nDetails: ${err?.message || String(err)}`,\n 'CSV export error',\n dom\n )\n event.preventDefault()\n return\n }\n\n event.preventDefault()\n event.clipboardData.setData('text/plain', csv)\n event.clipboardData.setData('text/csv', csv)\n alertDialog('CSV data copied to clipboard.', 'CSV export', dom)\n })\n\n // Add a button\n const button = widgets.button(dom, icons.iconBase + 'noun_Document_998605.svg',\n 'Copy as CSV', async _event => {\n pendingCsvCopy = true\n const copied = dom.execCommand('copy')\n if (!copied) {\n pendingCsvCopy = false\n alertDialog('Could not copy CSV to clipboard. Please try again.', 'CSV export error', dom)\n }\n })\n\n wrapper.appendChild(button)\n return wrapper\n}\n","\n import API from \"!../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../node_modules/css-loader/dist/cjs.js!./csvButton.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/css-loader/dist/cjs.js!./csvButton.css\";\n export default content && content.locals ? content.locals : undefined;\n","\n import API from \"!../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../node_modules/css-loader/dist/cjs.js!./issuePane.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/css-loader/dist/cjs.js!./issuePane.css\";\n export default content && content.locals ? content.locals : undefined;\n","/* Issue Tracker Pane\n **\n ** This solid view allows a user to interact with an issue tracker, or individual issue,\n ** to change its state according to an ontology, comment on it, etc.\n **\n */\n\nimport { create, login, ns, icons, tabs, table, utils, widgets } from 'solid-ui'\nimport { store, authn } from 'solid-logic'\nimport { board } from './board' // @@ will later be in solid-UI\nimport { renderIssue, renderIssueCard, getState, exposeOverlay } from './issue'\nimport { newTrackerButton } from './newTracker'\nimport { newIssueForm } from './newIssue'\nimport { csvButton } from './csvButton'\nimport { complain, renderErrorSection } from './errors'\nimport { trackerSettingsFormText } from './ontology/trackerSettingsForm.ttl'\nimport * as $rdf from 'rdflib'\nimport { error, log, warn } from './debug'\nimport './issue.css'\nimport './board.css'\nimport './newTracker.css'\nimport './newIssue.css'\nimport './csvButton.css'\nimport './issuePane.css'\n\nconst kb = store\n\n// const MY_TRACKERS_ICON = UI.icons.iconBase + 'noun_Document_998605.svg'\n// const TRACKER_ICON = UI.icons.iconBase + 'noun_list_638112'\n// const TASK_ICON = UI.icons.iconBase + 'noun_17020.svg'\n\nconst OVERFLOW_CLASS = 'trackerOverlay'\n\nexport default {\n icon: icons.iconBase + 'noun_122196.svg', // was: js/panes/issue/tbl-bug-22.png\n // noun_list_638112 is a checklist document\n // noun_Document_998605.svg is a stack of twpo checklists\n // noun_97839.svg is a ladybug\n // noun_122196.svg is a clipboard with a check list on it\n // noun_17020.svg is a single check box\n name: 'issue',\n\n audience: [], // Anyone. was [ns.solid('PowerUser')]\n\n // Does the subject deserve an issue pane?\n label: function (subject, _context) {\n const t = kb.findTypeURIs(subject)\n if (\n t['http://www.w3.org/2005/01/wf/flow#Task'] ||\n kb.holds(subject, ns.wf('tracker'))\n ) { return 'issue' } // in case ontology not available\n if (t['http://www.w3.org/2005/01/wf/flow#Tracker']) return 'tracker'\n // Later: Person. For a list of things assigned to them,\n // open bugs on projects they are developer on, etc\n return null // No under other circumstances (while testing at least!)\n },\n\n mintClass: ns.wf('Tracker'),\n\n mintNew: async function (context, options) {\n /** Perform updates on more than one document @@ Move to rdflib!\n */\n async function updateMany (deletions, insertions) {\n const docs = deletions.concat(insertions).map(st => st.why)\n const uniqueDocs = Array.from(new Set(docs))\n const updates = uniqueDocs.map(doc =>\n kb.updater.update(deletions.filter(st => st.why.sameTerm(doc)),\n insertions.filter(st => st.why.sameTerm(doc))))\n return Promise.all(updates)\n }\n\n const kb = context.session.store\n let stateStore\n if (options.newInstance) {\n stateStore = kb.sym(options.newInstance.doc().uri + '_state.ttl')\n } else {\n options.newInstance = kb.sym(options.newBase + 'index.ttl#this')\n stateStore = kb.sym(options.newBase + 'state.ttl')\n }\n const tracker = options.newInstance\n const appDoc = tracker.doc()\n\n const me = authn.currentUser()\n if (me) {\n kb.add(tracker, ns.dc('author'), me, appDoc)\n }\n\n kb.add(tracker, ns.rdf('type'), ns.wf('Tracker'), appDoc)\n kb.add(tracker, ns.dc('created'), new Date(), appDoc)\n\n // @@ to do --- adk user what sort of tracker they want\n\n kb.add(tracker, ns.wf('issueClass'), ns.wf('Task'), appDoc) // @@ ask user\n kb.add(tracker, ns.wf('initialState'), ns.wf('Open'), appDoc)\n kb.add(tracker, ns.wf('stateStore'), stateStore, appDoc)\n kb.add(tracker, ns.wf('assigneeClass'), ns.foaf('Person'), appDoc) // @@ set to people in the meeting?\n\n kb.add(tracker, ns.wf('stateStore'), stateStore, stateStore) // Back Link\n\n const ins = kb.statementsMatching(undefined, undefined, undefined, appDoc).concat(kb.statementsMatching(undefined, undefined, undefined, stateStore))\n try {\n await updateMany([], ins)\n } catch (err) {\n error('Error writing tracker configuration: ' + err)\n return complain(options.div, context.dom, 'Error creating the tracker configuration')\n }\n /*\n try {\n await kb.updater.updateMany([], kb.statementsMatching(undefined, undefined, undefined, stateStore))\n } catch (err) {\n return widgets.complain(context, 'Error writing tracker state file: ' + err)\n }\n */\n const dom = context.dom\n const div = options.div\n\n const notice = div.appendChild(dom.createElement('div'))\n notice.innerHTML = `<h4>Success</h4>\n <p>Your <a href=\"${tracker.uri}\">new tracker</a> has been made.\n Use the settings tab to configure it.\n </p>\n `\n // console.log('New tracker created ' + tracker)\n // alert('New tracker created')\n return options\n },\n\n render: function (subject, context) {\n const dom = context.dom\n\n const paneDiv = dom.createElement('div')\n context.paneDiv = paneDiv\n paneDiv.setAttribute('class', 'issuePane')\n const { errorSection, clearErrors, showError } = renderErrorSection(dom, paneDiv)\n\n function attachErrorSection (tabsContainer) {\n const tabsMain = tabsContainer?.querySelector('main')\n if (!tabsMain?.parentNode) return\n if (tabsMain.nextSibling !== errorSection) {\n tabsMain.parentNode.insertBefore(errorSection, tabsMain.nextSibling)\n }\n }\n\n function complainIfBad (ok, message) {\n if (ok) {\n clearErrors()\n } else {\n showError(message)\n }\n }\n\n /** Infer subclass from disjoint Union\n **\n ** This is would not be needed if our quey language\n ** allowed is to query ardf Collection membership.\n */\n async function fixSubClasses (kb, tracker) { // 20220228\n async function checkOneSuperclass (klass) {\n const collection = kb.any(klass, ns.owl('disjointUnionOf'), null, doc)\n if (!collection) {\n error(`Classification ${klass} has no disjointUnionOf`)\n throw new Error(`Tracker configuration error: ${utils.label(klass)} is missing its allowed state list (owl:disjointUnionOf)`)\n }\n if (!collection.elements) {\n error(`Classification ${klass} has no array`)\n throw new Error(`Tracker configuration error: ${utils.label(klass)} has no array`)\n }\n const needed = new Set(collection.elements.map(x => x.uri))\n const existing = new Set(kb.each(null, ns.rdfs('subClassOf'), klass, doc).map(x => x.uri))\n\n const superfluous = [...existing].filter(sub => !needed.has(sub))\n const deleteActions = superfluous.map(sub => { return { action: 'delete', st: $rdf.st(kb.sym(sub), ns.rdfs('subClassOf'), klass, doc) } })\n\n const missing = [...needed].filter(sub => !existing.has(sub))\n const insertActions = missing.map(sub => { return { action: 'insert', st: $rdf.st(kb.sym(sub), ns.rdfs('subClassOf'), klass, doc) } })\n return deleteActions.concat(insertActions)\n }\n const doc = tracker.doc()\n const states = kb.any(tracker, ns.wf('issueClass'))\n const cats = kb.each(tracker, ns.wf('issueCategory')).concat([states])\n let damage = [] // to make totally functionaly need to deal with map over async.\n for (const klass of cats) {\n try {\n damage = damage.concat(await checkOneSuperclass(klass))\n } catch (err) {\n error('Error checking subclasses of ' + utils.label(klass) + ': ' + err)\n showError('Tracker settings need an update for \"' + utils.label(klass) + '\". Open Settings and make sure this status/category has a list of allowed values (for example Open, In Progress, Closed), then save and refresh.')\n }\n }\n if (damage.length) {\n const insertables = damage.filter(fix => fix.action === 'insert').map(fix => fix.st)\n const deletables = damage.filter(fix => fix.action === 'delete').map(fix => fix.st)\n warn('Damage:', damage)\n const fixSummary = `${damage.length} total (${insertables.length} add, ${deletables.length} remove)`\n if (confirm(`Apply subclass fixes in tracker config? ${fixSummary}.`)) {\n await kb.updater.update(deletables, insertables)\n }\n }\n }\n\n /** /////////////////////////// Board\n */\n function renderBoard (tracker, klass) {\n const states = kb.any(tracker, ns.wf('issueClass'))\n klass = klass || states // default to states\n const doingStates = klass.sameTerm(states)\n\n // These are states we will show by default: the open issues.\n const stateArray = kb.any(klass, ns.owl('disjointUnionOf'))\n\n if (!stateArray) {\n error(`Configuration error: state ${states} does not have a disjointUnionOf`)\n return showError(`Configuration error: state ${states} does not have substates`)\n }\n let columnValues = stateArray.elements\n if (doingStates && columnValues.length > 2 // and there are more than two\n ) { // strip out closed states\n columnValues = columnValues.filter(state => kb.holds(state, ns.rdfs('subClassOf'), ns.wf('Open')) || state.sameTerm(ns.wf('Open')))\n }\n\n async function columnDropHandler (issue, newState) {\n const currentState = getState(issue, klass)\n const tracker = kb.the(issue, ns.wf('tracker'), null, issue.doc())\n const stateStore = kb.any(tracker, ns.wf('stateStore'))\n\n if (newState.sameTerm(currentState)) {\n // alert('Same state ' + utils.label(currentState)) // @@ remove\n return\n }\n try {\n await kb.updater.update(\n [$rdf.st(issue, ns.rdf('type'), currentState, stateStore)],\n [$rdf.st(issue, ns.rdf('type'), newState, stateStore)])\n clearErrors()\n } catch (err) {\n error('Unable to change issue state: ' + err)\n showError('Unable to change issue state')\n }\n boardDiv.refresh() // reorganize board to match the new reality\n }\n\n function isOpen (issue) {\n const types = kb.findTypeURIs(issue)\n return !!types[ns.wf('Open').uri]\n }\n\n const options = { columnDropHandler, filter: doingStates ? null : isOpen }\n options.sortBy = ns.dct('created')\n options.sortReverse = true\n function localRenderIssueCard (issue) {\n return renderIssueCard(issue, context)\n }\n // const columnValues = states // @@ optionally selected states would work\n const boardDiv = board(dom, columnValues, localRenderIssueCard, options)\n boardDiv.classList.add('trackerBoard')\n return boardDiv\n }\n\n /** ////////////// Table\n */\n function tableRefreshButton (stateStore, tableDiv) {\n const refreshButton = widgets.button(dom, icons.iconBase + 'noun_479395.svg',\n 'refresh table', async _event => {\n try {\n await kb.fetcher.load(stateStore, { force: true, clearPreviousData: true })\n clearErrors()\n } catch (err) {\n error('Unable to refresh table: ' + err)\n showError('Unable to refresh the table. Please try again, and if this continues, refresh the page.')\n return\n }\n widgets.refreshTree(tableDiv)\n })\n return refreshButton\n }\n\n function renderTable (tracker) {\n function newOptionalClause () {\n const clause = new $rdf.IndexedFormula()\n query.pat.optional.push(clause)\n return clause\n }\n const states = kb.any(subject, ns.wf('issueClass'))\n const cats = kb.each(tracker, ns.wf('issueCategory')) // zero or more\n const vars = ['issue', 'state', 'created']\n const query = new $rdf.Query(utils.label(subject))\n for (let i = 0; i < cats.length; i++) {\n vars.push('_cat_' + i)\n }\n const v = {} // The RDF variable objects for each variable name\n vars.forEach(function (x) {\n query.vars.push((v[x] = $rdf.variable(x)))\n })\n query.pat.add(v.issue, ns.wf('tracker'), tracker)\n // query.pat.add(v['issue'], ns.dc('title'), v['title'])\n query.pat.add(v.issue, ns.dct('created'), v.created)\n query.pat.add(v.issue, ns.rdf('type'), v.state)\n query.pat.add(v.state, ns.rdfs('subClassOf'), states)\n\n query.pat.optional = []\n\n for (let i = 0; i < cats.length; i++) {\n const clause = newOptionalClause()\n clause.add(v.issue, ns.rdf('type'), v['_cat_' + i])\n clause.add(v['_cat_' + i], ns.rdfs('subClassOf'), cats[i])\n }\n\n const propertyList = kb.any(tracker, ns.wf('propertyList')) // List of extra properties\n if (propertyList) {\n const properties = propertyList.elements\n for (let p = 0; p < properties.length; p++) {\n const prop = properties[p]\n let vname = '_prop_' + p\n if (prop.uri.indexOf('#') >= 0) {\n vname = prop.uri.split('#')[1]\n }\n const oneOpt = newOptionalClause()\n query.vars.push((v[vname] = $rdf.variable(vname)))\n oneOpt.add(v.issue, prop, v[vname])\n }\n }\n\n const selectedStates = {}\n const possible = kb.each(undefined, ns.rdfs('subClassOf'), states)\n possible.forEach(function (s) {\n if (\n kb.holds(s, ns.rdfs('subClassOf'), ns.wf('Open')) ||\n s.sameTerm(ns.wf('Open'))\n ) {\n selectedStates[s.uri] = true\n // console.log('on '+s.uri); // @@\n }\n })\n\n function exposeThisOverlay (href) {\n const subject = $rdf.sym(href)\n exposeOverlay(subject, context)\n }\n\n const tableDiv = table(dom, {\n query,\n keyVariable: '?issue', // Charactersic of row\n sortBy: '?created', // By default, sort by date\n sortReverse: true, // most recent at the top\n hints: {\n '?issue': { linkFunction: exposeThisOverlay, label: 'Title' },\n '?created': { cellFormat: 'shortDate' },\n '?state': { initialSelection: selectedStates, label: 'Status' }\n }\n })\n const stateStore = kb.any(subject, ns.wf('stateStore'))\n tableDiv.appendChild(tableRefreshButton(stateStore, tableDiv))\n tableDiv.classList.add('trackerBoardTable')\n return tableDiv\n }\n\n // Allow user to create new things within the folder\n function renderCreationControl (refreshTarget) {\n const creationDiv = dom.createElement('div')\n const me = authn.currentUser()\n const creationContext = {\n // folder: subject,\n div: creationDiv,\n dom,\n noun: 'tracker',\n statusArea: creationDiv,\n me,\n refreshTarget\n }\n const issuePane = context.session.paneRegistry.byName('issue')\n const relevantPanes = [issuePane]\n create.newThingUI(creationContext, context, relevantPanes) // Have to pass panes down newUI\n creationDiv.classList.add('trackerCreationControlContainer')\n return creationDiv\n }\n\n function renderInstances (theClass) {\n const instancesDiv = dom.createElement('div')\n const context = { dom, div: instancesDiv, noun: 'tracker' }\n login.registrationList(context, { public: true, private: true, type: theClass }).then(_context2 => {\n instancesDiv.appendChild(renderCreationControl(instancesDiv))\n /* // keep this code in case we need a form\n const InstancesForm = ns.wf('TrackerInstancesForm')\n const text = trackerInstancesFormText\n $rdf.parse(text, kb, InstancesForm.doc().uri, 'text/turtle')\n widgets.appendForm(dom, instancesDiv, {}, tracker, InstancesForm,\n tracker.doc(), complainIfBad)\n */\n })\n return instancesDiv\n }\n function renderSettings (tracker) {\n const settingsDiv = dom.createElement('div')\n settingsDiv.appendChild(csvButton(dom, tracker)) // Button to copy the tracker as a CSV file\n const states = kb.any(tracker, ns.wf('issueClass'))\n const views = [tableView, states] // Possible default views\n .concat(kb.each(tracker, ns.wf('issueCategory')))\n const box = settingsDiv.appendChild(dom.createElement('div'))\n const lhs = widgets.renderNameValuePair(dom, kb, box, null, 'Default view') // @@ use a predicate?\n lhs.appendChild(widgets.makeSelectForOptions(dom, kb, tracker,\n ns.wf('defaultView'),\n views, {}, tracker.doc()))\n\n // A registration control allows the to record this tracker in their type index\n const context = { dom, div: settingsDiv, noun: 'tracker' }\n login.registrationControl(context, tracker, ns.wf('Tracker')).then(_context2 => {\n const settingsForm = ns.wf('TrackerSettingsForm')\n const text = trackerSettingsFormText\n $rdf.parse(text, kb, settingsForm.doc().uri, 'text/turtle')\n widgets.appendForm(dom, settingsDiv, {}, tracker, settingsForm,\n tracker.doc(), complainIfBad)\n })\n return settingsDiv\n }\n\n function renderTabsTableAndBoard () {\n function renderMain (ele, object) {\n ele.innerHTML = '' // Clear out \"loading message\"\n if (object.sameTerm(boardView)) {\n ele.appendChild(renderBoard(tracker))\n } else if (object.sameTerm(tableView)) {\n ele.appendChild(renderTable(tracker))\n } else if (object.sameTerm(settingsView)) {\n ele.appendChild(renderSettings(tracker))\n } else if (object.sameTerm(instancesView)) {\n ele.appendChild(renderInstances(ns.wf('Tracker')))\n } else if ((kb.holds(tracker, ns.wf('issueCategory'), object)) ||\n (kb.holds(tracker, ns.wf('issueClass'), object))) {\n ele.appendChild(renderBoard(tracker, object))\n } else {\n throw new Error('Unexpected tab type: ' + object)\n }\n }\n const states = kb.any(tracker, ns.wf('issueClass'))\n const items = [instancesView, tableView, states]\n .concat(kb.each(tracker, ns.wf('issueCategory')))\n items.push(settingsView)\n const selectedTab = kb.any(tracker, ns.wf('defaultView'), null, tracker.doc()) || tableView\n const options = { renderMain, items, selectedTab }\n\n // Add stuff to the ontologies which we believe but they don't say\n const doc = instancesView.doc()\n kb.add(instancesView, ns.rdfs('label'), 'My Trackers', doc) // @@ squatting on wf ns\n kb.add(settingsView, ns.rdfs('label'), 'Settings', doc) // @@ squatting on wf ns\n kb.add(states, ns.rdfs('label'), 'By State', doc) // @@ squatting on wf ns\n\n const myTabs = tabs.tabWidget(options)\n return myTabs\n }\n\n async function renderSingleIssue () {\n tracker = kb.any(subject, ns.wf('tracker'))\n if (!tracker) throw new Error('This issue ' + subject + 'has no tracker')\n\n // Much data is in the tracker instance, so wait for the data from it\n try {\n // eslint-disable-next-line no-unused-vars\n const _xhrs = await context.session.store.fetcher.load(tracker.doc())\n } catch (err) {\n error(`Failed to load tracker config: ${tracker.doc()}: ${err}`)\n return showError('Failed to load tracker config')\n }\n\n const stateStore = kb.any(tracker, ns.wf('stateStore'))\n if (!stateStore) {\n error('Tracker has no state store: ' + tracker)\n return showError('Tracker has no state store: ' + tracker)\n }\n try {\n await context.session.store.fetcher.load(subject)\n } catch (err) {\n error(`Failed to load issue state: ${stateStore}: ${err}`)\n return showError('Failed to load issue state')\n }\n paneDiv.appendChild(renderIssue(subject, context))\n updater.addDownstreamChangeListener(stateStore, function () {\n widgets.refreshTree(paneDiv)\n }) // Live update\n }\n\n async function renderTracker () {\n function showNewIssue (issue) {\n widgets.refreshTree(paneDiv)\n exposeOverlay(issue, context)\n newIssueButton.disabled = false // https://stackoverflow.com/questions/41176582/enable-disable-a-button-in-pure-javascript\n }\n tracker = subject\n\n try {\n await fixSubClasses(kb, tracker)\n } catch (err) {\n error('Error fixing subclasses in config: ' + err)\n showError('Error fixing subclasses in config')\n }\n\n const states = kb.any(subject, ns.wf('issueClass'))\n if (!states) {\n error('This tracker has no issueClass')\n showError('Tracker settings are incomplete: missing Issue Class. Open Settings, choose an Issue Class, then refresh.')\n return\n }\n const stateStore = kb.any(subject, ns.wf('stateStore'))\n if (!stateStore) {\n error('This tracker has no stateStore')\n showError('Tracker settings are incomplete: missing State Store. Open Settings, save the tracker state settings, then refresh.')\n return\n }\n\n // const me = await authn.currentUser()\n\n const h = dom.createElement('h2')\n h.setAttribute('style', 'font-size: 150%')\n paneDiv.appendChild(h)\n const classLabel = utils.label(states)\n h.appendChild(dom.createTextNode(classLabel + ' list')) // Use class label @@I18n\n\n // New Issue button\n const newIssueButton = dom.createElement('button')\n const container = dom.createElement('div')\n newIssueButton.setAttribute('type', 'button')\n newIssueButton.classList.add('trackerIssuePaneNewIssueButton')\n container.classList.add('trackerIssuePaneNewIssueButtonContainer')\n container.appendChild(newIssueButton)\n paneDiv.appendChild(container)\n const img = dom.createElement('img')\n img.classList.add('trackerIssuePaneNewIssueButtonImage')\n img.setAttribute('src', icons.iconBase + 'noun_19460_green.svg')\n newIssueButton.appendChild(img)\n const span = dom.createElement('span')\n span.classList.add('trackerIssuePaneNewIssueButtonText')\n span.innerHTML = 'New ' + classLabel\n newIssueButton.appendChild(span)\n newIssueButton.addEventListener(\n 'click',\n function (_event) {\n newIssueButton.disabled = true\n container.appendChild(newIssueForm(dom, kb, tracker, null, showNewIssue))\n },\n false\n )\n\n // Table of issues - when we have the main issue list\n // We also need the ontology loaded\n //\n context.session.store.fetcher\n .load([stateStore])\n .then(function (_xhrs) {\n const tableDiv = renderTabsTableAndBoard(tracker)\n // const tableDiv = renderTable(tracker) // was\n paneDiv.appendChild(tableDiv)\n attachErrorSection(tableDiv)\n\n if (tableDiv.refresh) {\n // Refresh function\n } else {\n warn('No refresh function on the tableDiv?!')\n showError('There is no way to refresh the table view. Please refresh the whole page to see updates to the issues.')\n }\n paneDiv.appendChild(newTrackerButton(subject, context))\n updater.addDownstreamChangeListener(stateStore, tableDiv.refresh) // Live update\n })\n .catch(function (err) {\n error('Cannot load state store: ' + err)\n showError('Cannot load state store')\n })\n // end of Tracker instance\n } // render tracker\n\n /* Render tabs with both views\n */\n const boardView = ns.wf('BoardView')\n const tableView = ns.wf('TableView')\n const settingsView = ns.wf('SettingsView')\n const instancesView = ns.wf('InstancesView')\n\n const updater = kb.updater\n const t = kb.findTypeURIs(subject)\n let tracker\n\n // Whatever we are rendering, lets load the ontology\n const flowOntology = ns.wf('').doc()\n if (!kb.holds(undefined, undefined, undefined, flowOntology)) {\n // If not loaded already\n $rdf.parse(require('./ontology/wf.ttl'), kb, flowOntology.uri, 'text/turtle') // Load ontology directly\n }\n const userInterfaceOntology = ns.ui('').doc()\n if (!kb.holds(undefined, undefined, undefined, userInterfaceOntology)) {\n // If not loaded already\n $rdf.parse(require('./ontology/ui.ttl'), kb, userInterfaceOntology.uri, 'text/turtle') // Load ontology directly\n }\n\n // Render a single issue\n if (\n t['http://www.w3.org/2005/01/wf/flow#Task'] ||\n kb.holds(subject, ns.wf('tracker'))\n ) {\n renderSingleIssue()\n .then(() => log('Single issue rendered'))\n .catch(err => {\n error('Single issue render failed: ' + err)\n showError('Could not load this issue view. Please refresh, and if this continues, check tracker settings.')\n })\n } else if (t['http://www.w3.org/2005/01/wf/flow#Tracker']) {\n // Render a Tracker instance\n renderTracker()\n .then(() => log('Tracker rendered'))\n .catch(err => {\n error('Tracker render failed: ' + err)\n showError('Could not load this tracker. Open Settings to verify Issue Class, then refresh.')\n })\n } else {\n error(\n 'Error: Issue pane: No evidence that ' +\n subject +\n ' is either a bug or a tracker.'\n )\n showError('This item is not recognized as an issue or tracker.')\n }\n\n let loginOutButton\n const overlay = paneDiv.appendChild(dom.createElement('div'))\n overlay.classList.add(OVERFLOW_CLASS)\n context.overlay = overlay\n\n authn.checkUser().then(webId => {\n if (webId) {\n context.me = webId\n // @@ enable things\n return\n }\n\n loginOutButton = login.loginStatusBox(dom, webIdUri => {\n if (webIdUri) {\n context.me = kb.sym(webIdUri)\n paneDiv.removeChild(loginOutButton)\n // enable things\n } else {\n context.me = null\n }\n })\n\n loginOutButton.classList.add('trackerIssuePaneLoginButton')\n paneDiv.insertBefore(loginOutButton, paneDiv.firstChild)\n if (!context.statusArea) {\n context.statusArea = paneDiv.insertBefore(dom.createElement('div'), paneDiv.firstChild)\n }\n })\n\n return paneDiv\n }\n}\n"],"names":["ns","utils","widgets","store","$rdf","board","dom","columnValues","renderItem","options","createElement","classList","add","table","appendChild","headerRow","mainRow","forEach","x","cell","textContent","label","subject","column","droppedURIHandler","uris","u","item","sym","columnDropHandler","makeDropTarget","defaultRenderItem","category","card","classes","each","rdf","catColors","map","cat","any","ui","filter","c","personTR","backgroundColor","style","value","sortedBy","values","predicate","defaultSortValue","reverse","toBeSorted","sort","pair","refresh","now","Literal","Date","actualRenderItem","localRenderItem","ele","makeDraggable","col","firstChild","nextSibling","items","sortBy","dct","sortedItems","syncTableToArrayReOrdered","modalOverlay","previousFocus","ensureModalOverlay","body","contains","id","className","setAttribute","innerHTML","addEventListener","e","key","stopPropagation","cancelBtn","querySelector","click","closeModal","focusable","Array","from","querySelectorAll","el","hasAttribute","length","idx","indexOf","activeElement","shiftKey","focus","preventDefault","hideSiblings","hide","siblings","children","removeAttribute","openModal","title","message","buttons","overlay","remove","descEl","btnContainer","Promise","resolve","btn","b","primary","cancel","first","modalDom","ownerDocument","alertDialog","newIssueForm","kb","tracker","superIssue","showNewIssue","onCancel","form","stateStore","wf","timestring","getTime","sendNewIssue","titlefield","disabled","sts","expandTemplate","template","nnnn","YYYY","slice","MM","DD","replace","anyValue","issue","uri","join","issueDoc","doc","literal","push","Statement","dc","initialStates","state","rdfs","sendComplete","success","parentNode","removeChild","updater","update","states","classLabel","closeForm","header","heading","closeButton","prompt","select","keyCode","log","args","console","warn","error","trace","complain","div","d","errorMessageBlock","renderErrorSection","container","errorSection","hidden","clearErrors","showError","icons","messageArea","authn","SET_MODIFIED_DATES","TASK_ICON","iconBase","OPEN_TASK_ICON","CLOSED_TASK_ICON","isOpen","types","findTypeURIs","iconForIssue","getState","classification","the","ty","holds","Error","getBackgroundColorFromTypes","renderIssueCard","context","editButton","uncategorized","draggable","img","buttonsCell","button","_event","exposeOverlay","deleteButton","deleteButtonWithCheck","connectedStatements","err","String","refreshTree","paneDiv","hideOverlay","issuePanel","renderIssue","renderSpacer","spacer","setModifiedDate","subj","getOption","deletions","statementsMatching","concat","insertions","st","me","_uri","_ok","_body","complainIfBad","ok","option","opt","setPaneStyle","issueDiv","borderColor","messageSection","currentUser","checkUser","iconButton","makeSelectForCategory","cats","a","openHrefInOutlineMode","coreIssueFormText","CORE_ISSUE_FORM","parse","appendForm","assignments","getPossibleAssignees","devGroups","fetcher","load","groupDevs","group","vcard","flat","proj","doap","projectDevs","renderSubIssue","link","then","devs","person","lookUpThing","opts","nullLabel","makeSelectForOptions","supersOver","stack","sup","subIssuePanel","listOfSupers","supers","listOfSubs","subs","insertBefore","extrasForm","messageStore","nowOrWhenFetched","_xhr","er","discussion","attachmentHint","uploadFolderURI","endsWith","dir","split","attachmentList","promptIcon","uploadFolder","refreshButton","force","clearPreviousData","alert","UI","newTrackerButton","thisTracker","login","newAppInstance","noun","ws","base","morph","elements","undefined","newStore","oldBase","appPathSegment","sp","space","session","confirm","here","lastIndexOf","there","newTracker","myConfig","i","object","put","uri2","uri3","quoteString","stripped","replaceAll","includes","quoted","check","csvText","columnText","task","thing","t","taskLine","columns","tasks","stateColumn","categories","classifications","parts","fields","field","prop","lab","csvButton","wrapper","pendingCsvCopy","event","csv","clipboardData","setData","copied","execCommand","create","tabs","trackerSettingsFormText","OVERFLOW_CLASS","icon","name","audience","_context","mintClass","mintNew","updateMany","docs","why","uniqueDocs","Set","updates","sameTerm","all","newInstance","newBase","appDoc","foaf","ins","notice","render","attachErrorSection","tabsContainer","tabsMain","fixSubClasses","checkOneSuperclass","klass","collection","owl","needed","existing","superfluous","sub","has","deleteActions","action","missing","insertActions","damage","insertables","fix","deletables","fixSummary","renderBoard","doingStates","stateArray","newState","currentState","boardDiv","sortReverse","localRenderIssueCard","tableRefreshButton","tableDiv","renderTable","newOptionalClause","clause","IndexedFormula","query","pat","optional","vars","Query","v","variable","created","propertyList","properties","p","vname","oneOpt","selectedStates","possible","s","exposeThisOverlay","href","keyVariable","hints","linkFunction","cellFormat","initialSelection","renderCreationControl","refreshTarget","creationDiv","creationContext","statusArea","issuePane","paneRegistry","byName","relevantPanes","newThingUI","renderInstances","theClass","instancesDiv","registrationList","public","private","type","_context2","renderSettings","settingsDiv","views","tableView","box","lhs","renderNameValuePair","registrationControl","settingsForm","text","renderTabsTableAndBoard","renderMain","boardView","settingsView","instancesView","selectedTab","myTabs","tabWidget","renderSingleIssue","_xhrs","addDownstreamChangeListener","renderTracker","newIssueButton","h","createTextNode","span","catch","flowOntology","require","userInterfaceOntology","loginOutButton","webId","loginStatusBox","webIdUri"],"sourceRoot":""}
|