@object-ui/plugin-gantt 17.6.0 → 18.0.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/CHANGELOG.md +3524 -0
- package/README.md +425 -155
- package/dist/GanttView.d.ts +26 -21
- package/dist/GanttView.d.ts.map +1 -1
- package/dist/ObjectGantt.d.ts +192 -4
- package/dist/ObjectGantt.d.ts.map +1 -1
- package/dist/ResourceWorkload.d.ts +1 -1
- package/dist/ResourceWorkload.d.ts.map +1 -1
- package/dist/index.d.ts +55 -13
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1987 -1722
- package/dist/index.umd.cjs +3 -4
- package/dist/scheduling.d.ts +10 -2
- package/dist/scheduling.d.ts.map +1 -1
- package/dist/tzShift.d.ts +55 -0
- package/dist/tzShift.d.ts.map +1 -0
- package/dist/useGanttTranslation.d.ts.map +1 -1
- package/package.json +16 -13
package/dist/GanttView.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { WorkingCalendar } from './scheduling';
|
|
2
|
-
import { NormShiftSegments } from './shifts';
|
|
1
|
+
import { WorkingCalendar } from './scheduling.js';
|
|
2
|
+
import { NormShiftSegments } from './shifts.js';
|
|
3
|
+
import { makeTzShift } from './tzShift.js';
|
|
3
4
|
/**
|
|
4
5
|
* ObjectUI
|
|
5
6
|
* Copyright (c) 2024-present ObjectStack Inc.
|
|
@@ -52,6 +53,14 @@ export interface GanttTask {
|
|
|
52
53
|
id: string | number;
|
|
53
54
|
title: string;
|
|
54
55
|
start: Date;
|
|
56
|
+
/**
|
|
57
|
+
* The EXCLUSIVE end of the bar's half-open span `[start, end)`: the bar is
|
|
58
|
+
* drawn and scheduled up to this instant, and the task list, the tooltip, a
|
|
59
|
+
* drag's preview and the inline editor name the last day it runs through
|
|
60
|
+
* (objectui#11141). `ObjectGantt` hands a stored date-only end over as the
|
|
61
|
+
* next day's local midnight (`toDisplayEndDate`, `@object-ui/core`), so a
|
|
62
|
+
* task ending `2024-01-15` is drawn, and named, through the 15th.
|
|
63
|
+
*/
|
|
55
64
|
end: Date;
|
|
56
65
|
progress: number;
|
|
57
66
|
color?: string;
|
|
@@ -117,21 +126,7 @@ export type GanttViewMode = 'day' | 'week' | 'month' | 'quarter' | 'year';
|
|
|
117
126
|
*/
|
|
118
127
|
export declare const NOMINAL_DAYS: Record<GanttViewMode, number>;
|
|
119
128
|
export declare const MS_PER_DAY: number;
|
|
120
|
-
|
|
121
|
-
* "Shifted clock" for business-time-zone rendering: translate
|
|
122
|
-
* real instants into a display space where the browser's local clock reads
|
|
123
|
-
* the CONFIGURED zone's wall time. All existing local-clock logic — shift
|
|
124
|
-
* bands, day columns, snapping, the today line, date labels — then renders
|
|
125
|
-
* that zone correctly for every viewer; writes translate back so persisted
|
|
126
|
-
* data stays real instants. Per-instant offsets keep DST zones close;
|
|
127
|
-
* fixed-offset zones (Asia/Shanghai) are exact.
|
|
128
|
-
*/
|
|
129
|
-
export declare function makeTzShift(timeZone?: string): {
|
|
130
|
-
delta: number;
|
|
131
|
-
to: (d: Date) => Date;
|
|
132
|
-
from: (d: Date) => Date;
|
|
133
|
-
now: () => Date;
|
|
134
|
-
};
|
|
129
|
+
export { makeTzShift };
|
|
135
130
|
/** Floor a date to the start of its column unit (Monday for weeks). */
|
|
136
131
|
export declare function startOfUnit(date: Date, mode: GanttViewMode): Date;
|
|
137
132
|
/** Add whole column units; month/quarter clamp the day (Jan 31 + 1mo = Feb 28). */
|
|
@@ -222,7 +217,9 @@ export interface GanttViewProps {
|
|
|
222
217
|
/**
|
|
223
218
|
* Working calendar for duration math. When set, auto-schedule and critical
|
|
224
219
|
* path count working days only — weekends (`skipWeekends`) and any `holidays`
|
|
225
|
-
* (ISO `yyyy-mm-dd`
|
|
220
|
+
* (ISO `yyyy-mm-dd` calendar-day keys, read on the chart's own calendar: the
|
|
221
|
+
* viewer's, or the business `timeZone`'s when one is set) are skipped rather
|
|
222
|
+
* than consumed.
|
|
226
223
|
*/
|
|
227
224
|
workingCalendar?: WorkingCalendar;
|
|
228
225
|
/**
|
|
@@ -326,9 +323,17 @@ export interface GanttViewProps {
|
|
|
326
323
|
* 'Asia/Shanghai'. The chart's calendar math — shift bands, day columns,
|
|
327
324
|
* drag snapping, the today line, start/end labels — renders this zone's
|
|
328
325
|
* wall time for EVERY viewer instead of the browser's; without it, a
|
|
329
|
-
* viewer in another zone sees bands and dates misaligned.
|
|
330
|
-
*
|
|
331
|
-
*
|
|
326
|
+
* viewer in another zone sees bands and dates misaligned. Dates handed to
|
|
327
|
+
* `onTaskUpdate` are translated back out of this display space into real
|
|
328
|
+
* instants. A date-only value is a day rather than an instant, so the host
|
|
329
|
+
* translates both ways itself (objectui#10866): `ObjectGantt` hands a day in
|
|
330
|
+
* as the instant the shim maps exactly onto its local midnight, so it is
|
|
331
|
+
* drawn from that midnight here, and writes a `date` field back as the day
|
|
332
|
+
* of the display date the emitted instant was translated from, recovered
|
|
333
|
+
* exactly (`invertTo` / `invertFrom` in `./tzShift`, which say why the shim's
|
|
334
|
+
* own round trip is not exact around a DST change). Note: dates handed to
|
|
335
|
+
* `onBeforeTaskUpdate` are in this display space (durations/deltas are
|
|
336
|
+
* unaffected).
|
|
332
337
|
*/
|
|
333
338
|
timeZone?: string;
|
|
334
339
|
/**
|
package/dist/GanttView.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GanttView.d.ts","sourceRoot":"","sources":["../src/GanttView.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AA8B9B,OAAO,EAAqF,KAAK,eAAe,EAAiD,MAAM,cAAc,CAAA;AACrL,OAAO,EAAiB,KAAK,iBAAiB,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"GanttView.d.ts","sourceRoot":"","sources":["../src/GanttView.tsx"],"names":[],"mappings":"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"}
|
package/dist/ObjectGantt.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
|
-
import {
|
|
3
|
-
import { GanttTask, GanttDependency, GanttTaskType } from './GanttView';
|
|
2
|
+
import { ObjectGanttSchema, DataSource, GanttConfig } from '@object-ui/types';
|
|
3
|
+
import { GanttTask, GanttDependency, GanttTaskType } from './GanttView.js';
|
|
4
|
+
import { ShiftSegmentsConfig } from './shifts.js';
|
|
4
5
|
/**
|
|
5
6
|
* One quick-filter dimension. Generic by design: the page configures
|
|
6
7
|
* which record fields become filter dropdowns; the plugin resolves each one's
|
|
@@ -22,15 +23,158 @@ export interface QuickFilterDef {
|
|
|
22
23
|
label?: string;
|
|
23
24
|
}>;
|
|
24
25
|
}
|
|
26
|
+
/**
|
|
27
|
+
* The members this renderer states ON TOP of {@link GanttConfig} — twelve, as
|
|
28
|
+
* measured against the shipped `GanttConfig` on `main` (objectui#6471; the card
|
|
29
|
+
* counted eleven before objectui#6051/#6472 landed part of the lift).
|
|
30
|
+
*
|
|
31
|
+
* All twelve RESTATE a key `GanttConfig` already declares, and since
|
|
32
|
+
* objectstack#15469 closed the schema all twelve — `timeSegments` included —
|
|
33
|
+
* arrive from the spec's `GanttConfigSchema` (29 keys); every one is mutually
|
|
34
|
+
* assignable with its twin. That includes
|
|
35
|
+
* `quickFilters` and `timeSegments`, which objectui#6471 called load-bearing
|
|
36
|
+
* NARROWINGS: measured on `main` they narrow nothing. What those two still do is
|
|
37
|
+
* NAME this plugin's runtime types (`QuickFilterDef[]` /
|
|
38
|
+
* {@link ShiftSegmentsConfig}), so a spec bump that moves either side surfaces as
|
|
39
|
+
* a decision. `ObjectGantt.configPin.test.ts` holds that measurement — read it
|
|
40
|
+
* there rather than re-deriving it here.
|
|
41
|
+
*
|
|
42
|
+
* ## Why a member is kept rather than deleted — TWO reasons, either sufficient
|
|
43
|
+
*
|
|
44
|
+
* 1. PROSE, where there is any. The spec emits no per-member docs
|
|
45
|
+
* (`z.input<typeof GanttConfigSchema>` carries none) and JSDoc cannot be
|
|
46
|
+
* attached to a member a type merely inherits, so for most members the
|
|
47
|
+
* docblock below is the fullest description of what this renderer DOES with
|
|
48
|
+
* the key. It does NOT reach every member: four are bare here —
|
|
49
|
+
* `parentField`, `baselineEndField`, `assigneeField`, `effortField` — the last
|
|
50
|
+
* three covered by a neighbour's docblock, `parentField` by nothing. Nor is
|
|
51
|
+
* this prose unique any more: since objectui#6472 the flattened face
|
|
52
|
+
* (`ObjectGanttSchema` in `@object-ui/types`) documents all twelve, and
|
|
53
|
+
* objectui#6561 expanded `parentField`'s entry there.
|
|
54
|
+
*
|
|
55
|
+
* 2. PIN OPERAND — this reason reaches EVERY member, and for `parentField` it is
|
|
56
|
+
* the only one. The pin below is derived over `keyof GanttConfigRestated`: a
|
|
57
|
+
* member that exists is compared against its twin, and a member that is
|
|
58
|
+
* deleted simply stops being compared.
|
|
59
|
+
*
|
|
60
|
+
* ⛔ So the test for whether a member may be deleted is NOT "does it carry its
|
|
61
|
+
* own JSDoc". Applied to `parentField` that test answers "deletable", and it is
|
|
62
|
+
* wrong. Deleting `parentField` is not silent — it fails three assertions in
|
|
63
|
+
* `ObjectGantt.configPin.test.ts`: the `RESTATED` census, the non-vacuity control
|
|
64
|
+
* that names it, and the fixture. But all three fail INSIDE the pin, which is the
|
|
65
|
+
* file a reader edits to turn a red build green; follow those errors and the tree
|
|
66
|
+
* goes green with one member fewer under the pin. Delete a member here only when
|
|
67
|
+
* its twin on `GanttConfig` goes with it.
|
|
68
|
+
*
|
|
69
|
+
* ⚠️ NAMED rather than inlined into the intersection above, and that is the
|
|
70
|
+
* whole mechanism: inside `GanttConfigEx` there is nothing left to compare,
|
|
71
|
+
* because `GanttConfigEx[K]` is ALREADY `GanttConfig[K] & <local>[K]` and is
|
|
72
|
+
* therefore assignable to `GanttConfig[K]` by construction — an assertion written
|
|
73
|
+
* against `GanttConfigEx` passes no matter how far the two declarations drift.
|
|
74
|
+
* Naming the local half is what gives `ObjectGantt.configPin.test.ts` two
|
|
75
|
+
* independent operands, so a spec bump that re-types one of the twelve breaks the
|
|
76
|
+
* build at the pin instead of silently intersecting the old type back in.
|
|
77
|
+
*/
|
|
78
|
+
export type GanttConfigRestated = {
|
|
79
|
+
parentField?: string;
|
|
80
|
+
/**
|
|
81
|
+
* Record field whose value maps onto a node kind (see {@link normalizeTaskType}):
|
|
82
|
+
* `task` / `summary` (project/phase) / `milestone` / `group`. `group` (or
|
|
83
|
+
* `folder`) renders a pure tree header with NO bar — for project / product
|
|
84
|
+
* style levels that only group, never schedule.
|
|
85
|
+
*/
|
|
86
|
+
typeField?: string;
|
|
87
|
+
/** Baseline (planned) start/end fields → planned-vs-actual reference bars. */
|
|
88
|
+
baselineStartField?: string;
|
|
89
|
+
baselineEndField?: string;
|
|
90
|
+
/**
|
|
91
|
+
* Dynamic Group by. When set, leaf tasks are bucketed by this
|
|
92
|
+
* field and rendered under one synthesized summary row per distinct value
|
|
93
|
+
* (replacing the parent hierarchy). Select options / lookups resolve to their
|
|
94
|
+
* display label, matching list/kanban grouping.
|
|
95
|
+
*/
|
|
96
|
+
groupByField?: string;
|
|
97
|
+
/**
|
|
98
|
+
* Resource / Workload view. When true, the chart renders a
|
|
99
|
+
* per-resource load histogram instead of the timeline grid: each task loads
|
|
100
|
+
* its `assigneeField` resource by `effortField` units (default 1) over its
|
|
101
|
+
* span, and any column whose summed load exceeds `capacity` is flagged as
|
|
102
|
+
* over-allocated. `assigneeField` is required for this view to bucket by.
|
|
103
|
+
*/
|
|
104
|
+
resourceView?: boolean;
|
|
105
|
+
assigneeField?: string;
|
|
106
|
+
effortField?: string;
|
|
107
|
+
/** Per-resource capacity ceiling (default 1). Loads above this flag overload. */
|
|
108
|
+
capacity?: number;
|
|
109
|
+
/**
|
|
110
|
+
* Quick filters. A row of multi-select dropdowns rendered above the
|
|
111
|
+
* chart; each narrows the visible task bars by one dimension. Options resolve
|
|
112
|
+
* from the object schema (select options or lookup reference records) so the
|
|
113
|
+
* lists are the full domain, not just values present in the current data.
|
|
114
|
+
*/
|
|
115
|
+
quickFilters?: QuickFilterDef[];
|
|
116
|
+
/**
|
|
117
|
+
* When true (default), filtering recomputes the timeline range so it zooms to
|
|
118
|
+
* the filtered tasks' interval. Set false to keep the range pinned to the full
|
|
119
|
+
* (unfiltered) task set while filtering only hides bars.
|
|
120
|
+
*/
|
|
121
|
+
autoZoomToFilter?: boolean;
|
|
122
|
+
/**
|
|
123
|
+
* Shift segmentation. When set, the day-mode timeline splits each shift-day
|
|
124
|
+
* (starting at `dayStart`) into the configured bands (day | night | …):
|
|
125
|
+
* a two-tier header (date over band), per-band column tints, and
|
|
126
|
+
* drag/resize snapping to band boundaries. Pure config data — no shift concept
|
|
127
|
+
* is hardcoded. `label` is display text the caller has already localized.
|
|
128
|
+
* Off by default → existing gantts are unchanged. Example:
|
|
129
|
+
* `{ dayStart: '08:00', bands: [
|
|
130
|
+
* { key: 'day', label: 'Day shift', start: '08:00', end: '20:00' },
|
|
131
|
+
* { key: 'night', label: 'Night shift', start: '20:00', end: '08:00' } ] }`.
|
|
132
|
+
*/
|
|
133
|
+
timeSegments?: ShiftSegmentsConfig;
|
|
134
|
+
};
|
|
25
135
|
/** Map a record's type value onto a GanttTaskType (undefined = infer). */
|
|
26
136
|
export declare function normalizeTaskType(raw: unknown): GanttTaskType | undefined;
|
|
27
137
|
export declare function normalizeDependencies(raw: unknown): GanttDependency[];
|
|
28
138
|
export interface ObjectGanttProps {
|
|
29
|
-
|
|
139
|
+
/**
|
|
140
|
+
* The gantt node. Typed as {@link ObjectGanttSchema} (objectui#5903) — the
|
|
141
|
+
* declaration this component's schema reads actually resolve against.
|
|
142
|
+
*
|
|
143
|
+
* It used to be `ObjectGridSchema`, and that is why ten genuine reads had to
|
|
144
|
+
* be spelled `(schema as any).K`: the keys are not grid keys, so the only
|
|
145
|
+
* thing that admitted them was `BaseSchema`'s index signature, under a cast
|
|
146
|
+
* that hid even that. Removing the casts without moving the type would have
|
|
147
|
+
* changed nothing — the reads would still land on the index signature.
|
|
148
|
+
*
|
|
149
|
+
* objectui#6051 declared what the FLAT branch reads: the 24 flattened
|
|
150
|
+
* `GanttConfig` keys `getGanttConfig`'s first branch consumes, plus the
|
|
151
|
+
* `staticData` / `filter` / `sort` the fetch path reads. The grid-style
|
|
152
|
+
* `{ gantt: { … } }` block kept working exactly as before and was still read
|
|
153
|
+
* through the index signature — declaring it was the one change that would not
|
|
154
|
+
* have been additive, so it was severed to objectui#6475, which has since
|
|
155
|
+
* declared it (`gantt?: GanttConfig`). The registered
|
|
156
|
+
* renderer (`index.tsx`) still passes `schema: any`, so no runtime shape is
|
|
157
|
+
* turned away either way.
|
|
158
|
+
*/
|
|
159
|
+
schema: ObjectGanttSchema;
|
|
30
160
|
dataSource?: DataSource;
|
|
31
161
|
className?: string;
|
|
32
162
|
onTaskClick?: (record: any) => void;
|
|
33
|
-
|
|
163
|
+
/**
|
|
164
|
+
* TWO parameters since objectui#9357, and the second is not decoration: this
|
|
165
|
+
* prop reaches `useNavigationOverlay` as its `onRowClick`, and `handleClick`
|
|
166
|
+
* invokes it as `onRowClick(record, event)` — the modifier payload a host
|
|
167
|
+
* needs to implement Cmd/Ctrl/middle-click for itself. Declaring one
|
|
168
|
+
* parameter hid the second on the ONE line a host reads. Spelled `any` and
|
|
169
|
+
* not `HandleClickModifiers` for the reason objectui#9341 measured on
|
|
170
|
+
* `ObjectKanbanSchema.onCardClick`: that interface lives in
|
|
171
|
+
* `@object-ui/react`, the published twins in `@object-ui/types` may not name
|
|
172
|
+
* it, and a host that discovered the payload from the implementation
|
|
173
|
+
* annotated it `React.MouseEvent` — which a narrower declaration refuses
|
|
174
|
+
* contravariantly. `BaseSchema`'s own `onClick` / `onChange` / `onSubmit`
|
|
175
|
+
* already use this spelling for exactly this situation.
|
|
176
|
+
*/
|
|
177
|
+
onRowClick?: (record: any, event?: any) => void;
|
|
34
178
|
onEdit?: (record: any) => void;
|
|
35
179
|
onDelete?: (record: any) => void;
|
|
36
180
|
/**
|
|
@@ -41,5 +185,49 @@ export interface ObjectGanttProps {
|
|
|
41
185
|
*/
|
|
42
186
|
onBeforeTaskUpdate?: (task: GanttTask, changes: Partial<Pick<GanttTask, 'title' | 'start' | 'end' | 'progress'>>) => boolean | Promise<boolean>;
|
|
43
187
|
}
|
|
188
|
+
/**
|
|
189
|
+
* `keyof T` with the string / number INDEX SIGNATURE stripped out.
|
|
190
|
+
*
|
|
191
|
+
* Load-bearing, not tidiness. `GanttConfig` derives from the spec's
|
|
192
|
+
* `GanttConfigSchema`, which carries an index signature, so a bare
|
|
193
|
+
* `keyof GanttConfig` widens to `string` — and every guard written against it
|
|
194
|
+
* (the `satisfies` below, the coverage pin in
|
|
195
|
+
* `ObjectGantt.blockPrecedence.test.tsx`) then constrains NOTHING while looking
|
|
196
|
+
* exactly like a guard that does. That is the same blind instrument
|
|
197
|
+
* objectui#6051's declaration pin records: an index signature absorbs precisely
|
|
198
|
+
* the evidence a type annotation would have produced. Measured here — the pin
|
|
199
|
+
* came back `string` before this alias existed.
|
|
200
|
+
*/
|
|
201
|
+
type KnownKeys<T> = keyof {
|
|
202
|
+
[K in keyof T as string extends K ? never : number extends K ? never : K]: T[K];
|
|
203
|
+
};
|
|
204
|
+
/** The DECLARED members of `GanttConfig` — its index signature removed. */
|
|
205
|
+
export type KnownGanttConfigKey = KnownKeys<GanttConfig>;
|
|
206
|
+
/**
|
|
207
|
+
* The FLAT spelling of `GanttConfig`'s keys — what `getGanttConfig`'s flat
|
|
208
|
+
* branch reads, and what `ObjectView` / `ListView` EMIT.
|
|
209
|
+
*
|
|
210
|
+
* Both flatteners build an `object-gantt` schema by spreading `options.gantt`'s
|
|
211
|
+
* CONTENTS at the top level (`plugin-view/src/ObjectView.tsx` `case 'gantt'`,
|
|
212
|
+
* `plugin-list/src/ListView.tsx` `case 'gantt'`); the product carries these keys
|
|
213
|
+
* and NO `gantt` key at all. That is an internal transport form, not a second
|
|
214
|
+
* authoring surface — and it is why the precedence flip below strands neither
|
|
215
|
+
* producer.
|
|
216
|
+
*
|
|
217
|
+
* DERIVED from `GanttConfigSchema` in full — the same zod object the block
|
|
218
|
+
* branch validates against — so a key added to the spec reaches the shadow
|
|
219
|
+
* diagnostic without a second edit (the discipline `FLAT_MAP_CONFIG_KEYS` set in
|
|
220
|
+
* objectui#5177). Until objectstack#15469 that derivation covered only part of
|
|
221
|
+
* the vocabulary and a second literal, `GANTT_CONFIG_EXTENSION_KEYS`, named the
|
|
222
|
+
* ten keys the renderer read through the schema's then-open `.passthrough()`
|
|
223
|
+
* window. The spec now declares all ten, so the list is one source again and the
|
|
224
|
+
* literal is retired (objectui#7845) — keeping it would have made every one of
|
|
225
|
+
* the ten a DUPLICATE entry here, which is what the no-duplicates pin in
|
|
226
|
+
* `ObjectGantt.blockPrecedence.test.tsx` measured. `dependencyField` is the
|
|
227
|
+
* legacy singular alias the flat branch still reads beside `dependenciesField`;
|
|
228
|
+
* it is not a `GanttConfig` key, so it is named on its own.
|
|
229
|
+
*/
|
|
230
|
+
export declare const FLAT_GANTT_CONFIG_KEYS: ("summaryExtent" | "timeZone" | "viewMode" | "defaultCollapsedDepth" | "dependencyTypes" | "exportFileName" | "interactions" | "capacity" | "startDateField" | "endDateField" | "titleField" | "progressField" | "dependenciesField" | "colorField" | "parentField" | "typeField" | "baselineStartField" | "baselineEndField" | "groupByField" | "resourceView" | "assigneeField" | "effortField" | "tooltipFields" | "quickFilters" | "autoZoomToFilter" | "borderColorField" | "lockField" | "objectField" | "timeSegments" | "dependencyField")[];
|
|
44
231
|
export declare const ObjectGantt: React.FC<ObjectGanttProps>;
|
|
232
|
+
export {};
|
|
45
233
|
//# sourceMappingURL=ObjectGantt.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ObjectGantt.d.ts","sourceRoot":"","sources":["../src/ObjectGantt.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;;;;;;;;;;GAcG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"ObjectGantt.d.ts","sourceRoot":"","sources":["../src/ObjectGantt.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResourceWorkload.d.ts","sourceRoot":"","sources":["../src/ResourceWorkload.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;;;;GAQG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,aAAa,
|
|
1
|
+
{"version":3,"file":"ResourceWorkload.d.ts","sourceRoot":"","sources":["../src/ResourceWorkload.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;;;;GAQG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,aAAa,EAAyB,MAAM,aAAa,CAAC;AAKxF,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,wEAAwE;IACxE,QAAQ,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK;QAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC9E,+DAA+D;IAC/D,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,MAAM,CAAC;IACrC,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC;IAC9C,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,uCAAuC;IACvC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAsBD,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,QAAQ,EACR,MAAM,EACN,QAAY,EACZ,QAAgB,EAChB,eAA8B,EAC9B,SAAS,GACV,EAAE,qBAAqB,qBA0IvB"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,19 +1,61 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
|
-
import { ObjectGantt } from './ObjectGantt';
|
|
2
|
+
import { ObjectGantt } from './ObjectGantt.js';
|
|
3
3
|
export { ObjectGantt };
|
|
4
|
-
export type { ObjectGanttProps, QuickFilterDef } from './ObjectGantt';
|
|
5
|
-
export { QuickFilterBar } from './QuickFilterBar';
|
|
6
|
-
export type { QuickFilterBarProps, QuickFilterField, QuickFilterOption, QuickFilterLabels, } from './QuickFilterBar';
|
|
7
|
-
export { GanttView } from './GanttView';
|
|
8
|
-
export type { GanttViewProps, GanttTask, GanttTaskType, GanttViewMode, GanttDependency, GanttDependencyObject, GanttLinkType, GanttMarker, } from './GanttView';
|
|
9
|
-
export { normalizeDependencies, normalizeTaskType } from './ObjectGantt';
|
|
10
|
-
export { normalizeShiftSegments, parseHHMM, shiftDayStart, bandAt } from './shifts';
|
|
11
|
-
export type { ShiftSegmentsConfig, ShiftBandConfig, NormShiftSegments, NormShiftBand, } from './shifts';
|
|
12
|
-
export { ResourceWorkload } from './ResourceWorkload';
|
|
13
|
-
export type { ResourceWorkloadProps } from './ResourceWorkload';
|
|
14
|
-
export { computeWorkload } from './workload';
|
|
15
|
-
export type { WorkloadColumn, WorkloadOptions, ResourceCell, ResourceLoad, } from './workload';
|
|
4
|
+
export type { ObjectGanttProps, QuickFilterDef } from './ObjectGantt.js';
|
|
5
|
+
export { QuickFilterBar } from './QuickFilterBar.js';
|
|
6
|
+
export type { QuickFilterBarProps, QuickFilterField, QuickFilterOption, QuickFilterLabels, } from './QuickFilterBar.js';
|
|
7
|
+
export { GanttView } from './GanttView.js';
|
|
8
|
+
export type { GanttViewProps, GanttTask, GanttTaskType, GanttViewMode, GanttDependency, GanttDependencyObject, GanttLinkType, GanttMarker, } from './GanttView.js';
|
|
9
|
+
export { normalizeDependencies, normalizeTaskType } from './ObjectGantt.js';
|
|
10
|
+
export { normalizeShiftSegments, parseHHMM, shiftDayStart, bandAt } from './shifts.js';
|
|
11
|
+
export type { ShiftSegmentsConfig, ShiftBandConfig, NormShiftSegments, NormShiftBand, } from './shifts.js';
|
|
12
|
+
export { ResourceWorkload } from './ResourceWorkload.js';
|
|
13
|
+
export type { ResourceWorkloadProps } from './ResourceWorkload.js';
|
|
14
|
+
export { computeWorkload } from './workload.js';
|
|
15
|
+
export type { WorkloadColumn, WorkloadOptions, ResourceCell, ResourceLoad, } from './workload.js';
|
|
16
16
|
export declare const ObjectGanttRenderer: React.FC<{
|
|
17
17
|
schema: any;
|
|
18
18
|
}>;
|
|
19
|
+
/**
|
|
20
|
+
* ⛔ The bare `gantt` node type key is RETIRED (objectui#8008, maintainer
|
|
21
|
+
* ruling 2026-09-09, route 3). `object-gantt` is the one spelling this plugin
|
|
22
|
+
* serves.
|
|
23
|
+
*
|
|
24
|
+
* ## What was here, and why it went
|
|
25
|
+
*
|
|
26
|
+
* `ComponentRegistry.register('gantt', ObjectGanttRenderer, { namespace:
|
|
27
|
+
* 'view', ... })` — a second key on the SAME renderer, which stored both
|
|
28
|
+
* `view:gantt` and the bare `gantt` fallback. The declared face admitted only
|
|
29
|
+
* one of the two: `ObjectGanttSchema.type` is the literal `'object-gantt'`, so
|
|
30
|
+
* an author who annotated their node could not write the key the registry
|
|
31
|
+
* accepted (`TS2322`), while an author who left the literal bare got no
|
|
32
|
+
* checking at all. Two published faces, opposite verdicts.
|
|
33
|
+
*
|
|
34
|
+
* ## Why unregistering is the whole retirement here — measured, not assumed
|
|
35
|
+
*
|
|
36
|
+
* ⚠️ `BaseSchemaCore` ends `.passthrough()` (and `BaseSchema` closed with
|
|
37
|
+
* `[key: string]: any` until objectui#8347), so a dropped MEMBER KEY is KEPT,
|
|
38
|
+
* not refused, on the zod face (the objectui#7664 failure). That hazard does not reach a TYPE NAME on this
|
|
39
|
+
* surface, and the reason is structural rather than lucky: no schema face in
|
|
40
|
+
* `@object-ui/types` ever declared `gantt` as a component node type — measured
|
|
41
|
+
* whole-repo, zero declarations, against a firing control of two for
|
|
42
|
+
* `object-gantt` (`objectql.ts` + its Zod mirror). There is no arm to convert
|
|
43
|
+
* into a named refusal, so unregistering IS the retirement.
|
|
44
|
+
*
|
|
45
|
+
* ⇒ Registration-only retirement. Contrast the `kanban` sibling in the same
|
|
46
|
+
* batch (objectui#8802), which DID have a declared arm and therefore got a
|
|
47
|
+
* named refusal rather than a deletion.
|
|
48
|
+
*
|
|
49
|
+
* ## ⛔ Two layers, and only one of them moved
|
|
50
|
+
*
|
|
51
|
+
* The string `gantt` also names a STORED `NamedListView.type` — the value
|
|
52
|
+
* `CreateViewDialog` writes and every tenant's database holds. That layer is
|
|
53
|
+
* untouched: `packages/plugin-view/src/ObjectView.tsx`'s `switch (viewType)`
|
|
54
|
+
* maps the stored `gantt` view type onto the node type it emits, and it already
|
|
55
|
+
* emits `object-gantt`. ⇒ Every gantt view any user ever created through the
|
|
56
|
+
* console already renders through the surviving spelling; this retirement moves
|
|
57
|
+
* zero stored documents.
|
|
58
|
+
*
|
|
59
|
+
* Pinned in `src/__tests__/bare-gantt-node-key-retired-8008.test.ts`.
|
|
60
|
+
*/
|
|
19
61
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,WAAW,EAAE,CAAC;AACvB,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEtE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EACV,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EACV,cAAc,EACd,SAAS,EACT,aAAa,EACb,aAAa,EACb,eAAe,EACf,qBAAqB,EACrB,aAAa,EACb,WAAW,GACZ,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEzE,OAAO,EAAE,sBAAsB,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACpF,YAAY,EACV,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,aAAa,GACd,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,YAAY,EACV,cAAc,EACd,eAAe,EACf,YAAY,EACZ,YAAY,GACb,MAAM,YAAY,CAAC;AAgCpB,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,MAAM,EAAE,GAAG,CAAA;CAAE,CA2BxD,CAAC;AAqFH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG"}
|