@skillcdn/console 0.1.19 → 0.1.20
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 +1 -1
- package/dist/cli/help.js +2 -2
- package/dist/cli/help.js.map +1 -1
- package/dist/components/board.d.ts +18 -8
- package/dist/components/board.d.ts.map +1 -1
- package/dist/components/board.js +180 -27
- package/dist/components/board.js.map +1 -1
- package/dist/components/comments.d.ts +0 -2
- package/dist/components/comments.d.ts.map +1 -1
- package/dist/components/comments.js +4 -39
- package/dist/components/comments.js.map +1 -1
- package/dist/components/documents.d.ts +2 -0
- package/dist/components/documents.d.ts.map +1 -1
- package/dist/components/documents.js +51 -5
- package/dist/components/documents.js.map +1 -1
- package/dist/components/files.d.ts +11 -0
- package/dist/components/files.d.ts.map +1 -0
- package/dist/components/files.js +44 -0
- package/dist/components/files.js.map +1 -0
- package/dist/components/runs.d.ts.map +1 -1
- package/dist/components/runs.js +34 -7
- package/dist/components/runs.js.map +1 -1
- package/dist/console.css +96 -74
- package/dist/console.d.ts.map +1 -1
- package/dist/console.js +3 -3
- package/dist/console.js.map +1 -1
- package/dist/docs-page.d.ts.map +1 -1
- package/dist/docs-page.js +14 -1
- package/dist/docs-page.js.map +1 -1
- package/dist/i18n/en.d.ts +6 -3
- package/dist/i18n/en.d.ts.map +1 -1
- package/dist/i18n/en.js +6 -3
- package/dist/i18n/en.js.map +1 -1
- package/dist/i18n/ko.d.ts.map +1 -1
- package/dist/i18n/ko.js +6 -3
- package/dist/i18n/ko.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/docs/specs/cli.md +2 -2
- package/docs/specs/rest.md +2 -2
- package/package.json +1 -1
- package/skills/working-the-board/SKILL.md +3 -3
- package/src/cli/help.ts +2 -2
- package/src/components/board.tsx +300 -73
- package/src/components/comments.tsx +10 -39
- package/src/components/documents.tsx +87 -4
- package/src/components/files.ts +49 -0
- package/src/components/runs.tsx +73 -15
- package/src/console.tsx +12 -6
- package/src/docs-page.tsx +18 -1
- package/src/i18n/en.ts +7 -3
- package/src/i18n/ko.ts +7 -3
- package/src/index.ts +1 -1
- package/src/styles/console.css +96 -74
package/README.md
CHANGED
|
@@ -75,7 +75,7 @@ createConsole({
|
|
|
75
75
|
}).mount(document.getElementById("root"));
|
|
76
76
|
```
|
|
77
77
|
|
|
78
|
-
- **The components** take their data as props and nothing from the network: `Board` (one column per state, the sooner due first), `TaskCard`, `BoardFilters` with `filterTasks` and `byDue` (the board narrowed by category, goal, person and one's own), `TaskList` (tasks as rows, a page at a time), `TaskView` (one task with its plan, its moments, its decisions and its parts), `TaskForm` (with the `categories` and the `goals` to choose from), `Calendar` and `Workload` with `workloadOf` (a month with each task across its planned days, a bar in a lane of its own, or on its one day, a due day or a start, the person who has each before its title, with a legend of the colours of the `categories` given, and who has what; `weekSegments` lays the bars; `TaskTip` is the task under the pointer in full, with the facts its page lists, within its item and above or below it as `placeTip` says, where there is more room, its goal named from the `goals` given; the composition narrows the page with `BoardFilters` as it does the board, the address carrying the filter with the month), `GoalList`, `GoalView` and `GoalForm` (the roadmap, one goal with its tasks by state, and the way to set one, with the `categories` to sort it into and its start and target days, ADR-0026), `GoalTimeline` with `timelineBars` (the roadmap as months: six from the month given, each goal planned in days a bar from its start to its target in the colour of its category, filled as far as its tasks are done, today marked, and the goals without days named below; `Calendar` given `goalHref` marks each goal's target day on the month), `WorkList` (a person's own work across projects), `CategoryList` (the categories, with the ways an administrator keeps them), `DecisionList` and `DecisionCard` (the waiting ones as cards, each with the way to answer; the answered ones as the record, `DecisionLog`, a row each, a page at a time), `DecisionForm`, `EventFeed` (a sentence per event, newest first, a page at a time; `describeEvent` makes the sentence), `Shell` (the header with the workspace, the project, the tabs of the pages and the person's menu), `SignIn` (one button per provider the deployment offers), `TokenList`, `TokenForm` and `NewToken` (the agents a person connected, as the tokens they hold, the way to make one by hand, and the one just made with its secret shown once), `ConnectCodeForm`, `ConnectApproval` and `ConnectWords` (an agent connecting with a code: where the code is typed, what asks under it with the way to approve or refuse it, and what to tell the agent; `ConnectPage` composes the first two for a code), `PeopleList` (everyone in, with what each is and what let them in, the logins let in that nobody signed in with yet, and the deactivated, with the ways for an administrator to change a role, take a person out or back in, and take a listing away) and `ListingForm` (where an administrator lets someone in by login), `ProjectMark` (a project's mark: its own image when it has one, else its symbol on its colour, or the ones chosen from its key and its name; `sm`, `md` or `lg`), `ProjectList`, `ProjectForm` and `MemberList` (the projects a person may see with what they are in each, the way to make or change one, its mark included, with an image chosen for it (`onSubmit` gets the file, or `null` to take the image away), and those listed in a project with the way for an owner to add, change and remove them; `ProjectRoleBadge`, `PROJECT_ROLE_LABELS`, `VISIBILITY_LABELS` and `keyOf` with them), `SkillList` (a project's skills as SkillCDN serves them at its address, each with where a person reads it and what an agent loads it by, and how an agent is connected to it), `RulesView` and `RulesForm` (the rules of the board, ADR-0023: what holds and where it comes from, the console's own, a page written or none, with `{language}` filled with the language the pages speak, folded under its facts where asked, and the ways to write them, put them away and go back to the console's own for whoever may; the form starts from what holds and saves nothing that would change nothing), `FolderView`, `DocumentList`, `DocumentSearch`, `DocumentView`, `DocumentForm`, `DocumentFiles` and `DocumentCrumbs` (a project's documents: a folder's folders and pages, the way to find pages by their words, one page with its versions, what it links to, what refers to it and its files, and the forms to write and attach; `DocsPage` composes them for a path), `RunList` and `RunCard` (an agent's run on a task: what it reported, what it handed in, links and files alike, what it waits for, and when an open one was last heard from; `RunStatusBadge` and `RUN_STATUS_LABELS` with them, and `fileHref` for where a file is read), `TaskThread`, `CommentCard` and `CommentForm` (the discussion on a task, ADR-0024: the comments, the runs and the decisions as one thread in the order they came, which `threadOf` orders, each comment with who said it, through which agent, its text with the pictures it names in place and its other files after it, pictures being what `isPicture` says, and the form at the end, where a picture pasted in goes with the comment; `TaskView` shows the thread given `comments` and `onComment`, and its `fileHref` names any file of the project by its id), and `Markdown`, which renders what people and agents wrote as elements, never as HTML, with links to the web only and pictures over https only, or, given `fileSrc`, from the file of that name, and, given `docHref`, a link to a page's path as a link to the page. `DecisionCard` reads as a record, with the context, the rationale and what followed, which `onUpdate` lets a person write. The small blocks (`Button`, `CopyButton` (a text put on the clipboard), `Badge`, `Avatar` (`xs` to `lg`), `PersonChip` with `personName` (a person by the name the host gives, the login where there is none), `Callout`, `EmptyState`, `Spinner`, `Time`, `Day`, `CategoryBadge`, `DueBadge`, `GoalStateBadge`, `ProgressBar`, and `ShowMore` with `usePaged` and `PAGE_SIZE`, a long list a page at a time), the words of the vocabulary (`STATE_LABELS`, `PRIORITY_LABELS`, `ROLE_LABELS`, with `RoleBadge`) and the day helpers (`today`, `addDays`, `daysBetween`, `monthGrid`, `formatDay`, `formatMonth` and the rest, days being the strings the API spells them as) are exported too.
|
|
78
|
+
- **The components** take their data as props and nothing from the network: `Board` (one column per state, the sooner due first; given `onMove`, a card is dragged to another column with a mouse, or with a finger that rests on it a moment first; given `editHref` and `onArchive`, each card has a menu with the way to the task's form and, once it is done or dropped, the way to put it away), `TaskCard`, `BoardFilters` with `filterTasks` and `byDue` (the board narrowed by category, goal, person and one's own), `TaskList` (tasks as rows, a page at a time), `TaskView` (one task with its plan, its moments, its decisions and its parts), `TaskForm` (with the `categories` and the `goals` to choose from), `Calendar` and `Workload` with `workloadOf` (a month with each task across its planned days, a bar in a lane of its own, or on its one day, a due day or a start, the person who has each before its title, with a legend of the colours of the `categories` given, and who has what; `weekSegments` lays the bars; `TaskTip` is the task under the pointer in full, with the facts its page lists, within its item and above or below it as `placeTip` says, where there is more room, its goal named from the `goals` given; the composition narrows the page with `BoardFilters` as it does the board, the address carrying the filter with the month), `GoalList`, `GoalView` and `GoalForm` (the roadmap, one goal with its tasks by state, and the way to set one, with the `categories` to sort it into and its start and target days, ADR-0026), `GoalTimeline` with `timelineBars` (the roadmap as months: six from the month given, each goal planned in days a bar from its start to its target in the colour of its category, filled as far as its tasks are done, today marked, and the goals without days named below; `Calendar` given `goalHref` marks each goal's target day on the month), `WorkList` (a person's own work across projects), `CategoryList` (the categories, with the ways an administrator keeps them), `DecisionList` and `DecisionCard` (the waiting ones as cards, each with the way to answer; the answered ones as the record, `DecisionLog`, a row each, a page at a time), `DecisionForm`, `EventFeed` (a sentence per event, newest first, a page at a time; `describeEvent` makes the sentence), `Shell` (the header with the workspace, the project, the tabs of the pages and the person's menu), `SignIn` (one button per provider the deployment offers), `TokenList`, `TokenForm` and `NewToken` (the agents a person connected, as the tokens they hold, the way to make one by hand, and the one just made with its secret shown once), `ConnectCodeForm`, `ConnectApproval` and `ConnectWords` (an agent connecting with a code: where the code is typed, what asks under it with the way to approve or refuse it, and what to tell the agent; `ConnectPage` composes the first two for a code), `PeopleList` (everyone in, with what each is and what let them in, the logins let in that nobody signed in with yet, and the deactivated, with the ways for an administrator to change a role, take a person out or back in, and take a listing away) and `ListingForm` (where an administrator lets someone in by login), `ProjectMark` (a project's mark: its own image when it has one, else its symbol on its colour, or the ones chosen from its key and its name; `sm`, `md` or `lg`), `ProjectList`, `ProjectForm` and `MemberList` (the projects a person may see with what they are in each, the way to make or change one, its mark included, with an image chosen for it (`onSubmit` gets the file, or `null` to take the image away), and those listed in a project with the way for an owner to add, change and remove them; `ProjectRoleBadge`, `PROJECT_ROLE_LABELS`, `VISIBILITY_LABELS` and `keyOf` with them), `SkillList` (a project's skills as SkillCDN serves them at its address, each with where a person reads it and what an agent loads it by, and how an agent is connected to it), `RulesView` and `RulesForm` (the rules of the board, ADR-0023: what holds and where it comes from, the console's own, a page written or none, with `{language}` filled with the language the pages speak, folded under its facts where asked, and the ways to write them, put them away and go back to the console's own for whoever may; the form starts from what holds and saves nothing that would change nothing), `FolderView`, `DocumentList`, `DocumentSearch`, `DocumentView`, `DocumentForm`, `DocumentFiles` and `DocumentCrumbs` (a project's documents: a folder's folders and pages, the way to find pages by their words, one page with its versions, what it links to, what refers to it and its files, a picture among them shown where the body names it, and the forms to write and attach, a picture pasted into the body attached once the page is written; `DocsPage` composes them for a path), `RunList` and `RunCard` (an agent's run on a task: what it reported, what it handed in, links and files alike, a picture among them small and large as a comment's is and placed in a report by its file name, what it waits for, and when an open one was last heard from; `RunStatusBadge` and `RUN_STATUS_LABELS` with them, and `fileHref` for where a file is read), `TaskThread`, `CommentCard` and `CommentForm` (the discussion on a task, ADR-0024: the comments, the runs and the decisions as one thread in the order they came, which `threadOf` orders, each comment with who said it, through which agent, its text with the pictures it names in place and its other files after it, pictures being what `isPicture` says, and the form at the end, where a picture pasted in goes with the comment; `TaskView` shows the thread given `comments` and `onComment`, and its `fileHref` names any file of the project by its id), and `Markdown`, which renders what people and agents wrote as elements, never as HTML, with links to the web only and pictures over https only, or, given `fileSrc`, from the file of that name, and, given `docHref`, a link to a page's path as a link to the page. `DecisionCard` reads as a record, with the context, the rationale and what followed, which `onUpdate` lets a person write. The small blocks (`Button`, `CopyButton` (a text put on the clipboard), `Badge`, `Avatar` (`xs` to `lg`), `PersonChip` with `personName` (a person by the name the host gives, the login where there is none), `Callout`, `EmptyState`, `Spinner`, `Time`, `Day`, `CategoryBadge`, `DueBadge`, `GoalStateBadge`, `ProgressBar`, and `ShowMore` with `usePaged` and `PAGE_SIZE`, a long list a page at a time), the words of the vocabulary (`STATE_LABELS`, `PRIORITY_LABELS`, `ROLE_LABELS`, with `RoleBadge`) and the day helpers (`today`, `addDays`, `daysBetween`, `monthGrid`, `formatDay`, `formatMonth` and the rest, days being the strings the API spells them as) are exported too.
|
|
79
79
|
- **The composition:** `createConsole(config)` returns `{ App, mount }`. `App` is the whole console as one component; `mount(container)` renders it and returns the way to take it down. `config.baseUrl` is the origin of the API (the page's own when left out), `config.components` the pieces to replace (`ConsoleComponents` names them with the props each takes), `config.languages` the packs the pages speak, `config.brand` the addresses of a symbol and a wordmark to show beside the name (ADR-0013; the default console passes those of `@skillcdn/brand`, the main repository's package of its marks), `config.client` a client of your own, for tests. The SkillCDN name and marks are trademarks of KDX Labs under the main repository's trademark policy, not under this package's MIT license; a custom console brings its own marks through the same slot. A console that holds a token rather than a session (one of your own, served by `console serve`) is told so by the API (`me.agent`, the token's name) and offers nothing a token cannot do: no agents page and no sign-out, since the tokens themselves are a person's own doing; everything else, configuring included, it does on the token as the person (ADR-0021), and it keeps the choice of language on the person. The pages route in the browser and every form has an address (ADR-0010): the projects at `/`, the person's own work at `/work`, the workspace's settings at `/settings` (its rules, its categories at `/categories`, where its skills come from), a project's pages under `/projects/<key>` (its roadmap, calendar and settings among them), a task by its number, a goal and a decision by their ids, a document by its path, and the query for how a page is shown, the board's filters, the calendar's month, the week of the person's work and the settings' forms among it (`matchRoute(pathname, search)`, `PATHS`, `projectHref`, `boardHref`, `taskHref`, `goalHref`, `calendarHref`, `workHref`, `personWorkHref`, `decisionHref`, `docHref`, `settingsHref`, `projectSettingsHref`, `newTaskHref`, `newGoalHref`, `newDecisionHref`, and `movedFrom` for the addresses of before); every link to one of them is followed in place, with one history entry per step; the workspace is loaded once and the project the page is on whole, kept current by the project's stream (`useConsoleData(client, projectKey)`, for a composition of your own).
|
|
80
80
|
- **Pages of your own:** `config.pages` adds tabs beside the console's. Each is a `CustomPage`: a `key` (what the address says: `/pages/<key>` on the workspace, `/projects/<project>/pages/<key>` on a project), a `label` (one word, or a word by language tag with `en` standing in), a `level` (`workspace`, or `project` for a tab on every project), `wide` for a page that takes the whole window, and `render(context)`, which gets what the default pages get: the `data` of `useConsoleData` with its actions, the `project` the page is on, the `client`, the `navigation`, the `words` and the `language`. `customPageHref` names the address and `customPageLabel` the tab's word. A page that is not among the pages given shows nothing there.
|
|
81
81
|
- **The languages:** every word the pages show is in a pack (`Messages`, keyed as `en` is), English and Korean ship (`ENGLISH`, `KOREAN`, `DEFAULT_LANGUAGES`), and a component takes its words from the language above it (`useWords`, `useLanguage`, `LanguageContext`), English where there is none. The person's choice is kept on them (`client.updateMe({ language })`) and the browser's languages decide before one (`chooseLanguage`, `packFor`). `createConsole({ languages })` replaces the packs the default console speaks, so that a custom console adds a language of its own; a pack is complete by type.
|
package/dist/cli/help.js
CHANGED
|
@@ -211,7 +211,7 @@ export const COMMAND_HELP = {
|
|
|
211
211
|
},
|
|
212
212
|
"hand-in": {
|
|
213
213
|
usage: "hand-in <https url | file path> [--label <words>]",
|
|
214
|
-
about: "Hands in what was made: a link (a branch, a pull request, a document, a page), or a file from this machine, which the console keeps and shows on the task.",
|
|
214
|
+
about: "Hands in what was made: a link (a branch, a pull request, a document, a page), or a file from this machine, which the console keeps and shows on the task; a picture is shown there small and large, and a report that names it as  shows it where the words are.",
|
|
215
215
|
limits: [
|
|
216
216
|
"a link: https only",
|
|
217
217
|
`a file: up to ${MAX_FILE_BYTES} bytes, not empty; it is called by its name, without the path`,
|
|
@@ -319,7 +319,7 @@ export const COMMAND_HELP = {
|
|
|
319
319
|
},
|
|
320
320
|
attach: {
|
|
321
321
|
usage: "attach <path> <file> [--label <words>]",
|
|
322
|
-
about: "Attaches a file from this machine to a page: the console keeps it, and the page
|
|
322
|
+
about: "Attaches a file from this machine to a page: the console keeps it, and the page lists it; a picture is shown where the body names it as .",
|
|
323
323
|
limits: [
|
|
324
324
|
`a file: up to ${MAX_FILE_BYTES} bytes, not empty; it is called by its name, without the path`,
|
|
325
325
|
`at most ${MAX_FILES_PER_DOCUMENT} files on one page`,
|
package/dist/cli/help.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,28 +6,38 @@ export interface BoardProps {
|
|
|
6
6
|
/** The link to a task's own page, as the composition routes it. */
|
|
7
7
|
readonly taskHref: (task: RestTask) => string;
|
|
8
8
|
readonly onOpen: (task: RestTask) => void;
|
|
9
|
-
/** Called when a person moves a task to another column. Left out, the
|
|
9
|
+
/** Called when a person moves a task to another column. Left out, the cards stay where they are. */
|
|
10
10
|
readonly onMove?: ((task: RestTask, state: TaskState) => void) | undefined;
|
|
11
11
|
/** The day to count due days from; the browser's today when left out. */
|
|
12
12
|
readonly today?: string | undefined;
|
|
13
13
|
/** What a column shows when it has nothing; the way to write the first task, for example. */
|
|
14
14
|
readonly empty?: ReactNode;
|
|
15
|
-
/** Where
|
|
16
|
-
readonly
|
|
15
|
+
/** Where a task is edited, as the composition routes it; given, each card's menu leads there. */
|
|
16
|
+
readonly editHref?: ((task: RestTask) => string) | undefined;
|
|
17
|
+
/** Called when the menu's edit is chosen, to show the form without leaving the page; left out, the link is followed. */
|
|
18
|
+
readonly onEdit?: ((task: RestTask) => void) | undefined;
|
|
19
|
+
/** Called when a task done or dropped is put away from its card's menu (ADR-0029). Left out, the menu offers nothing of it. */
|
|
20
|
+
readonly onArchive?: ((task: RestTask) => void) | undefined;
|
|
17
21
|
}
|
|
18
22
|
/** The state a column stands for, read off its `data-column`; nothing for a value that is not one. */
|
|
19
23
|
export declare function columnStateOf(value: string | null | undefined): TaskState | undefined;
|
|
20
|
-
export
|
|
24
|
+
export interface TaskCardProps {
|
|
21
25
|
readonly task: RestTask;
|
|
22
26
|
readonly href: string;
|
|
23
27
|
readonly onOpen: (task: RestTask) => void;
|
|
24
|
-
readonly onMove?: ((task: RestTask, state: TaskState) => void) | undefined;
|
|
25
28
|
readonly today?: string | undefined;
|
|
26
|
-
/** Called when the card
|
|
27
|
-
readonly
|
|
29
|
+
/** Called when the card is pressed anywhere but on its controls, to drag it to another column; left out, the card stays where it is. */
|
|
30
|
+
readonly onPress?: ((task: RestTask, event: ReactPointerEvent<HTMLElement>) => void) | undefined;
|
|
28
31
|
/** Whether the card is on its way to another column. */
|
|
29
32
|
readonly dragging?: boolean | undefined;
|
|
30
|
-
|
|
33
|
+
/** Where the task is edited; given, the card's menu leads there. */
|
|
34
|
+
readonly editHref?: string | undefined;
|
|
35
|
+
/** Called when the menu's edit is chosen, to show the form without leaving the page; left out, the link is followed. */
|
|
36
|
+
readonly onEdit?: ((task: RestTask) => void) | undefined;
|
|
37
|
+
/** Called when the task is put away from the card's menu; offered once the task is done or dropped (ADR-0029). */
|
|
38
|
+
readonly onArchive?: ((task: RestTask) => void) | undefined;
|
|
39
|
+
}
|
|
40
|
+
export declare function TaskCard(props: TaskCardProps): import("react").JSX.Element;
|
|
31
41
|
/** The order a column reads in: what is due soonest first, what has no day after, the newest first among those. */
|
|
32
42
|
export declare function byDue(a: RestTask, b: RestTask): number;
|
|
33
43
|
export declare function Board(props: BoardProps): import("react").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"board.d.ts","sourceRoot":"","sources":["../../src/components/board.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"board.d.ts","sourceRoot":"","sources":["../../src/components/board.tsx"],"names":[],"mappings":"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"}
|
package/dist/components/board.js
CHANGED
|
@@ -1,10 +1,19 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
1
|
+
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useCallback, useEffect, useRef, useState, } from "react";
|
|
3
|
+
import { createPortal } from "react-dom";
|
|
3
4
|
import { TASK_STATES, } from "../api.js";
|
|
4
5
|
import { useWords } from "../i18n/index.js";
|
|
6
|
+
import { OPEN_TASK_STATES } from "../vocabulary.js";
|
|
7
|
+
import { isPlainClick } from "./shell.js";
|
|
5
8
|
import { Avatar, Badge, Button, CategoryBadge, cx, DueBadge, PriorityBadge, personName, } from "./ui.js";
|
|
6
|
-
/** How far a
|
|
9
|
+
/** How far a mouse travels on a card before the press is a drag and not a click. */
|
|
7
10
|
const DRAG_SLACK = 4;
|
|
11
|
+
/**
|
|
12
|
+
* How long a finger rests on a card before the card comes loose, and how far it may wander
|
|
13
|
+
* meanwhile; a finger that moves sooner is scrolling the page, not moving the card.
|
|
14
|
+
*/
|
|
15
|
+
const HOLD_MS = 300;
|
|
16
|
+
const HOLD_SLACK = 8;
|
|
8
17
|
/** How near the pointer comes to the board's edge before the board scrolls to show more columns. */
|
|
9
18
|
const EDGE = 48;
|
|
10
19
|
const EDGE_STEP = 12;
|
|
@@ -14,13 +23,114 @@ export function columnStateOf(value) {
|
|
|
14
23
|
}
|
|
15
24
|
export function TaskCard(props) {
|
|
16
25
|
const words = useWords();
|
|
17
|
-
const { task } = props;
|
|
18
|
-
|
|
19
|
-
|
|
26
|
+
const { task, onPress } = props;
|
|
27
|
+
const closed = !OPEN_TASK_STATES.includes(task.state);
|
|
28
|
+
const archive = closed ? props.onArchive : undefined;
|
|
29
|
+
return (_jsxs("article", { className: cx("sc-card", onPress !== undefined && "sc-card-movable", props.dragging === true && "sc-card-dragging"), "aria-label": `#${task.number} ${task.title}`, onPointerDown: onPress === undefined ? undefined : (event) => onPress(task, event), children: [(props.editHref !== undefined || archive !== undefined) && (_jsx(CardMenu, { task: task, editHref: props.editHref, onEdit: props.onEdit, onArchive: archive })), _jsxs("a", { className: "sc-card-title", href: props.href, onClick: (event) => {
|
|
30
|
+
if (isPlainClick(event)) {
|
|
20
31
|
event.preventDefault();
|
|
21
32
|
props.onOpen(task);
|
|
22
33
|
}
|
|
23
|
-
}, children: [_jsxs("span", { className: "sc-card-number", children: ["#", task.number] }), " ", task.title] }), _jsxs("div", { className: "sc-card-meta", children: [task.category !== null && _jsx(CategoryBadge, { category: task.category }), _jsx(PriorityBadge, { priority: task.priority }), task.dueOn !== null && (_jsx(DueBadge, { dueOn: task.dueOn, state: task.state, today: props.today })), task.openDecisions > 0 && (_jsx(Badge, { tone: "warning", title: words.board.decisionsTitle, children: words.board.decisions(task.openDecisions) })), _jsx("span", { className: "sc-card-spacer" }), task.assignee !== null && _jsx(Avatar, { person: task.assignee, size: "sm" })] })
|
|
34
|
+
}, children: [_jsxs("span", { className: "sc-card-number", children: ["#", task.number] }), " ", task.title] }), _jsxs("div", { className: "sc-card-meta", children: [task.category !== null && _jsx(CategoryBadge, { category: task.category }), _jsx(PriorityBadge, { priority: task.priority }), task.dueOn !== null && (_jsx(DueBadge, { dueOn: task.dueOn, state: task.state, today: props.today })), task.openDecisions > 0 && (_jsx(Badge, { tone: "warning", title: words.board.decisionsTitle, children: words.board.decisions(task.openDecisions) })), _jsx("span", { className: "sc-card-spacer" }), task.assignee !== null && _jsx(Avatar, { person: task.assignee, size: "sm" })] })] }));
|
|
35
|
+
}
|
|
36
|
+
const MENU_GAP = 4;
|
|
37
|
+
const MENU_MARGIN = 8;
|
|
38
|
+
/**
|
|
39
|
+
* The card's menu: three dots in its corner, which open the ways a card has beyond being moved,
|
|
40
|
+
* each given by the composition. The menu is rendered over the document, so that no column
|
|
41
|
+
* clips it; a press elsewhere, the escape key, a scroll or a change of the window closes it.
|
|
42
|
+
*/
|
|
43
|
+
function CardMenu(props) {
|
|
44
|
+
const words = useWords();
|
|
45
|
+
const [place, setPlace] = useState(null);
|
|
46
|
+
const button = useRef(null);
|
|
47
|
+
const panel = useRef(null);
|
|
48
|
+
const open = place !== null;
|
|
49
|
+
const close = useCallback(() => setPlace(null), []);
|
|
50
|
+
const toggle = () => {
|
|
51
|
+
const rect = button.current?.getBoundingClientRect();
|
|
52
|
+
if (open || rect === undefined) {
|
|
53
|
+
close();
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
setPlace({
|
|
57
|
+
top: rect.bottom + MENU_GAP,
|
|
58
|
+
right: Math.max(MENU_MARGIN, window.innerWidth - rect.right),
|
|
59
|
+
});
|
|
60
|
+
};
|
|
61
|
+
useEffect(() => {
|
|
62
|
+
if (!open) {
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
// Opened near the bottom of the window, the menu stands above its button instead.
|
|
66
|
+
const shown = panel.current?.getBoundingClientRect();
|
|
67
|
+
const anchor = button.current?.getBoundingClientRect();
|
|
68
|
+
if (shown !== undefined &&
|
|
69
|
+
anchor !== undefined &&
|
|
70
|
+
shown.bottom > window.innerHeight - MENU_MARGIN) {
|
|
71
|
+
setPlace((current) => current === null
|
|
72
|
+
? current
|
|
73
|
+
: { ...current, top: Math.max(MENU_MARGIN, anchor.top - MENU_GAP - shown.height) });
|
|
74
|
+
}
|
|
75
|
+
panel.current?.querySelector("[role='menuitem']")?.focus({ preventScroll: true });
|
|
76
|
+
const away = (event) => {
|
|
77
|
+
const target = event.target;
|
|
78
|
+
if (target instanceof Node &&
|
|
79
|
+
(panel.current?.contains(target) === true || button.current?.contains(target) === true)) {
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
close();
|
|
83
|
+
};
|
|
84
|
+
const key = (event) => {
|
|
85
|
+
if (event.key === "Escape") {
|
|
86
|
+
close();
|
|
87
|
+
button.current?.focus();
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
document.addEventListener("pointerdown", away);
|
|
91
|
+
document.addEventListener("keydown", key);
|
|
92
|
+
window.addEventListener("scroll", close, true);
|
|
93
|
+
window.addEventListener("resize", close);
|
|
94
|
+
return () => {
|
|
95
|
+
document.removeEventListener("pointerdown", away);
|
|
96
|
+
document.removeEventListener("keydown", key);
|
|
97
|
+
window.removeEventListener("scroll", close, true);
|
|
98
|
+
window.removeEventListener("resize", close);
|
|
99
|
+
};
|
|
100
|
+
}, [open, close]);
|
|
101
|
+
// The arrow keys walk the items, around the ends.
|
|
102
|
+
const walk = (event) => {
|
|
103
|
+
if (event.key !== "ArrowDown" && event.key !== "ArrowUp") {
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
event.preventDefault();
|
|
107
|
+
const items = [...(panel.current?.querySelectorAll("[role='menuitem']") ?? [])];
|
|
108
|
+
if (items.length === 0) {
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
const active = document.activeElement;
|
|
112
|
+
const at = active instanceof HTMLElement ? items.indexOf(active) : -1;
|
|
113
|
+
const step = event.key === "ArrowDown" ? 1 : -1;
|
|
114
|
+
items[(at + step + items.length) % items.length]?.focus();
|
|
115
|
+
};
|
|
116
|
+
const { task } = props;
|
|
117
|
+
return (_jsxs(_Fragment, { children: [_jsx("button", { type: "button", ref: button, className: "sc-card-menu-button", "aria-label": words.board.menu, "aria-haspopup": "menu", "aria-expanded": open, onClick: toggle, children: _jsxs("svg", { viewBox: "0 0 16 16", "aria-hidden": "true", children: [_jsx("circle", { cx: "8", cy: "3", r: "1.5", fill: "currentColor" }), _jsx("circle", { cx: "8", cy: "8", r: "1.5", fill: "currentColor" }), _jsx("circle", { cx: "8", cy: "13", r: "1.5", fill: "currentColor" })] }) }), place !== null &&
|
|
118
|
+
typeof document !== "undefined" &&
|
|
119
|
+
createPortal(_jsxs("div", { ref: panel, className: "sc-card-menu", role: "menu", "aria-label": `#${task.number} ${task.title}`, style: { top: place.top, right: place.right }, onKeyDown: walk, onBlur: (event) => {
|
|
120
|
+
const next = event.relatedTarget;
|
|
121
|
+
if (!(next instanceof Node && panel.current?.contains(next) === true)) {
|
|
122
|
+
close();
|
|
123
|
+
}
|
|
124
|
+
}, children: [props.editHref !== undefined && (_jsx("a", { role: "menuitem", className: "sc-menu-link", href: props.editHref, onClick: (event) => {
|
|
125
|
+
close();
|
|
126
|
+
if (props.onEdit !== undefined && isPlainClick(event)) {
|
|
127
|
+
event.preventDefault();
|
|
128
|
+
props.onEdit(task);
|
|
129
|
+
}
|
|
130
|
+
}, children: words.common.edit })), props.onArchive !== undefined && (_jsx("button", { type: "button", role: "menuitem", className: "sc-menu-link", onClick: () => {
|
|
131
|
+
close();
|
|
132
|
+
props.onArchive?.(task);
|
|
133
|
+
}, children: words.task.archive }))] }), document.body)] }));
|
|
24
134
|
}
|
|
25
135
|
/** The order a column reads in: what is due soonest first, what has no day after, the newest first among those. */
|
|
26
136
|
export function byDue(a, b) {
|
|
@@ -43,40 +153,55 @@ export function Board(props) {
|
|
|
43
153
|
// What the pointer's release reads, so that the move is made outside a state update.
|
|
44
154
|
const current = useRef(null);
|
|
45
155
|
current.current = drag;
|
|
46
|
-
|
|
47
|
-
|
|
156
|
+
// Whether the held card has come loose, kept outside the state so that the touch that follows
|
|
157
|
+
// the hold at once is answered before the state has rendered.
|
|
158
|
+
const loose = useRef(false);
|
|
159
|
+
const press = useCallback((task, event) => {
|
|
160
|
+
// The card's own controls, its title and its menu, are pressed for themselves.
|
|
161
|
+
if (event.button !== 0 ||
|
|
162
|
+
(event.target instanceof Element && event.target.closest("a, button") !== null)) {
|
|
48
163
|
return;
|
|
49
164
|
}
|
|
50
|
-
|
|
51
|
-
|
|
165
|
+
const hold = event.pointerType !== "mouse";
|
|
166
|
+
if (!hold) {
|
|
167
|
+
// The press is the drag's beginning and nothing else: no text is selected on the way.
|
|
168
|
+
event.preventDefault();
|
|
169
|
+
}
|
|
52
170
|
const from = { x: event.clientX, y: event.clientY };
|
|
53
|
-
setDrag({ task, from, x: from.x, y: from.y, moving: false, over: undefined });
|
|
171
|
+
setDrag({ task, from, x: from.x, y: from.y, moving: false, hold, over: undefined });
|
|
54
172
|
}, []);
|
|
55
173
|
// While a card is held, the pointer is followed over the whole document: the column under it
|
|
56
174
|
// is marked, the board scrolls when the pointer nears its edge, and the release moves the task.
|
|
175
|
+
// A finger's hold is timed here, and once the card has come loose the page no longer scrolls
|
|
176
|
+
// under the finger, nor asks for the menu a long press would otherwise bring up.
|
|
57
177
|
const held = drag !== null;
|
|
58
178
|
useEffect(() => {
|
|
59
179
|
if (!held) {
|
|
60
180
|
return;
|
|
61
181
|
}
|
|
182
|
+
const columnUnder = (x, y) => columnStateOf(document.elementFromPoint(x, y)?.closest("[data-column]")?.dataset.column);
|
|
62
183
|
const follow = (event) => {
|
|
63
184
|
const { clientX: x, clientY: y } = event;
|
|
64
|
-
const under = document.elementFromPoint(x, y)?.closest("[data-column]");
|
|
65
185
|
setDrag((before) => {
|
|
66
186
|
if (before === null) {
|
|
67
187
|
return before;
|
|
68
188
|
}
|
|
69
|
-
const
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
189
|
+
const travelled = Math.hypot(x - before.from.x, y - before.from.y);
|
|
190
|
+
if (!before.moving) {
|
|
191
|
+
// A finger that wanders before it has rested is scrolling, and lets the card go; a
|
|
192
|
+
// mouse that has barely moved is still only pressing.
|
|
193
|
+
if (before.hold) {
|
|
194
|
+
return travelled > HOLD_SLACK ? null : { ...before, x, y };
|
|
195
|
+
}
|
|
196
|
+
if (travelled <= DRAG_SLACK) {
|
|
197
|
+
return { ...before, x, y };
|
|
198
|
+
}
|
|
199
|
+
loose.current = true;
|
|
200
|
+
}
|
|
201
|
+
return { ...before, x, y, moving: true, over: columnUnder(x, y) };
|
|
77
202
|
});
|
|
78
203
|
const element = board.current;
|
|
79
|
-
if (element !== null) {
|
|
204
|
+
if (element !== null && loose.current) {
|
|
80
205
|
const rect = element.getBoundingClientRect();
|
|
81
206
|
if (x < rect.left + EDGE) {
|
|
82
207
|
element.scrollLeft -= EDGE_STEP;
|
|
@@ -86,27 +211,55 @@ export function Board(props) {
|
|
|
86
211
|
}
|
|
87
212
|
}
|
|
88
213
|
};
|
|
89
|
-
const
|
|
214
|
+
const loosen = () => {
|
|
215
|
+
setDrag((before) => {
|
|
216
|
+
if (before === null || before.moving) {
|
|
217
|
+
return before;
|
|
218
|
+
}
|
|
219
|
+
loose.current = true;
|
|
220
|
+
return { ...before, moving: true, over: columnUnder(before.x, before.y) };
|
|
221
|
+
});
|
|
222
|
+
};
|
|
223
|
+
const release = (event) => {
|
|
90
224
|
const last = current.current;
|
|
91
|
-
if (last?.moving === true &&
|
|
92
|
-
|
|
225
|
+
if (last?.moving === true && event.type === "pointerup") {
|
|
226
|
+
const over = columnUnder(event.clientX, event.clientY);
|
|
227
|
+
if (over !== undefined && over !== last.task.state) {
|
|
228
|
+
onMove?.(last.task, over);
|
|
229
|
+
}
|
|
93
230
|
}
|
|
231
|
+
loose.current = false;
|
|
94
232
|
setDrag(null);
|
|
95
233
|
};
|
|
234
|
+
const block = (event) => {
|
|
235
|
+
if (loose.current) {
|
|
236
|
+
event.preventDefault();
|
|
237
|
+
}
|
|
238
|
+
};
|
|
239
|
+
const quiet = (event) => event.preventDefault();
|
|
240
|
+
const timer = current.current?.hold === true ? window.setTimeout(loosen, HOLD_MS) : undefined;
|
|
96
241
|
window.addEventListener("pointermove", follow);
|
|
97
242
|
window.addEventListener("pointerup", release);
|
|
98
243
|
window.addEventListener("pointercancel", release);
|
|
244
|
+
document.addEventListener("touchmove", block, { passive: false });
|
|
245
|
+
document.addEventListener("contextmenu", quiet);
|
|
99
246
|
return () => {
|
|
247
|
+
if (timer !== undefined) {
|
|
248
|
+
window.clearTimeout(timer);
|
|
249
|
+
}
|
|
100
250
|
window.removeEventListener("pointermove", follow);
|
|
101
251
|
window.removeEventListener("pointerup", release);
|
|
102
252
|
window.removeEventListener("pointercancel", release);
|
|
253
|
+
document.removeEventListener("touchmove", block);
|
|
254
|
+
document.removeEventListener("contextmenu", quiet);
|
|
255
|
+
loose.current = false;
|
|
103
256
|
};
|
|
104
257
|
}, [held, onMove]);
|
|
105
|
-
/** The drag under way, once the
|
|
258
|
+
/** The drag under way, once the card has come loose; nothing while a card is merely pressed. */
|
|
106
259
|
const dragging = drag?.moving === true ? drag : null;
|
|
107
|
-
return (_jsxs("div", { ref: board, className: cx("sc-board", dragging !== null && "sc-board-dragging"), children: [TASK_STATES.map((state) => {
|
|
260
|
+
return (_jsxs("div", { ref: board, className: cx("sc-board", onMove !== undefined && "sc-board-movable", dragging !== null && "sc-board-dragging"), children: [TASK_STATES.map((state) => {
|
|
108
261
|
const tasks = props.tasks.filter((task) => task.state === state).sort(byDue);
|
|
109
|
-
return (_jsxs("section", { className: cx("sc-column", `sc-column-${state}`, dragging?.over === state && "sc-column-over"), "aria-label": words.vocabulary.state[state], "data-column": state, children: [_jsxs("header", { className: "sc-column-header", children: [_jsx("h2", { className: "sc-column-title", children: words.vocabulary.state[state] }),
|
|
262
|
+
return (_jsxs("section", { className: cx("sc-column", `sc-column-${state}`, dragging?.over === state && "sc-column-over"), "aria-label": words.vocabulary.state[state], "data-column": state, children: [_jsxs("header", { className: "sc-column-header", children: [_jsx("h2", { className: "sc-column-title", children: words.vocabulary.state[state] }), _jsx("span", { className: "sc-column-count", children: tasks.length })] }), _jsxs("div", { className: "sc-column-body", children: [tasks.map((task) => (_jsx(TaskCard, { task: task, href: props.taskHref(task), onOpen: props.onOpen, today: props.today, onPress: onMove === undefined ? undefined : press, dragging: dragging?.task.id === task.id, editHref: props.editHref?.(task), onEdit: props.onEdit, onArchive: props.onArchive }, task.id))), tasks.length === 0 && state === "idea" && props.empty] })] }, state));
|
|
110
263
|
}), dragging !== null && (_jsxs("div", { className: "sc-drag-ghost", "aria-hidden": "true", style: { transform: `translate(${dragging.x + 12}px, ${dragging.y + 12}px)` }, children: [_jsxs("span", { className: "sc-card-number", children: ["#", dragging.task.number] }), " ", dragging.task.title] }))] }));
|
|
111
264
|
}
|
|
112
265
|
/** What the filter keeps of the board: a category or none, a goal or none, a person, one's own. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"board.js","sourceRoot":"","sources":["../../src/components/board.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"board.js","sourceRoot":"","sources":["../../src/components/board.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import { type ReactNode } from "react";
|
|
2
2
|
import { type RestComment, type RestCommentFile, type RestDecision, type RestRun, type RestTask } from "../api.js";
|
|
3
3
|
import { type DecisionCardProps } from "./decision-list.js";
|
|
4
|
-
/** Whether a file is a picture the pages show in place, by the media type the console kept. */
|
|
5
|
-
export declare function isPicture(contentType: string): boolean;
|
|
6
4
|
export interface CommentCardProps {
|
|
7
5
|
readonly comment: RestComment;
|
|
8
6
|
/** Where a file put in the comment is read: the project's address for it. Left out, a file is named and not linked. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"comments.d.ts","sourceRoot":"","sources":["../../src/components/comments.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAuC,KAAK,SAAS,EAAY,MAAM,OAAO,CAAC;AACtF,OAAO,EAIL,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,OAAO,EACZ,KAAK,QAAQ,EACd,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAgB,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"comments.d.ts","sourceRoot":"","sources":["../../src/components/comments.tsx"],"names":[],"mappings":"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"}
|