lexgui 8.2.5 → 8.3.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/components/NodeTree.d.ts +51 -51
- package/build/components/Tabs.d.ts +1 -0
- package/build/core/Namespace.js +1 -1
- package/build/core/Namespace.js.map +1 -1
- package/build/extensions/AssetView.d.ts +138 -138
- package/build/extensions/AssetView.js +1433 -1433
- package/build/extensions/CodeEditor.d.ts +467 -363
- package/build/extensions/CodeEditor.js +3962 -4628
- package/build/extensions/CodeEditor.js.map +1 -1
- package/build/extensions/DocMaker.d.ts +28 -28
- package/build/extensions/DocMaker.js +363 -363
- package/build/extensions/Timeline.d.ts +2 -2
- package/build/extensions/Timeline.js +28 -15
- package/build/extensions/Timeline.js.map +1 -1
- package/build/extensions/VideoEditor.d.ts +1 -1
- package/build/extensions/VideoEditor.js +1021 -1014
- package/build/extensions/VideoEditor.js.map +1 -1
- package/build/extensions/index.js +1 -1
- package/build/lexgui.all.js +6379 -6951
- package/build/lexgui.all.js.map +1 -1
- package/build/lexgui.all.min.js +1 -1
- package/build/lexgui.all.module.js +6379 -6952
- package/build/lexgui.all.module.js.map +1 -1
- package/build/lexgui.all.module.min.js +1 -1
- package/build/lexgui.css +7544 -7459
- package/build/lexgui.js +4731 -241
- package/build/lexgui.js.map +1 -1
- package/build/lexgui.min.css +1 -1
- package/build/lexgui.min.js +1 -1
- package/build/lexgui.module.js +4731 -241
- package/build/lexgui.module.js.map +1 -1
- package/build/lexgui.module.min.js +1 -1
- package/changelog.md +43 -1
- package/demo.js +3 -2
- package/examples/code-editor.html +97 -16
- package/package.json +1 -1
|
@@ -13,7 +13,6 @@ export declare abstract class Timeline {
|
|
|
13
13
|
static TRACK_COLOR_SECONDARY: string;
|
|
14
14
|
static TRACK_COLOR_TERTIARY: string;
|
|
15
15
|
static TRACK_SELECTED: string;
|
|
16
|
-
static TRACK_SELECTED_LIGHT: string;
|
|
17
16
|
static FONT: string;
|
|
18
17
|
static FONT_COLOR_PRIMARY: string;
|
|
19
18
|
static FONT_COLOR_TERTIARY: string;
|
|
@@ -69,6 +68,7 @@ export declare abstract class Timeline {
|
|
|
69
68
|
leftPanel: typeof Panel;
|
|
70
69
|
trackTreesPanel: any;
|
|
71
70
|
trackTreesComponent: any;
|
|
71
|
+
trackTreesEvents: any;
|
|
72
72
|
lastTrackTreesComponentOffset: any;
|
|
73
73
|
mainArea: typeof Area;
|
|
74
74
|
root: HTMLBodyElement;
|
|
@@ -90,7 +90,6 @@ export declare abstract class Timeline {
|
|
|
90
90
|
onShowContextMenu: Nullable<(event: any) => void>;
|
|
91
91
|
onAddNewTrackButton: Nullable<() => void>;
|
|
92
92
|
onAddNewTrack: Nullable<(track: any, options: any) => void>;
|
|
93
|
-
onTrackTreeEvent: Nullable<(event: any) => void>;
|
|
94
93
|
onBeforeDrawContent: Nullable<(ctx: CanvasRenderingContext2D) => void>;
|
|
95
94
|
onStateStop: Nullable<() => void>;
|
|
96
95
|
onStateChange: Nullable<(s: boolean) => void>;
|
|
@@ -122,6 +121,7 @@ export declare abstract class Timeline {
|
|
|
122
121
|
* @method updateHeader
|
|
123
122
|
*/
|
|
124
123
|
updateHeader(): void;
|
|
124
|
+
setTrackTreeEventListener(type: string, callback: (event: any) => any): void;
|
|
125
125
|
/**
|
|
126
126
|
* @method updateLeftPanel
|
|
127
127
|
*/
|
|
@@ -21,7 +21,6 @@ class Timeline {
|
|
|
21
21
|
static TRACK_COLOR_SECONDARY;
|
|
22
22
|
static TRACK_COLOR_TERTIARY;
|
|
23
23
|
static TRACK_SELECTED;
|
|
24
|
-
static TRACK_SELECTED_LIGHT;
|
|
25
24
|
static FONT;
|
|
26
25
|
static FONT_COLOR_PRIMARY;
|
|
27
26
|
static FONT_COLOR_TERTIARY;
|
|
@@ -77,6 +76,7 @@ class Timeline {
|
|
|
77
76
|
leftPanel; // where tree will be placed
|
|
78
77
|
trackTreesPanel = null;
|
|
79
78
|
trackTreesComponent = null;
|
|
79
|
+
trackTreesEvents = {}; // holds callbacks
|
|
80
80
|
lastTrackTreesComponentOffset = 0; // this.trackTreesComponent.innerTree.domEl.offsetTop - canvas.offsetTop. Check draw()
|
|
81
81
|
mainArea;
|
|
82
82
|
root;
|
|
@@ -98,7 +98,6 @@ class Timeline {
|
|
|
98
98
|
onShowContextMenu = null;
|
|
99
99
|
onAddNewTrackButton = null; // overrides button "add track" behaviour
|
|
100
100
|
onAddNewTrack = null;
|
|
101
|
-
onTrackTreeEvent = null;
|
|
102
101
|
onBeforeDrawContent = null;
|
|
103
102
|
onStateStop = null;
|
|
104
103
|
onStateChange = null;
|
|
@@ -183,6 +182,7 @@ class Timeline {
|
|
|
183
182
|
Timeline.TRACK_COLOR_PRIMARY = LX.getCSSVariable('card');
|
|
184
183
|
Timeline.TRACK_COLOR_SECONDARY = LX.getCSSVariable('secondary');
|
|
185
184
|
Timeline.TRACK_COLOR_TERTIARY = LX.getCSSVariable('accent');
|
|
185
|
+
Timeline.TRACK_SELECTED = LX.getCSSVariable('primary');
|
|
186
186
|
Timeline.FONT = LX.getCSSVariable('global-font');
|
|
187
187
|
Timeline.FONT_COLOR_PRIMARY = LX.getCSSVariable('foreground');
|
|
188
188
|
Timeline.FONT_COLOR_TERTIARY = LX.getCSSVariable('primary');
|
|
@@ -192,6 +192,8 @@ class Timeline {
|
|
|
192
192
|
Timeline.KEYFRAME_COLOR_LOCK = LX.getCSSVariable('lxTimeline-keyframe-locked');
|
|
193
193
|
Timeline.KEYFRAME_COLOR_EDITED = LX.getCSSVariable('lxTimeline-keyframe-edited');
|
|
194
194
|
Timeline.KEYFRAME_COLOR_INACTIVE = LX.getCSSVariable('lxTimeline-keyframe-inactive');
|
|
195
|
+
Timeline.TIME_MARKER_COLOR = LX.getCSSVariable('primary');
|
|
196
|
+
Timeline.TIME_MARKER_COLOR_TEXT = LX.getCSSVariable('primary-foreground');
|
|
195
197
|
}
|
|
196
198
|
this.updateTheme = updateTheme.bind(this);
|
|
197
199
|
LX.addSignal('@on_new_color_scheme', this.updateTheme);
|
|
@@ -309,6 +311,12 @@ class Timeline {
|
|
|
309
311
|
header.addContent('header-buttons-end', buttonContainerEnd);
|
|
310
312
|
header.endLine('justify-between');
|
|
311
313
|
}
|
|
314
|
+
setTrackTreeEventListener(type, callback) {
|
|
315
|
+
this.trackTreesEvents[type] = callback;
|
|
316
|
+
if (type != 'select' && type != 'visibleChanged') {
|
|
317
|
+
this.trackTreesComponent.on(type, this.trackTreesEvents[type]);
|
|
318
|
+
}
|
|
319
|
+
}
|
|
312
320
|
/**
|
|
313
321
|
* @method updateLeftPanel
|
|
314
322
|
*/
|
|
@@ -347,18 +355,23 @@ class Timeline {
|
|
|
347
355
|
const flag = event.domEvent.shiftKey ? !node.trackData.isSelected : true;
|
|
348
356
|
this.setTrackSelection(node.trackData.trackIdx, flag, false, false); // do callback, do not update left panel
|
|
349
357
|
}
|
|
358
|
+
if (this.trackTreesEvents['select']) {
|
|
359
|
+
this.trackTreesEvents['select'](event);
|
|
360
|
+
}
|
|
350
361
|
});
|
|
351
362
|
this.trackTreesComponent.on('visibleChanged', (event, resolve) => {
|
|
352
363
|
const node = event.items[0];
|
|
353
364
|
if (node.trackData) {
|
|
354
365
|
this.setTrackState(node.trackData.trackIdx, node.visible, false, false); // do not update left panel
|
|
355
366
|
}
|
|
367
|
+
if (this.trackTreesEvents['visibleChanged']) {
|
|
368
|
+
this.trackTreesEvents['visibleChanged'](event);
|
|
369
|
+
}
|
|
356
370
|
});
|
|
357
|
-
//
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
// }
|
|
371
|
+
// reset all tree events to the new tree
|
|
372
|
+
for (let name in this.trackTreesEvents) {
|
|
373
|
+
this.setTrackTreeEventListener(name, this.trackTreesEvents[name]);
|
|
374
|
+
}
|
|
362
375
|
const that = this;
|
|
363
376
|
this.trackTreesComponent.innerTree._refresh = this.trackTreesComponent.innerTree.refresh;
|
|
364
377
|
this.trackTreesComponent.innerTree.refresh = function (newData, selectedId) {
|
|
@@ -537,7 +550,7 @@ class Timeline {
|
|
|
537
550
|
ctx.save();
|
|
538
551
|
ctx.fillStyle = Timeline.TRACK_COLOR_SECONDARY;
|
|
539
552
|
const rectsOffset = this.currentScrollInPixels % line_height;
|
|
540
|
-
const blackOrWhite =
|
|
553
|
+
const blackOrWhite = Math.floor(this.currentScrollInPixels / line_height) % 2;
|
|
541
554
|
for (let i = blackOrWhite; i <= max_tracks; i += 2) {
|
|
542
555
|
ctx.fillRect(0, treeOffset - rectsOffset + i * line_height, w, line_height);
|
|
543
556
|
}
|
|
@@ -566,8 +579,9 @@ class Timeline {
|
|
|
566
579
|
const w = ctx.canvas.width;
|
|
567
580
|
const h = ctx.canvas.height;
|
|
568
581
|
const scrollableHeight = this.trackTreesComponent.root.scrollHeight;
|
|
582
|
+
// hack: get 'ul' start pos to know when tracks start
|
|
569
583
|
// tree has gaps of 0.25rem (4px ) inbetween entries but not in the beginning nor ending. Move half gap upwards.
|
|
570
|
-
const treeOffset = this.lastTrackTreesComponentOffset = this.trackTreesComponent.innerTree.domEl.offsetTop
|
|
584
|
+
const treeOffset = this.lastTrackTreesComponentOffset = this.trackTreesComponent.innerTree.domEl.children[0].offsetTop
|
|
571
585
|
- this.canvas.offsetTop - 2;
|
|
572
586
|
// zoom
|
|
573
587
|
let startTime = this.visualOriginTime; // seconds
|
|
@@ -1263,14 +1277,13 @@ Timeline.BACKGROUND_COLOR = LX.getCSSVariable('background-blur');
|
|
|
1263
1277
|
Timeline.TRACK_COLOR_PRIMARY = LX.getCSSVariable('card');
|
|
1264
1278
|
Timeline.TRACK_COLOR_SECONDARY = LX.getCSSVariable('secondary');
|
|
1265
1279
|
Timeline.TRACK_COLOR_TERTIARY = LX.getCSSVariable('accent');
|
|
1266
|
-
Timeline.TRACK_SELECTED = LX.getCSSVariable('
|
|
1267
|
-
Timeline.TRACK_SELECTED_LIGHT = LX.getCSSVariable('color-blue-400');
|
|
1280
|
+
Timeline.TRACK_SELECTED = LX.getCSSVariable('primary');
|
|
1268
1281
|
Timeline.FONT = LX.getCSSVariable('global-font');
|
|
1269
1282
|
Timeline.FONT_COLOR_PRIMARY = LX.getCSSVariable('foreground');
|
|
1270
1283
|
Timeline.FONT_COLOR_TERTIARY = LX.getCSSVariable('primary');
|
|
1271
1284
|
Timeline.FONT_COLOR_QUATERNARY = LX.getCSSVariable('muted-foreground');
|
|
1272
|
-
Timeline.TIME_MARKER_COLOR = LX.getCSSVariable('
|
|
1273
|
-
Timeline.TIME_MARKER_COLOR_TEXT = '
|
|
1285
|
+
Timeline.TIME_MARKER_COLOR = LX.getCSSVariable('primary');
|
|
1286
|
+
Timeline.TIME_MARKER_COLOR_TEXT = LX.getCSSVariable('primary-foreground');
|
|
1274
1287
|
LX.setCSSVariable('lxTimeline-keyframe', 'light-dark(#2d69da,#2d69da )');
|
|
1275
1288
|
LX.setCSSVariable('lxTimeline-keyframe-selected', 'light-dark(#f5c700,#fafa14)');
|
|
1276
1289
|
LX.setCSSVariable('lxTimeline-keyframe-hovered', 'light-dark(#f5c700,#fafa14)');
|
|
@@ -1978,7 +1991,7 @@ class KeyFramesTimeline extends Timeline {
|
|
|
1978
1991
|
drawTrackWithCurves(ctx, trackHeight, track) {
|
|
1979
1992
|
if (track.isSelected) {
|
|
1980
1993
|
ctx.globalAlpha = 0.2;
|
|
1981
|
-
ctx.fillStyle = Timeline.
|
|
1994
|
+
ctx.fillStyle = Timeline.TRACK_SELECTED;
|
|
1982
1995
|
ctx.fillRect(0, 0, ctx.canvas.width, trackHeight);
|
|
1983
1996
|
}
|
|
1984
1997
|
ctx.globalAlpha = 1;
|
|
@@ -3343,7 +3356,7 @@ class ClipsTimeline extends Timeline {
|
|
|
3343
3356
|
drawTrackWithBoxes(ctx, y, trackHeight, track) {
|
|
3344
3357
|
// Fill track background if it's selected
|
|
3345
3358
|
ctx.globalAlpha = 0.2;
|
|
3346
|
-
ctx.fillStyle = Timeline.
|
|
3359
|
+
ctx.fillStyle = Timeline.TRACK_SELECTED;
|
|
3347
3360
|
if (track.isSelected) {
|
|
3348
3361
|
ctx.fillRect(0, y, ctx.canvas.width, trackHeight);
|
|
3349
3362
|
}
|