cx 26.7.0 → 26.7.1
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/build/ui/Cx.d.ts +5 -0
- package/build/ui/Cx.d.ts.map +1 -1
- package/build/ui/Cx.js +34 -3
- package/build/ui/Restate.d.ts +6 -0
- package/build/ui/Restate.d.ts.map +1 -1
- package/build/ui/Restate.js +2 -1
- package/build/widgets/DocumentTitle.d.ts.map +1 -1
- package/build/widgets/DocumentTitle.js +2 -0
- package/build/widgets/grid/TreeNode.d.ts +2 -0
- package/build/widgets/grid/TreeNode.d.ts.map +1 -1
- package/dist/manifest.js +846 -846
- package/dist/ui.js +36 -3
- package/dist/widgets.js +1 -0
- package/package.json +1 -1
- package/src/ui/Cx.tsx +44 -3
- package/src/ui/DataProxy.ts +55 -55
- package/src/ui/Rescope.ts +50 -50
- package/src/ui/Restate.tsx +9 -0
- package/src/ui/exprHelpers.ts +96 -96
- package/src/widgets/DocumentTitle.ts +2 -0
- package/src/widgets/Sandbox.ts +104 -104
- package/src/widgets/form/ColorField.scss +112 -112
- package/src/widgets/form/DateTimeField.scss +111 -111
- package/src/widgets/form/LookupField.maps.scss +26 -26
- package/src/widgets/form/MonthField.scss +113 -113
- package/src/widgets/form/Select.scss +104 -104
- package/src/widgets/form/TextField.scss +66 -66
- package/src/widgets/grid/TreeNode.tsx +3 -0
- package/src/widgets/nav/MenuItem.tsx +525 -525
package/build/ui/Cx.d.ts
CHANGED
|
@@ -12,6 +12,11 @@ export interface CxProps {
|
|
|
12
12
|
parentInstance?: Instance;
|
|
13
13
|
subscribe?: boolean;
|
|
14
14
|
immediate?: boolean;
|
|
15
|
+
/** Cap re-entrant synchronous updates: while batching, once a burst of back-to-back updates gets too
|
|
16
|
+
* deep, defer the excess to the coalesced (setTimeout) branch instead of updating synchronously. Avoids
|
|
17
|
+
* React's "Maximum update depth exceeded" on very large synchronous render bursts (e.g. the initial
|
|
18
|
+
* render of a huge document). Off by default; has no effect on instances that don't set it. */
|
|
19
|
+
limitSyncBursts?: boolean;
|
|
15
20
|
deferredUntilIdle?: boolean;
|
|
16
21
|
idleTimeout?: number;
|
|
17
22
|
options?: any;
|
package/build/ui/Cx.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Cx.d.ts","sourceRoot":"","sources":["../../src/ui/Cx.tsx"],"names":[],"mappings":"AAAA,6BAA6B;AAE7B,OAAO,EAAE,MAAM,EAAE,IAAI,EAAc,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAQtC,OAAO,EAA2D,mBAAmB,EAAE,MAAM,WAAW,CAAC;AACzG,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,MAAM,WAAW,OAAO;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,cAAc,CAAC,EAAE,QAAQ,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IAChE,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,QAAQ,EAAE,GAAG,CAAA;KAAE,KAAK,GAAG,CAAC;IACnD,WAAW,CAAC,EAAE,mBAAmB,CAAC;CACpC;AAED,MAAM,WAAW,OAAO;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,GAAG,CAAC;CACb;
|
|
1
|
+
{"version":3,"file":"Cx.d.ts","sourceRoot":"","sources":["../../src/ui/Cx.tsx"],"names":[],"mappings":"AAAA,6BAA6B;AAE7B,OAAO,EAAE,MAAM,EAAE,IAAI,EAAc,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAQtC,OAAO,EAA2D,mBAAmB,EAAE,MAAM,WAAW,CAAC;AACzG,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,MAAM,WAAW,OAAO;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,cAAc,CAAC,EAAE,QAAQ,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;oGAGgG;IAChG,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IAChE,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,QAAQ,EAAE,GAAG,CAAA;KAAE,KAAK,GAAG,CAAC;IACnD,WAAW,CAAC,EAAE,mBAAmB,CAAC;CACpC;AAED,MAAM,WAAW,OAAO;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,GAAG,CAAC;CACb;AA4BD,qBAAa,EAAG,SAAQ,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC;IACrD,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,IAAI,CAAC;IACZ,cAAc,CAAC,EAAE,QAAQ,CAAC;IAC1B,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,KAAK,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACrE,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IACtD,mBAAmB,EAAE,MAAM,IAAI,CAAC;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC;IACpC,sBAAsB,CAAC,EAAE,MAAM,IAAI,CAAC;gBAExB,KAAK,EAAE,OAAO;IAwC1B,gCAAgC,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAsBtD,WAAW,IAAI,QAAQ;IAcvB,MAAM;IAkBN,iBAAiB,IAAI,IAAI;IAOzB,kBAAkB,IAAI,IAAI;IAM1B,MAAM,IAAI,IAAI;IA6Bd,WAAW,IAAI,IAAI;IAgBnB,oBAAoB,IAAI,IAAI;IAO5B,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO;IAe9D,wBAAwB,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,GAAG,IAAI;CAIzD"}
|
package/build/ui/Cx.js
CHANGED
|
@@ -10,6 +10,30 @@ import { shallowEquals } from "../util/shallowEquals";
|
|
|
10
10
|
import { PureContainer } from "./PureContainer";
|
|
11
11
|
import { onIdleCallback } from "../util/onIdleCallback";
|
|
12
12
|
import { getCurrentCulture, pushCulture, popCulture } from "./Culture";
|
|
13
|
+
// Optional guard (opt in per-instance via the `limitSyncBursts` prop) against React's "Maximum update depth
|
|
14
|
+
// exceeded" during very large synchronous render bursts. On the initial render of a large document the store
|
|
15
|
+
// can be mutated thousands of times within a single React commit: every Instance.setState wraps store.notify()
|
|
16
|
+
// in batchUpdates(), so isBatchingUpdates() stays true and a subscribed Cx takes its *synchronous* setState
|
|
17
|
+
// branch on each notification. React counts those as nested render-phase updates and aborts past ~50
|
|
18
|
+
// (surfacing as the recoverable "error during concurrent rendering"). When a Cx opts in, once back-to-back
|
|
19
|
+
// updates exceed the limit it falls back to the coalesced setTimeout branch, which renders the latest store
|
|
20
|
+
// data on the next tick. The counter is global (it mirrors React's global nested-update counter) and resets
|
|
21
|
+
// after any idle gap. It is advanced on every update() of an opted-in Cx -- counting only the synchronous
|
|
22
|
+
// branch would let the window reset whenever a deferred update lands between two synchronous ones, so the
|
|
23
|
+
// counter would never reach the limit. performance.now() gives sub-ms resolution (Date.now() is the fallback;
|
|
24
|
+
// Timing.now() can't be used here because it returns 0 in production).
|
|
25
|
+
const SYNC_UPDATE_BURST_LIMIT = 30;
|
|
26
|
+
const SYNC_UPDATE_BURST_RESET_MS = 10;
|
|
27
|
+
const syncUpdateBurstNow = typeof performance !== "undefined" && performance.now ? () => performance.now() : () => Date.now();
|
|
28
|
+
let syncUpdateBurstCount = 0;
|
|
29
|
+
let syncUpdateBurstLastAt = 0;
|
|
30
|
+
function trackSyncUpdateBurst() {
|
|
31
|
+
let t = syncUpdateBurstNow();
|
|
32
|
+
if (t - syncUpdateBurstLastAt > SYNC_UPDATE_BURST_RESET_MS)
|
|
33
|
+
syncUpdateBurstCount = 0;
|
|
34
|
+
syncUpdateBurstLastAt = t;
|
|
35
|
+
return ++syncUpdateBurstCount > SYNC_UPDATE_BURST_LIMIT;
|
|
36
|
+
}
|
|
13
37
|
export class Cx extends VDOM.Component {
|
|
14
38
|
widget;
|
|
15
39
|
store;
|
|
@@ -111,17 +135,24 @@ export class Cx extends VDOM.Component {
|
|
|
111
135
|
debug(appDataFlag, data);
|
|
112
136
|
if (this.flags.preparing)
|
|
113
137
|
this.flags.dirty = true;
|
|
114
|
-
|
|
138
|
+
// `immediate` always renders synchronously (its contract). Otherwise, while batching, a Cx that opts in
|
|
139
|
+
// via `limitSyncBursts` defers once a synchronous burst gets too deep (avoids React's max-update-depth).
|
|
140
|
+
// Without the flag the condition is unchanged -- trackSyncUpdateBurst() is never even called, so the
|
|
141
|
+
// guard has zero effect on instances that don't opt in.
|
|
142
|
+
else if (this.props.immediate || (isBatchingUpdates() && !(this.props.limitSyncBursts && trackSyncUpdateBurst()))) {
|
|
115
143
|
notifyBatchedUpdateStarting();
|
|
116
144
|
this.setState({ data: data }, notifyBatchedUpdateCompleted);
|
|
117
145
|
}
|
|
118
146
|
else {
|
|
119
|
-
//in standard mode sequential store commands are batched
|
|
147
|
+
//in standard mode sequential store commands are batched -- as is any update that exceeds the
|
|
148
|
+
//synchronous burst limit above, which falls through here to avoid React's max-update-depth abort
|
|
120
149
|
if (!this.pendingUpdateTimer) {
|
|
121
150
|
notifyBatchedUpdateStarting();
|
|
122
151
|
this.pendingUpdateTimer = setTimeout(() => {
|
|
123
152
|
delete this.pendingUpdateTimer;
|
|
124
|
-
|
|
153
|
+
//for opted-in instances read fresh data at fire time so a deferred (coalesced) update isn't
|
|
154
|
+
//left stale after a burst; otherwise keep the original captured-data behavior unchanged
|
|
155
|
+
this.setState({ data: this.props.limitSyncBursts ? this.store.getData() : data }, notifyBatchedUpdateCompleted);
|
|
125
156
|
}, 0);
|
|
126
157
|
}
|
|
127
158
|
}
|
package/build/ui/Restate.d.ts
CHANGED
|
@@ -16,6 +16,11 @@ export interface RestateConfig extends PureContainerConfig {
|
|
|
16
16
|
cacheKey?: StringProp;
|
|
17
17
|
/** Set to `true` to disable batching of updates. */
|
|
18
18
|
immediate?: boolean;
|
|
19
|
+
/** Cap re-entrant synchronous updates on the detached `Cx` this Restate renders: once a burst of
|
|
20
|
+
* back-to-back updates gets too deep, defer the excess to the coalesced branch instead of updating
|
|
21
|
+
* synchronously. Avoids React's "Maximum update depth exceeded" on very large synchronous render bursts.
|
|
22
|
+
* Only applies in `detached` mode (a non-detached Restate has no `Cx` of its own). Off by default. */
|
|
23
|
+
limitSyncBursts?: boolean;
|
|
19
24
|
/** Error handler callback. */
|
|
20
25
|
onError?: (error: Error, instance: Instance) => void;
|
|
21
26
|
/** Culture info to be used for formatting. */
|
|
@@ -33,6 +38,7 @@ export declare class Restate<Config extends RestateConfig = RestateConfig> exten
|
|
|
33
38
|
onError?: (error: Error, instance: Instance) => void;
|
|
34
39
|
waitForIdle: boolean;
|
|
35
40
|
immediate: boolean;
|
|
41
|
+
limitSyncBursts: boolean;
|
|
36
42
|
declareData(...args: any[]): void;
|
|
37
43
|
init(): void;
|
|
38
44
|
initSubStore(context: any, instance: any): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Restate.d.ts","sourceRoot":"","sources":["../../src/ui/Restate.tsx"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,OAAO,EAAiB,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AASxF,OAAO,EAAqB,WAAW,EAAE,MAAM,WAAW,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAItC,MAAM,WAAW,aAAc,SAAQ,mBAAmB;IACvD,oDAAoD;IACpD,IAAI,CAAC,EAAE,cAAc,CAAC;IAEtB,qFAAqF;IACrF,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,gEAAgE;IAChE,iBAAiB,CAAC,EAAE,WAAW,CAAC;IAEhC,gDAAgD;IAChD,WAAW,CAAC,EAAE,UAAU,CAAC;IAEzB,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,UAAU,CAAC;IAEtB,oDAAoD;IACpD,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,8BAA8B;IAC9B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC;IAErD,8CAA8C;IAC9C,OAAO,CAAC,EAAE,WAAW,CAAC;CACxB;AAGD,MAAM,WAAW,YAAa,SAAQ,aAAa;CAAG;AAEtD,qBAAa,OAAO,CAAC,MAAM,SAAS,aAAa,GAAG,aAAa,CAAE,SAAQ,iBAAiB,CAAC,MAAM,CAAC;IACzF,SAAS,EAAE,GAAG,CAAC;IACf,mBAAmB,EAAE,GAAG,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC;IACrD,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Restate.d.ts","sourceRoot":"","sources":["../../src/ui/Restate.tsx"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,OAAO,EAAiB,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AASxF,OAAO,EAAqB,WAAW,EAAE,MAAM,WAAW,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAItC,MAAM,WAAW,aAAc,SAAQ,mBAAmB;IACvD,oDAAoD;IACpD,IAAI,CAAC,EAAE,cAAc,CAAC;IAEtB,qFAAqF;IACrF,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,gEAAgE;IAChE,iBAAiB,CAAC,EAAE,WAAW,CAAC;IAEhC,gDAAgD;IAChD,WAAW,CAAC,EAAE,UAAU,CAAC;IAEzB,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,UAAU,CAAC;IAEtB,oDAAoD;IACpD,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;2GAGuG;IACvG,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,8BAA8B;IAC9B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC;IAErD,8CAA8C;IAC9C,OAAO,CAAC,EAAE,WAAW,CAAC;CACxB;AAGD,MAAM,WAAW,YAAa,SAAQ,aAAa;CAAG;AAEtD,qBAAa,OAAO,CAAC,MAAM,SAAS,aAAa,GAAG,aAAa,CAAE,SAAQ,iBAAiB,CAAC,MAAM,CAAC;IACzF,SAAS,EAAE,GAAG,CAAC;IACf,mBAAmB,EAAE,GAAG,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC;IACrD,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,eAAe,EAAE,OAAO,CAAC;IAEjC,WAAW,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE;IAQ1B,IAAI;IAsBJ,YAAY,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;IAmBxC,gBAAgB,CAAC,QAAQ,EAAE,GAAG;IAI9B,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;IAQnC,YAAY,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG;IAQpD,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM;CAoBjD;AAQD,eAAO,MAAM,YAAY,gBAAU,CAAC"}
|
package/build/ui/Restate.js
CHANGED
|
@@ -80,12 +80,13 @@ export class Restate extends PureContainerBase {
|
|
|
80
80
|
render(context, instance, key) {
|
|
81
81
|
if (!this.detached)
|
|
82
82
|
return instance.container.render(context);
|
|
83
|
-
return (_jsx(Cx, { widget: this.container, parentInstance: instance, store: instance.subStore, subscribe: true, options: this.options, onError: this.onError, deferredUntilIdle: instance.data.deferredUntilIdle, idleTimeout: instance.data.idleTimeout, immediate: this.immediate, cultureInfo: instance.cultureInfo }, key));
|
|
83
|
+
return (_jsx(Cx, { widget: this.container, parentInstance: instance, store: instance.subStore, subscribe: true, options: this.options, onError: this.onError, deferredUntilIdle: instance.data.deferredUntilIdle, idleTimeout: instance.data.idleTimeout, immediate: this.immediate, limitSyncBursts: this.limitSyncBursts, cultureInfo: instance.cultureInfo }, key));
|
|
84
84
|
}
|
|
85
85
|
}
|
|
86
86
|
Restate.prototype.detached = false;
|
|
87
87
|
Restate.prototype.waitForIdle = false;
|
|
88
88
|
Restate.prototype.immediate = false;
|
|
89
|
+
Restate.prototype.limitSyncBursts = false;
|
|
89
90
|
Restate.prototype.culture = null;
|
|
90
91
|
export const PrivateStore = Restate;
|
|
91
92
|
class RestateStore extends Store {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DocumentTitle.d.ts","sourceRoot":"","sources":["../../src/widgets/DocumentTitle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,MAAM,WAAW,mBAAoB,SAAQ,YAAY;IACtD,oDAAoD;IACpD,KAAK,CAAC,EAAE,UAAU,CAAC;IAEnB,oDAAoD;IACpD,IAAI,CAAC,EAAE,UAAU,CAAC;IAElB,kDAAkD;IAClD,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,kFAAkF;IAClF,MAAM,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;IAE1C,yFAAyF;IACzF,SAAS,CAAC,EAAE,UAAU,CAAC;CACzB;AAED,qBAAa,aAAc,SAAQ,MAAM,CAAC,mBAAmB,CAAC;IACnD,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;IAC1C,SAAS,CAAC,EAAE,UAAU,CAAC;gBAEnB,MAAM,CAAC,EAAE,mBAAmB;IAIxC,IAAI,IAAI,IAAI;IAQZ,WAAW,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,IAAI;IASrD,OAAO,CAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI;IA+B5D,OAAO,CAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"DocumentTitle.d.ts","sourceRoot":"","sources":["../../src/widgets/DocumentTitle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,MAAM,WAAW,mBAAoB,SAAQ,YAAY;IACtD,oDAAoD;IACpD,KAAK,CAAC,EAAE,UAAU,CAAC;IAEnB,oDAAoD;IACpD,IAAI,CAAC,EAAE,UAAU,CAAC;IAElB,kDAAkD;IAClD,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,kFAAkF;IAClF,MAAM,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;IAE1C,yFAAyF;IACzF,SAAS,CAAC,EAAE,UAAU,CAAC;CACzB;AAED,qBAAa,aAAc,SAAQ,MAAM,CAAC,mBAAmB,CAAC;IACnD,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;IAC1C,SAAS,CAAC,EAAE,UAAU,CAAC;gBAEnB,MAAM,CAAC,EAAE,mBAAmB;IAIxC,IAAI,IAAI,IAAI;IAQZ,WAAW,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,IAAI;IASrD,OAAO,CAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI;IA+B5D,OAAO,CAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAO5D,MAAM,IAAI,IAAI;CAGhB"}
|
|
@@ -45,6 +45,8 @@ export class DocumentTitle extends Widget {
|
|
|
45
45
|
super.explore(context, instance);
|
|
46
46
|
}
|
|
47
47
|
prepare(context, instance) {
|
|
48
|
+
if (typeof document == "undefined")
|
|
49
|
+
return;
|
|
48
50
|
if (context.documentTitle.activeInstance == instance)
|
|
49
51
|
document.title = context.documentTitle.title;
|
|
50
52
|
}
|
|
@@ -25,6 +25,8 @@ export interface TreeNodeConfig extends StyledContainerConfig {
|
|
|
25
25
|
openFolderIcon?: StringProp;
|
|
26
26
|
/** Icon for folder. */
|
|
27
27
|
folderIcon?: StringProp;
|
|
28
|
+
/** Icon used for the expand/collapse arrow. Defaults to `drop-down`. */
|
|
29
|
+
arrowIcon?: StringProp;
|
|
28
30
|
/** Set to `true` to hide the icon. */
|
|
29
31
|
hideIcon?: boolean;
|
|
30
32
|
/** Set to `true` to hide the arrow. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TreeNode.d.ts","sourceRoot":"","sources":["../../../src/widgets/grid/TreeNode.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D,MAAM,WAAW,cAAe,SAAQ,qBAAqB;IAC3D,qCAAqC;IACrC,KAAK,CAAC,EAAE,UAAU,CAAC;IAEnB,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,WAAW,CAAC;IAEvB,6DAA6D;IAC7D,IAAI,CAAC,EAAE,WAAW,CAAC;IAEnB,4BAA4B;IAC5B,IAAI,CAAC,EAAE,UAAU,CAAC;IAElB,4CAA4C;IAC5C,OAAO,CAAC,EAAE,WAAW,CAAC;IAEtB,4BAA4B;IAC5B,IAAI,CAAC,EAAE,UAAU,CAAC;IAElB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,UAAU,CAAC;IAEtB,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,UAAU,CAAC;IAEtB,+CAA+C;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,4BAA4B;IAC5B,cAAc,CAAC,EAAE,UAAU,CAAC;IAE5B,uBAAuB;IACvB,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,uCAAuC;IACvC,SAAS,CAAC,EAAE,WAAW,CAAC;CACzB;AAED,qBAAa,QAAS,SAAQ,aAAa,CAAC,cAAc,CAAC;IACjD,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;gBAEd,MAAM,CAAC,EAAE,cAAc;IAInC,IAAI;IAKJ,WAAW;IAkBX,WAAW,CAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,QAAQ;IAazD,MAAM,CAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM;IA+CjE,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ;CAM/C"}
|
|
1
|
+
{"version":3,"file":"TreeNode.d.ts","sourceRoot":"","sources":["../../../src/widgets/grid/TreeNode.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D,MAAM,WAAW,cAAe,SAAQ,qBAAqB;IAC3D,qCAAqC;IACrC,KAAK,CAAC,EAAE,UAAU,CAAC;IAEnB,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,WAAW,CAAC;IAEvB,6DAA6D;IAC7D,IAAI,CAAC,EAAE,WAAW,CAAC;IAEnB,4BAA4B;IAC5B,IAAI,CAAC,EAAE,UAAU,CAAC;IAElB,4CAA4C;IAC5C,OAAO,CAAC,EAAE,WAAW,CAAC;IAEtB,4BAA4B;IAC5B,IAAI,CAAC,EAAE,UAAU,CAAC;IAElB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,UAAU,CAAC;IAEtB,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,UAAU,CAAC;IAEtB,+CAA+C;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,4BAA4B;IAC5B,cAAc,CAAC,EAAE,UAAU,CAAC;IAE5B,uBAAuB;IACvB,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB,wEAAwE;IACxE,SAAS,CAAC,EAAE,UAAU,CAAC;IAEvB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,uCAAuC;IACvC,SAAS,CAAC,EAAE,WAAW,CAAC;CACzB;AAED,qBAAa,QAAS,SAAQ,aAAa,CAAC,cAAc,CAAC;IACjD,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;gBAEd,MAAM,CAAC,EAAE,cAAc;IAInC,IAAI;IAKJ,WAAW;IAkBX,WAAW,CAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,QAAQ;IAazD,MAAM,CAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM;IA+CjE,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ;CAM/C"}
|