@design.estate/dees-wcctools 1.2.1 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist_bundle/bundle.js +1581 -198
- package/dist_bundle/bundle.js.map +4 -4
- package/dist_ts_demotools/demotools.d.ts +1 -1
- package/dist_ts_demotools/demotools.js +86 -38
- package/dist_ts_web/00_commitinfo_data.js +1 -1
- package/dist_ts_web/elements/wcc-dashboard.d.ts +10 -10
- package/dist_ts_web/elements/wcc-dashboard.js +317 -245
- package/dist_ts_web/elements/wcc-frame.d.ts +3 -3
- package/dist_ts_web/elements/wcc-frame.js +108 -57
- package/dist_ts_web/elements/wcc-properties.d.ts +14 -8
- package/dist_ts_web/elements/wcc-properties.js +442 -323
- package/dist_ts_web/elements/wcc-record-button.d.ts +12 -0
- package/dist_ts_web/elements/wcc-record-button.js +165 -0
- package/dist_ts_web/elements/wcc-recording-panel.d.ts +42 -0
- package/dist_ts_web/elements/wcc-recording-panel.js +1063 -0
- package/dist_ts_web/elements/wcc-sidebar.d.ts +4 -4
- package/dist_ts_web/elements/wcc-sidebar.js +125 -71
- package/dist_ts_web/index.d.ts +3 -0
- package/dist_ts_web/index.js +5 -1
- package/dist_ts_web/services/recorder.service.d.ts +44 -0
- package/dist_ts_web/services/recorder.service.js +306 -0
- package/dist_watch/bundle.js +1939 -521
- package/dist_watch/bundle.js.map +4 -4
- package/package.json +8 -8
- package/readme.md +133 -141
- package/ts_web/00_commitinfo_data.ts +1 -1
- package/ts_web/elements/wcc-dashboard.ts +10 -10
- package/ts_web/elements/wcc-frame.ts +3 -3
- package/ts_web/elements/wcc-properties.ts +53 -9
- package/ts_web/elements/wcc-record-button.ts +108 -0
- package/ts_web/elements/wcc-recording-panel.ts +974 -0
- package/ts_web/elements/wcc-sidebar.ts +4 -4
- package/ts_web/index.ts +5 -0
- package/ts_web/readme.md +123 -0
- package/ts_web/services/recorder.service.ts +391 -0
|
@@ -1,31 +1,154 @@
|
|
|
1
|
-
var
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
|
2
|
+
function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
|
|
3
|
+
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
|
4
|
+
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
|
5
|
+
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
|
6
|
+
var _, done = false;
|
|
7
|
+
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
8
|
+
var context = {};
|
|
9
|
+
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
|
10
|
+
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
|
11
|
+
context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
|
|
12
|
+
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
|
13
|
+
if (kind === "accessor") {
|
|
14
|
+
if (result === void 0) continue;
|
|
15
|
+
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
|
16
|
+
if (_ = accept(result.get)) descriptor.get = _;
|
|
17
|
+
if (_ = accept(result.set)) descriptor.set = _;
|
|
18
|
+
if (_ = accept(result.init)) initializers.unshift(_);
|
|
19
|
+
}
|
|
20
|
+
else if (_ = accept(result)) {
|
|
21
|
+
if (kind === "field") initializers.unshift(_);
|
|
22
|
+
else descriptor[key] = _;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
|
26
|
+
done = true;
|
|
6
27
|
};
|
|
7
|
-
var
|
|
8
|
-
|
|
28
|
+
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
|
|
29
|
+
var useValue = arguments.length > 2;
|
|
30
|
+
for (var i = 0; i < initializers.length; i++) {
|
|
31
|
+
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
|
32
|
+
}
|
|
33
|
+
return useValue ? value : void 0;
|
|
9
34
|
};
|
|
10
35
|
import { DeesElement, property, html, customElement, state } from '@design.estate/dees-element';
|
|
11
36
|
import { WccDashboard } from './wcc-dashboard.js';
|
|
37
|
+
import './wcc-record-button.js';
|
|
38
|
+
import './wcc-recording-panel.js';
|
|
12
39
|
let environment = 'native';
|
|
13
40
|
export const setEnvironment = (envArg) => {
|
|
14
41
|
environment = envArg;
|
|
15
42
|
};
|
|
16
|
-
let WccProperties =
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
43
|
+
let WccProperties = (() => {
|
|
44
|
+
let _classDecorators = [customElement('wcc-properties')];
|
|
45
|
+
let _classDescriptor;
|
|
46
|
+
let _classExtraInitializers = [];
|
|
47
|
+
let _classThis;
|
|
48
|
+
let _classSuper = DeesElement;
|
|
49
|
+
let _dashboardRef_decorators;
|
|
50
|
+
let _dashboardRef_initializers = [];
|
|
51
|
+
let _dashboardRef_extraInitializers = [];
|
|
52
|
+
let _selectedItem_decorators;
|
|
53
|
+
let _selectedItem_initializers = [];
|
|
54
|
+
let _selectedItem_extraInitializers = [];
|
|
55
|
+
let _selectedViewport_decorators;
|
|
56
|
+
let _selectedViewport_initializers = [];
|
|
57
|
+
let _selectedViewport_extraInitializers = [];
|
|
58
|
+
let _selectedTheme_decorators;
|
|
59
|
+
let _selectedTheme_initializers = [];
|
|
60
|
+
let _selectedTheme_extraInitializers = [];
|
|
61
|
+
let _warning_decorators;
|
|
62
|
+
let _warning_initializers = [];
|
|
63
|
+
let _warning_extraInitializers = [];
|
|
64
|
+
let _isFullscreen_decorators;
|
|
65
|
+
let _isFullscreen_initializers = [];
|
|
66
|
+
let _isFullscreen_extraInitializers = [];
|
|
67
|
+
let _propertyContent_decorators;
|
|
68
|
+
let _propertyContent_initializers = [];
|
|
69
|
+
let _propertyContent_extraInitializers = [];
|
|
70
|
+
let _editingProperties_decorators;
|
|
71
|
+
let _editingProperties_initializers = [];
|
|
72
|
+
let _editingProperties_extraInitializers = [];
|
|
73
|
+
let _showRecordingPanel_decorators;
|
|
74
|
+
let _showRecordingPanel_initializers = [];
|
|
75
|
+
let _showRecordingPanel_extraInitializers = [];
|
|
76
|
+
let _isRecording_decorators;
|
|
77
|
+
let _isRecording_initializers = [];
|
|
78
|
+
let _isRecording_extraInitializers = [];
|
|
79
|
+
let _recordingDuration_decorators;
|
|
80
|
+
let _recordingDuration_initializers = [];
|
|
81
|
+
let _recordingDuration_extraInitializers = [];
|
|
82
|
+
var WccProperties = class extends _classSuper {
|
|
83
|
+
static { _classThis = this; }
|
|
84
|
+
static {
|
|
85
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
86
|
+
_dashboardRef_decorators = [property({
|
|
87
|
+
type: WccDashboard
|
|
88
|
+
})];
|
|
89
|
+
_selectedItem_decorators = [property()];
|
|
90
|
+
_selectedViewport_decorators = [property()];
|
|
91
|
+
_selectedTheme_decorators = [property()];
|
|
92
|
+
_warning_decorators = [property()];
|
|
93
|
+
_isFullscreen_decorators = [property()];
|
|
94
|
+
_propertyContent_decorators = [state()];
|
|
95
|
+
_editingProperties_decorators = [state()];
|
|
96
|
+
_showRecordingPanel_decorators = [state()];
|
|
97
|
+
_isRecording_decorators = [state()];
|
|
98
|
+
_recordingDuration_decorators = [state()];
|
|
99
|
+
__esDecorate(this, null, _dashboardRef_decorators, { kind: "accessor", name: "dashboardRef", static: false, private: false, access: { has: obj => "dashboardRef" in obj, get: obj => obj.dashboardRef, set: (obj, value) => { obj.dashboardRef = value; } }, metadata: _metadata }, _dashboardRef_initializers, _dashboardRef_extraInitializers);
|
|
100
|
+
__esDecorate(this, null, _selectedItem_decorators, { kind: "accessor", name: "selectedItem", static: false, private: false, access: { has: obj => "selectedItem" in obj, get: obj => obj.selectedItem, set: (obj, value) => { obj.selectedItem = value; } }, metadata: _metadata }, _selectedItem_initializers, _selectedItem_extraInitializers);
|
|
101
|
+
__esDecorate(this, null, _selectedViewport_decorators, { kind: "accessor", name: "selectedViewport", static: false, private: false, access: { has: obj => "selectedViewport" in obj, get: obj => obj.selectedViewport, set: (obj, value) => { obj.selectedViewport = value; } }, metadata: _metadata }, _selectedViewport_initializers, _selectedViewport_extraInitializers);
|
|
102
|
+
__esDecorate(this, null, _selectedTheme_decorators, { kind: "accessor", name: "selectedTheme", static: false, private: false, access: { has: obj => "selectedTheme" in obj, get: obj => obj.selectedTheme, set: (obj, value) => { obj.selectedTheme = value; } }, metadata: _metadata }, _selectedTheme_initializers, _selectedTheme_extraInitializers);
|
|
103
|
+
__esDecorate(this, null, _warning_decorators, { kind: "accessor", name: "warning", static: false, private: false, access: { has: obj => "warning" in obj, get: obj => obj.warning, set: (obj, value) => { obj.warning = value; } }, metadata: _metadata }, _warning_initializers, _warning_extraInitializers);
|
|
104
|
+
__esDecorate(this, null, _isFullscreen_decorators, { kind: "accessor", name: "isFullscreen", static: false, private: false, access: { has: obj => "isFullscreen" in obj, get: obj => obj.isFullscreen, set: (obj, value) => { obj.isFullscreen = value; } }, metadata: _metadata }, _isFullscreen_initializers, _isFullscreen_extraInitializers);
|
|
105
|
+
__esDecorate(this, null, _propertyContent_decorators, { kind: "accessor", name: "propertyContent", static: false, private: false, access: { has: obj => "propertyContent" in obj, get: obj => obj.propertyContent, set: (obj, value) => { obj.propertyContent = value; } }, metadata: _metadata }, _propertyContent_initializers, _propertyContent_extraInitializers);
|
|
106
|
+
__esDecorate(this, null, _editingProperties_decorators, { kind: "accessor", name: "editingProperties", static: false, private: false, access: { has: obj => "editingProperties" in obj, get: obj => obj.editingProperties, set: (obj, value) => { obj.editingProperties = value; } }, metadata: _metadata }, _editingProperties_initializers, _editingProperties_extraInitializers);
|
|
107
|
+
__esDecorate(this, null, _showRecordingPanel_decorators, { kind: "accessor", name: "showRecordingPanel", static: false, private: false, access: { has: obj => "showRecordingPanel" in obj, get: obj => obj.showRecordingPanel, set: (obj, value) => { obj.showRecordingPanel = value; } }, metadata: _metadata }, _showRecordingPanel_initializers, _showRecordingPanel_extraInitializers);
|
|
108
|
+
__esDecorate(this, null, _isRecording_decorators, { kind: "accessor", name: "isRecording", static: false, private: false, access: { has: obj => "isRecording" in obj, get: obj => obj.isRecording, set: (obj, value) => { obj.isRecording = value; } }, metadata: _metadata }, _isRecording_initializers, _isRecording_extraInitializers);
|
|
109
|
+
__esDecorate(this, null, _recordingDuration_decorators, { kind: "accessor", name: "recordingDuration", static: false, private: false, access: { has: obj => "recordingDuration" in obj, get: obj => obj.recordingDuration, set: (obj, value) => { obj.recordingDuration = value; } }, metadata: _metadata }, _recordingDuration_initializers, _recordingDuration_extraInitializers);
|
|
110
|
+
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
111
|
+
WccProperties = _classThis = _classDescriptor.value;
|
|
112
|
+
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
113
|
+
__runInitializers(_classThis, _classExtraInitializers);
|
|
114
|
+
}
|
|
115
|
+
#dashboardRef_accessor_storage = __runInitializers(this, _dashboardRef_initializers, void 0);
|
|
116
|
+
get dashboardRef() { return this.#dashboardRef_accessor_storage; }
|
|
117
|
+
set dashboardRef(value) { this.#dashboardRef_accessor_storage = value; }
|
|
118
|
+
#selectedItem_accessor_storage = (__runInitializers(this, _dashboardRef_extraInitializers), __runInitializers(this, _selectedItem_initializers, void 0));
|
|
119
|
+
get selectedItem() { return this.#selectedItem_accessor_storage; }
|
|
120
|
+
set selectedItem(value) { this.#selectedItem_accessor_storage = value; }
|
|
121
|
+
#selectedViewport_accessor_storage = (__runInitializers(this, _selectedItem_extraInitializers), __runInitializers(this, _selectedViewport_initializers, 'native'));
|
|
122
|
+
get selectedViewport() { return this.#selectedViewport_accessor_storage; }
|
|
123
|
+
set selectedViewport(value) { this.#selectedViewport_accessor_storage = value; }
|
|
124
|
+
#selectedTheme_accessor_storage = (__runInitializers(this, _selectedViewport_extraInitializers), __runInitializers(this, _selectedTheme_initializers, 'dark'));
|
|
125
|
+
get selectedTheme() { return this.#selectedTheme_accessor_storage; }
|
|
126
|
+
set selectedTheme(value) { this.#selectedTheme_accessor_storage = value; }
|
|
127
|
+
#warning_accessor_storage = (__runInitializers(this, _selectedTheme_extraInitializers), __runInitializers(this, _warning_initializers, null));
|
|
128
|
+
get warning() { return this.#warning_accessor_storage; }
|
|
129
|
+
set warning(value) { this.#warning_accessor_storage = value; }
|
|
130
|
+
#isFullscreen_accessor_storage = (__runInitializers(this, _warning_extraInitializers), __runInitializers(this, _isFullscreen_initializers, false));
|
|
131
|
+
get isFullscreen() { return this.#isFullscreen_accessor_storage; }
|
|
132
|
+
set isFullscreen(value) { this.#isFullscreen_accessor_storage = value; }
|
|
133
|
+
#propertyContent_accessor_storage = (__runInitializers(this, _isFullscreen_extraInitializers), __runInitializers(this, _propertyContent_initializers, []));
|
|
134
|
+
get propertyContent() { return this.#propertyContent_accessor_storage; }
|
|
135
|
+
set propertyContent(value) { this.#propertyContent_accessor_storage = value; }
|
|
136
|
+
#editingProperties_accessor_storage = (__runInitializers(this, _propertyContent_extraInitializers), __runInitializers(this, _editingProperties_initializers, []));
|
|
137
|
+
get editingProperties() { return this.#editingProperties_accessor_storage; }
|
|
138
|
+
set editingProperties(value) { this.#editingProperties_accessor_storage = value; }
|
|
139
|
+
#showRecordingPanel_accessor_storage = (__runInitializers(this, _editingProperties_extraInitializers), __runInitializers(this, _showRecordingPanel_initializers, false));
|
|
140
|
+
// Recording coordination state
|
|
141
|
+
get showRecordingPanel() { return this.#showRecordingPanel_accessor_storage; }
|
|
142
|
+
set showRecordingPanel(value) { this.#showRecordingPanel_accessor_storage = value; }
|
|
143
|
+
#isRecording_accessor_storage = (__runInitializers(this, _showRecordingPanel_extraInitializers), __runInitializers(this, _isRecording_initializers, false));
|
|
144
|
+
get isRecording() { return this.#isRecording_accessor_storage; }
|
|
145
|
+
set isRecording(value) { this.#isRecording_accessor_storage = value; }
|
|
146
|
+
#recordingDuration_accessor_storage = (__runInitializers(this, _isRecording_extraInitializers), __runInitializers(this, _recordingDuration_initializers, 0));
|
|
147
|
+
get recordingDuration() { return this.#recordingDuration_accessor_storage; }
|
|
148
|
+
set recordingDuration(value) { this.#recordingDuration_accessor_storage = value; }
|
|
149
|
+
editorHeight = (__runInitializers(this, _recordingDuration_extraInitializers), 300);
|
|
150
|
+
render() {
|
|
151
|
+
return html `
|
|
29
152
|
<style>
|
|
30
153
|
:host {
|
|
31
154
|
/* CSS Variables - Always dark theme */
|
|
@@ -62,7 +185,7 @@ let WccProperties = class WccProperties extends DeesElement {
|
|
|
62
185
|
}
|
|
63
186
|
.grid {
|
|
64
187
|
display: grid;
|
|
65
|
-
grid-template-columns: 1fr 150px 300px 70px;
|
|
188
|
+
grid-template-columns: 1fr 150px 300px 70px 70px;
|
|
66
189
|
height: 100%;
|
|
67
190
|
}
|
|
68
191
|
.properties {
|
|
@@ -529,24 +652,24 @@ let WccProperties = class WccProperties extends DeesElement {
|
|
|
529
652
|
class="editor-textarea"
|
|
530
653
|
.value=${prop.editorValue}
|
|
531
654
|
@input=${(e) => {
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
655
|
+
const editor = this.editingProperties.find(p => p.id === prop.id);
|
|
656
|
+
if (editor) {
|
|
657
|
+
editor.editorValue = e.target.value;
|
|
658
|
+
editor.editorError = '';
|
|
659
|
+
this.requestUpdate();
|
|
660
|
+
}
|
|
661
|
+
}}
|
|
539
662
|
@keydown=${(e) => {
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
663
|
+
if (e.key === 'Tab') {
|
|
664
|
+
e.preventDefault();
|
|
665
|
+
const target = e.target;
|
|
666
|
+
const start = target.selectionStart;
|
|
667
|
+
const end = target.selectionEnd;
|
|
668
|
+
const value = target.value;
|
|
669
|
+
target.value = value.substring(0, start) + ' ' + value.substring(end);
|
|
670
|
+
target.selectionStart = target.selectionEnd = start + 2;
|
|
671
|
+
}
|
|
672
|
+
}}
|
|
550
673
|
></textarea>
|
|
551
674
|
${prop.editorError ? html `
|
|
552
675
|
<div class="editor-error">${prop.editorError}</div>
|
|
@@ -568,16 +691,16 @@ let WccProperties = class WccProperties extends DeesElement {
|
|
|
568
691
|
<div
|
|
569
692
|
class="button ${this.selectedTheme === 'dark' ? 'selected' : null}"
|
|
570
693
|
@click=${() => {
|
|
571
|
-
|
|
572
|
-
|
|
694
|
+
this.selectTheme('dark');
|
|
695
|
+
}}
|
|
573
696
|
>
|
|
574
697
|
Dark<i class="material-symbols-outlined">brightness_3</i>
|
|
575
698
|
</div>
|
|
576
699
|
<div
|
|
577
700
|
class="button ${this.selectedTheme === 'bright' ? 'selected' : null}"
|
|
578
701
|
@click=${() => {
|
|
579
|
-
|
|
580
|
-
|
|
702
|
+
this.selectTheme('bright');
|
|
703
|
+
}}
|
|
581
704
|
>
|
|
582
705
|
Bright<i class="material-symbols-outlined">flare</i>
|
|
583
706
|
</div>
|
|
@@ -589,35 +712,35 @@ let WccProperties = class WccProperties extends DeesElement {
|
|
|
589
712
|
<div
|
|
590
713
|
class="button ${this.selectedViewport === 'phone' ? 'selected' : null}"
|
|
591
714
|
@click=${() => {
|
|
592
|
-
|
|
593
|
-
|
|
715
|
+
this.selectViewport('phone');
|
|
716
|
+
}}
|
|
594
717
|
>
|
|
595
718
|
Phone<i class="material-symbols-outlined">smartphone</i>
|
|
596
719
|
</div>
|
|
597
720
|
<div
|
|
598
721
|
class="button ${this.selectedViewport === 'phablet' ? 'selected' : null}"
|
|
599
722
|
@click=${() => {
|
|
600
|
-
|
|
601
|
-
|
|
723
|
+
this.selectViewport('phablet');
|
|
724
|
+
}}
|
|
602
725
|
>
|
|
603
726
|
Phablet<i class="material-symbols-outlined">smartphone</i>
|
|
604
727
|
</div>
|
|
605
728
|
<div
|
|
606
729
|
class="button ${this.selectedViewport === 'tablet' ? 'selected' : null}"
|
|
607
730
|
@click=${() => {
|
|
608
|
-
|
|
609
|
-
|
|
731
|
+
this.selectViewport('tablet');
|
|
732
|
+
}}
|
|
610
733
|
>
|
|
611
734
|
Tablet<i class="material-symbols-outlined">tablet</i>
|
|
612
735
|
</div>
|
|
613
736
|
<div
|
|
614
737
|
class="button ${this.selectedViewport === 'desktop' ||
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
738
|
+
this.selectedViewport === 'native'
|
|
739
|
+
? 'selected'
|
|
740
|
+
: null}"
|
|
618
741
|
@click=${() => {
|
|
619
|
-
|
|
620
|
-
|
|
742
|
+
this.selectViewport('native');
|
|
743
|
+
}}
|
|
621
744
|
>
|
|
622
745
|
Desktop<i class="material-symbols-outlined">desktop_windows</i>
|
|
623
746
|
</div>
|
|
@@ -628,262 +751,301 @@ let WccProperties = class WccProperties extends DeesElement {
|
|
|
628
751
|
${this.isFullscreen ? 'fullscreen_exit' : 'fullscreen'}
|
|
629
752
|
</i>
|
|
630
753
|
</div>
|
|
754
|
+
<!-- Recording Button -->
|
|
755
|
+
<wcc-record-button
|
|
756
|
+
.state=${this.isRecording ? 'recording' : 'idle'}
|
|
757
|
+
.duration=${this.recordingDuration}
|
|
758
|
+
@record-click=${() => this.handleRecordButtonClick()}
|
|
759
|
+
></wcc-record-button>
|
|
631
760
|
</div>
|
|
632
761
|
${this.warning ? html `<div class="warning">${this.warning}</div>` : null}
|
|
633
762
|
</div>
|
|
763
|
+
|
|
764
|
+
<!-- Recording Panel (options + preview) -->
|
|
765
|
+
${this.showRecordingPanel ? html `
|
|
766
|
+
<wcc-recording-panel
|
|
767
|
+
.dashboardRef=${this.dashboardRef}
|
|
768
|
+
@recording-start=${() => { this.isRecording = true; }}
|
|
769
|
+
@recording-stop=${() => { this.isRecording = false; }}
|
|
770
|
+
@duration-update=${(e) => { this.recordingDuration = e.detail.duration; }}
|
|
771
|
+
@close=${() => { this.showRecordingPanel = false; this.isRecording = false; this.recordingDuration = 0; }}
|
|
772
|
+
></wcc-recording-panel>
|
|
773
|
+
` : null}
|
|
634
774
|
`;
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
775
|
+
}
|
|
776
|
+
async findElementRecursively(container, elementClass, maxDepth = 5) {
|
|
777
|
+
if (maxDepth <= 0)
|
|
778
|
+
return null;
|
|
779
|
+
try {
|
|
780
|
+
// Check direct children
|
|
781
|
+
for (const child of Array.from(container.children)) {
|
|
782
|
+
if (child instanceof elementClass) {
|
|
783
|
+
return child;
|
|
784
|
+
}
|
|
644
785
|
}
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
786
|
+
// Search in all children recursively
|
|
787
|
+
for (const child of Array.from(container.children)) {
|
|
788
|
+
// First, always check the light DOM children
|
|
789
|
+
const found = await this.findElementRecursively(child, elementClass, maxDepth - 1);
|
|
790
|
+
if (found)
|
|
791
|
+
return found;
|
|
792
|
+
// Also check shadow root if it exists
|
|
793
|
+
if (child.shadowRoot) {
|
|
794
|
+
const shadowFound = await this.findElementRecursively(child.shadowRoot, elementClass, maxDepth - 1);
|
|
795
|
+
if (shadowFound)
|
|
796
|
+
return shadowFound;
|
|
797
|
+
}
|
|
657
798
|
}
|
|
658
799
|
}
|
|
800
|
+
catch (error) {
|
|
801
|
+
console.error('Error in findElementRecursively:', error);
|
|
802
|
+
}
|
|
803
|
+
return null;
|
|
659
804
|
}
|
|
660
|
-
|
|
661
|
-
console.
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
let value = propertyArg.type[key];
|
|
675
|
-
if (typeof value === 'number') {
|
|
676
|
-
value = value.toString();
|
|
805
|
+
async createProperties() {
|
|
806
|
+
console.log('creating properties for:');
|
|
807
|
+
console.log(this.selectedItem);
|
|
808
|
+
// Clear any previous warnings
|
|
809
|
+
this.warning = null;
|
|
810
|
+
const isEnumeration = (propertyArg) => {
|
|
811
|
+
const keys = Object.keys(propertyArg.type);
|
|
812
|
+
const values = [];
|
|
813
|
+
for (const key of keys) {
|
|
814
|
+
let value = propertyArg.type[key];
|
|
815
|
+
if (typeof value === 'number') {
|
|
816
|
+
value = value.toString();
|
|
817
|
+
}
|
|
818
|
+
values.push(value);
|
|
677
819
|
}
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
return false;
|
|
820
|
+
for (const key of keys) {
|
|
821
|
+
if (values.indexOf(key) < 0) {
|
|
822
|
+
return false;
|
|
823
|
+
}
|
|
683
824
|
}
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
}
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
// Wait for render to complete and any demo wrappers to run
|
|
718
|
-
await new Promise(resolve => setTimeout(resolve, 200));
|
|
719
|
-
// Try to find the element with recursive search
|
|
720
|
-
const viewport = await wccFrame.getViewportElement();
|
|
721
|
-
let firstFoundInstantiatedElement = await this.findElementRecursively(viewport, this.selectedItem);
|
|
722
|
-
// Retry logic if element not found
|
|
723
|
-
let retries = 0;
|
|
724
|
-
while (!firstFoundInstantiatedElement && retries < 5) {
|
|
825
|
+
return true;
|
|
826
|
+
};
|
|
827
|
+
const getEnumValues = (propertyArg) => {
|
|
828
|
+
console.log(JSON.stringify(propertyArg));
|
|
829
|
+
const enumValues = [];
|
|
830
|
+
Object.keys(propertyArg.type).forEach((valueArg) => {
|
|
831
|
+
enumValues.push(valueArg);
|
|
832
|
+
});
|
|
833
|
+
return enumValues;
|
|
834
|
+
};
|
|
835
|
+
const determinePropertyType = async (propertyArg) => {
|
|
836
|
+
const typeName = propertyArg.type.name;
|
|
837
|
+
if (typeName) {
|
|
838
|
+
return typeName;
|
|
839
|
+
}
|
|
840
|
+
else {
|
|
841
|
+
return Array.isArray(propertyArg)
|
|
842
|
+
? 'Array'
|
|
843
|
+
: isEnumeration(propertyArg)
|
|
844
|
+
? 'Enum'
|
|
845
|
+
: 'Object';
|
|
846
|
+
}
|
|
847
|
+
};
|
|
848
|
+
if (this.selectedItem && this.selectedItem.demo) {
|
|
849
|
+
console.log(`Got Dees-Element for property evaluation.`);
|
|
850
|
+
const anonItem = this.selectedItem;
|
|
851
|
+
if (!anonItem) {
|
|
852
|
+
this.warning = 'no element selected';
|
|
853
|
+
return;
|
|
854
|
+
}
|
|
855
|
+
console.log(anonItem.elementProperties);
|
|
856
|
+
const wccFrame = await this.dashboardRef.wccFrame;
|
|
857
|
+
// Wait for render to complete and any demo wrappers to run
|
|
725
858
|
await new Promise(resolve => setTimeout(resolve, 200));
|
|
726
|
-
|
|
727
|
-
|
|
859
|
+
// Try to find the element with recursive search
|
|
860
|
+
const viewport = await wccFrame.getViewportElement();
|
|
861
|
+
let firstFoundInstantiatedElement = await this.findElementRecursively(viewport, this.selectedItem);
|
|
862
|
+
// Retry logic if element not found
|
|
863
|
+
let retries = 0;
|
|
864
|
+
while (!firstFoundInstantiatedElement && retries < 5) {
|
|
865
|
+
await new Promise(resolve => setTimeout(resolve, 200));
|
|
866
|
+
try {
|
|
867
|
+
firstFoundInstantiatedElement = await this.findElementRecursively(viewport, this.selectedItem);
|
|
868
|
+
}
|
|
869
|
+
catch (error) {
|
|
870
|
+
console.error('Error during element search retry:', error);
|
|
871
|
+
}
|
|
872
|
+
retries++;
|
|
728
873
|
}
|
|
729
|
-
|
|
730
|
-
|
|
874
|
+
if (!firstFoundInstantiatedElement) {
|
|
875
|
+
this.warning = `no first instantiated element found for >>${anonItem.name}<< after ${retries} retries`;
|
|
876
|
+
this.propertyContent = [];
|
|
877
|
+
return;
|
|
731
878
|
}
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
this.propertyContent = [];
|
|
737
|
-
return;
|
|
738
|
-
}
|
|
739
|
-
const classProperties = anonItem.elementProperties;
|
|
740
|
-
if (!classProperties) {
|
|
741
|
-
this.warning = `selected element >>${anonItem.name}<< does not expose element properties`;
|
|
742
|
-
return;
|
|
743
|
-
}
|
|
744
|
-
this.warning = null;
|
|
745
|
-
const propertyArray = [];
|
|
746
|
-
for (const key of classProperties.keys()) {
|
|
747
|
-
if (key === 'goBright' || key === 'domtools') {
|
|
748
|
-
continue;
|
|
879
|
+
const classProperties = anonItem.elementProperties;
|
|
880
|
+
if (!classProperties) {
|
|
881
|
+
this.warning = `selected element >>${anonItem.name}<< does not expose element properties`;
|
|
882
|
+
return;
|
|
749
883
|
}
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
884
|
+
this.warning = null;
|
|
885
|
+
const propertyArray = [];
|
|
886
|
+
for (const key of classProperties.keys()) {
|
|
887
|
+
if (key === 'goBright' || key === 'domtools') {
|
|
888
|
+
continue;
|
|
889
|
+
}
|
|
890
|
+
try {
|
|
891
|
+
const property = classProperties.get(key);
|
|
892
|
+
const propertyTypeString = await determinePropertyType(property);
|
|
893
|
+
propertyArray.push(html `
|
|
754
894
|
<div class="property">
|
|
755
895
|
<div class="property-label">${key} (${propertyTypeString})</div>
|
|
756
896
|
${(() => {
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
897
|
+
switch (propertyTypeString) {
|
|
898
|
+
case 'Boolean':
|
|
899
|
+
return html `<input
|
|
760
900
|
type="checkbox"
|
|
761
901
|
?checked=${firstFoundInstantiatedElement[key]}
|
|
762
902
|
@input="${(eventArg) => {
|
|
763
|
-
|
|
764
|
-
|
|
903
|
+
firstFoundInstantiatedElement[key] = eventArg.target.checked;
|
|
904
|
+
}}"
|
|
765
905
|
/>`;
|
|
766
|
-
|
|
767
|
-
|
|
906
|
+
case 'String':
|
|
907
|
+
return html `<input
|
|
768
908
|
type="text"
|
|
769
909
|
.value=${firstFoundInstantiatedElement[key] || ''}
|
|
770
910
|
@input="${(eventArg) => {
|
|
771
|
-
|
|
772
|
-
|
|
911
|
+
firstFoundInstantiatedElement[key] = eventArg.target.value;
|
|
912
|
+
}}"
|
|
773
913
|
/>`;
|
|
774
|
-
|
|
775
|
-
|
|
914
|
+
case 'Number':
|
|
915
|
+
return html `<input
|
|
776
916
|
type="number"
|
|
777
917
|
.value=${firstFoundInstantiatedElement[key] ?? ''}
|
|
778
918
|
@input="${(eventArg) => {
|
|
779
|
-
|
|
780
|
-
|
|
919
|
+
firstFoundInstantiatedElement[key] = parseFloat(eventArg.target.value) || 0;
|
|
920
|
+
}}"
|
|
781
921
|
/>`;
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
922
|
+
case 'Enum':
|
|
923
|
+
const enumValues = getEnumValues(property);
|
|
924
|
+
return html `<select
|
|
785
925
|
.value=${firstFoundInstantiatedElement[key] || ''}
|
|
786
926
|
@change="${(eventArg) => {
|
|
787
|
-
|
|
788
|
-
|
|
927
|
+
firstFoundInstantiatedElement[key] = eventArg.target.value;
|
|
928
|
+
}}"
|
|
789
929
|
>
|
|
790
930
|
${enumValues.map((valueArg) => {
|
|
791
|
-
|
|
931
|
+
return html `
|
|
792
932
|
<option
|
|
793
933
|
value="${valueArg}"
|
|
794
934
|
>
|
|
795
935
|
${valueArg}
|
|
796
936
|
</option>
|
|
797
937
|
`;
|
|
798
|
-
|
|
938
|
+
})}
|
|
799
939
|
</select>`;
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
940
|
+
case 'Object':
|
|
941
|
+
case 'Array':
|
|
942
|
+
return html `<button
|
|
803
943
|
class="editor-button"
|
|
804
944
|
style="width: 100%; margin-top: 0.25rem;"
|
|
805
945
|
@click="${() => this.openAdvancedEditor(key, firstFoundInstantiatedElement[key], firstFoundInstantiatedElement)}"
|
|
806
946
|
>
|
|
807
947
|
Edit ${propertyTypeString}
|
|
808
948
|
</button>`;
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
949
|
+
default:
|
|
950
|
+
return html `<div style="color: #666; font-size: 0.7rem;">Unsupported type</div>`;
|
|
951
|
+
}
|
|
952
|
+
})()}
|
|
813
953
|
</div>
|
|
814
954
|
`);
|
|
955
|
+
}
|
|
956
|
+
catch (error) {
|
|
957
|
+
console.error(`Error processing property ${key}:`, error);
|
|
958
|
+
// Continue with next property even if this one fails
|
|
959
|
+
}
|
|
815
960
|
}
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
}
|
|
961
|
+
this.propertyContent = propertyArray;
|
|
962
|
+
}
|
|
963
|
+
else {
|
|
964
|
+
console.log(`Cannot extract properties of ${this.selectedItem?.name}`);
|
|
965
|
+
this.warning = `You selected a page.`;
|
|
966
|
+
return null;
|
|
820
967
|
}
|
|
821
|
-
this.propertyContent = propertyArray;
|
|
822
|
-
}
|
|
823
|
-
else {
|
|
824
|
-
console.log(`Cannot extract properties of ${this.selectedItem?.name}`);
|
|
825
|
-
this.warning = `You selected a page.`;
|
|
826
|
-
return null;
|
|
827
968
|
}
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
this.dashboardRef.buildUrl();
|
|
836
|
-
}
|
|
837
|
-
async scheduleUpdate() {
|
|
838
|
-
try {
|
|
839
|
-
await this.createProperties();
|
|
969
|
+
selectTheme(themeArg) {
|
|
970
|
+
this.selectedTheme = themeArg;
|
|
971
|
+
this.dispatchEvent(new CustomEvent('selectedTheme', {
|
|
972
|
+
detail: themeArg,
|
|
973
|
+
}));
|
|
974
|
+
console.log(this.dashboardRef.selectedType);
|
|
975
|
+
this.dashboardRef.buildUrl();
|
|
840
976
|
}
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
977
|
+
async scheduleUpdate() {
|
|
978
|
+
try {
|
|
979
|
+
await this.createProperties();
|
|
980
|
+
}
|
|
981
|
+
catch (error) {
|
|
982
|
+
console.error('Error creating properties:', error);
|
|
983
|
+
// Clear property content on error to show clean state
|
|
984
|
+
this.propertyContent = [];
|
|
985
|
+
}
|
|
986
|
+
// Always call super.scheduleUpdate to ensure component updates
|
|
987
|
+
super.scheduleUpdate();
|
|
845
988
|
}
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
setEnvironment(viewport);
|
|
852
|
-
this.dispatchEvent(new CustomEvent('selectedViewport', {
|
|
853
|
-
detail: viewport,
|
|
854
|
-
}));
|
|
855
|
-
this.dashboardRef.buildUrl();
|
|
856
|
-
}
|
|
857
|
-
openAdvancedEditor(propertyName, value, element) {
|
|
858
|
-
// Check if this property is already being edited
|
|
859
|
-
const existingEditor = this.editingProperties.find(p => p.name === propertyName && p.element === element);
|
|
860
|
-
if (existingEditor) {
|
|
861
|
-
return; // Property is already open for editing
|
|
862
|
-
}
|
|
863
|
-
const newEditor = {
|
|
864
|
-
id: `${propertyName}-${Date.now()}`,
|
|
865
|
-
name: propertyName,
|
|
866
|
-
value: value,
|
|
867
|
-
element: element,
|
|
868
|
-
editorValue: JSON.stringify(value, null, 2),
|
|
869
|
-
editorError: ''
|
|
870
|
-
};
|
|
871
|
-
this.editingProperties = [...this.editingProperties, newEditor];
|
|
872
|
-
// Notify parent to resize frame if this is the first editor
|
|
873
|
-
if (this.editingProperties.length === 1) {
|
|
874
|
-
this.dispatchEvent(new CustomEvent('editorStateChanged', {
|
|
875
|
-
detail: { isOpen: true },
|
|
876
|
-
bubbles: true
|
|
989
|
+
selectViewport(viewport) {
|
|
990
|
+
this.selectedViewport = viewport;
|
|
991
|
+
setEnvironment(viewport);
|
|
992
|
+
this.dispatchEvent(new CustomEvent('selectedViewport', {
|
|
993
|
+
detail: viewport,
|
|
877
994
|
}));
|
|
995
|
+
this.dashboardRef.buildUrl();
|
|
878
996
|
}
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
const
|
|
886
|
-
|
|
997
|
+
openAdvancedEditor(propertyName, value, element) {
|
|
998
|
+
// Check if this property is already being edited
|
|
999
|
+
const existingEditor = this.editingProperties.find(p => p.name === propertyName && p.element === element);
|
|
1000
|
+
if (existingEditor) {
|
|
1001
|
+
return; // Property is already open for editing
|
|
1002
|
+
}
|
|
1003
|
+
const newEditor = {
|
|
1004
|
+
id: `${propertyName}-${Date.now()}`,
|
|
1005
|
+
name: propertyName,
|
|
1006
|
+
value: value,
|
|
1007
|
+
element: element,
|
|
1008
|
+
editorValue: JSON.stringify(value, null, 2),
|
|
1009
|
+
editorError: ''
|
|
1010
|
+
};
|
|
1011
|
+
this.editingProperties = [...this.editingProperties, newEditor];
|
|
1012
|
+
// Notify parent to resize frame if this is the first editor
|
|
1013
|
+
if (this.editingProperties.length === 1) {
|
|
1014
|
+
this.dispatchEvent(new CustomEvent('editorStateChanged', {
|
|
1015
|
+
detail: { isOpen: true },
|
|
1016
|
+
bubbles: true
|
|
1017
|
+
}));
|
|
1018
|
+
}
|
|
1019
|
+
}
|
|
1020
|
+
handleEditorSave(editorId) {
|
|
1021
|
+
const editor = this.editingProperties.find(p => p.id === editorId);
|
|
1022
|
+
if (!editor)
|
|
1023
|
+
return;
|
|
1024
|
+
try {
|
|
1025
|
+
const parsedValue = JSON.parse(editor.editorValue);
|
|
1026
|
+
editor.element[editor.name] = parsedValue;
|
|
1027
|
+
// Remove this editor from the list
|
|
1028
|
+
this.editingProperties = this.editingProperties.filter(p => p.id !== editorId);
|
|
1029
|
+
// If no more editors, notify parent to resize frame
|
|
1030
|
+
if (this.editingProperties.length === 0) {
|
|
1031
|
+
this.dispatchEvent(new CustomEvent('editorStateChanged', {
|
|
1032
|
+
detail: { isOpen: false },
|
|
1033
|
+
bubbles: true
|
|
1034
|
+
}));
|
|
1035
|
+
}
|
|
1036
|
+
// Refresh properties display
|
|
1037
|
+
this.createProperties();
|
|
1038
|
+
}
|
|
1039
|
+
catch (error) {
|
|
1040
|
+
// Update error for this specific editor
|
|
1041
|
+
const editorIndex = this.editingProperties.findIndex(p => p.id === editorId);
|
|
1042
|
+
if (editorIndex !== -1) {
|
|
1043
|
+
this.editingProperties[editorIndex].editorError = `Invalid JSON: ${error.message}`;
|
|
1044
|
+
this.requestUpdate();
|
|
1045
|
+
}
|
|
1046
|
+
}
|
|
1047
|
+
}
|
|
1048
|
+
handleEditorCancel(editorId) {
|
|
887
1049
|
// Remove this editor from the list
|
|
888
1050
|
this.editingProperties = this.editingProperties.filter(p => p.id !== editorId);
|
|
889
1051
|
// If no more editors, notify parent to resize frame
|
|
@@ -893,79 +1055,36 @@ let WccProperties = class WccProperties extends DeesElement {
|
|
|
893
1055
|
bubbles: true
|
|
894
1056
|
}));
|
|
895
1057
|
}
|
|
896
|
-
// Refresh properties display
|
|
897
|
-
this.createProperties();
|
|
898
|
-
}
|
|
899
|
-
catch (error) {
|
|
900
|
-
// Update error for this specific editor
|
|
901
|
-
const editorIndex = this.editingProperties.findIndex(p => p.id === editorId);
|
|
902
|
-
if (editorIndex !== -1) {
|
|
903
|
-
this.editingProperties[editorIndex].editorError = `Invalid JSON: ${error.message}`;
|
|
904
|
-
this.requestUpdate();
|
|
905
|
-
}
|
|
906
1058
|
}
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
this.editingProperties = this.editingProperties.filter(p => p.id !== editorId);
|
|
911
|
-
// If no more editors, notify parent to resize frame
|
|
912
|
-
if (this.editingProperties.length === 0) {
|
|
1059
|
+
closeAllEditors() {
|
|
1060
|
+
this.editingProperties = [];
|
|
1061
|
+
// Notify parent to resize frame back
|
|
913
1062
|
this.dispatchEvent(new CustomEvent('editorStateChanged', {
|
|
914
1063
|
detail: { isOpen: false },
|
|
915
1064
|
bubbles: true
|
|
916
1065
|
}));
|
|
917
1066
|
}
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
property(),
|
|
941
|
-
__metadata("design:type", Object)
|
|
942
|
-
], WccProperties.prototype, "selectedItem", void 0);
|
|
943
|
-
__decorate([
|
|
944
|
-
property(),
|
|
945
|
-
__metadata("design:type", String)
|
|
946
|
-
], WccProperties.prototype, "selectedViewport", void 0);
|
|
947
|
-
__decorate([
|
|
948
|
-
property(),
|
|
949
|
-
__metadata("design:type", String)
|
|
950
|
-
], WccProperties.prototype, "selectedTheme", void 0);
|
|
951
|
-
__decorate([
|
|
952
|
-
property(),
|
|
953
|
-
__metadata("design:type", String)
|
|
954
|
-
], WccProperties.prototype, "warning", void 0);
|
|
955
|
-
__decorate([
|
|
956
|
-
property(),
|
|
957
|
-
__metadata("design:type", Boolean)
|
|
958
|
-
], WccProperties.prototype, "isFullscreen", void 0);
|
|
959
|
-
__decorate([
|
|
960
|
-
state(),
|
|
961
|
-
__metadata("design:type", Array)
|
|
962
|
-
], WccProperties.prototype, "propertyContent", void 0);
|
|
963
|
-
__decorate([
|
|
964
|
-
state(),
|
|
965
|
-
__metadata("design:type", Array)
|
|
966
|
-
], WccProperties.prototype, "editingProperties", void 0);
|
|
967
|
-
WccProperties = __decorate([
|
|
968
|
-
customElement('wcc-properties')
|
|
969
|
-
], WccProperties);
|
|
1067
|
+
toggleFullscreen() {
|
|
1068
|
+
this.dispatchEvent(new CustomEvent('toggleFullscreen', {
|
|
1069
|
+
bubbles: true
|
|
1070
|
+
}));
|
|
1071
|
+
}
|
|
1072
|
+
// ==================== Recording Methods ====================
|
|
1073
|
+
handleRecordButtonClick() {
|
|
1074
|
+
if (this.isRecording) {
|
|
1075
|
+
// Stop recording by calling the panel's stopRecording method
|
|
1076
|
+
const panel = this.shadowRoot?.querySelector('wcc-recording-panel');
|
|
1077
|
+
if (panel && panel.stopRecording) {
|
|
1078
|
+
panel.stopRecording();
|
|
1079
|
+
}
|
|
1080
|
+
}
|
|
1081
|
+
else {
|
|
1082
|
+
// Toggle the recording panel
|
|
1083
|
+
this.showRecordingPanel = !this.showRecordingPanel;
|
|
1084
|
+
}
|
|
1085
|
+
}
|
|
1086
|
+
};
|
|
1087
|
+
return WccProperties = _classThis;
|
|
1088
|
+
})();
|
|
970
1089
|
export { WccProperties };
|
|
971
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2NjLXByb3BlcnRpZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90c193ZWIvZWxlbWVudHMvd2NjLXByb3BlcnRpZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBdUIsS0FBSyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDckgsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBUWxELElBQUksV0FBVyxHQUFpQixRQUFRLENBQUM7QUFFekMsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQUMsTUFBTSxFQUFFLEVBQUU7SUFDdkMsV0FBVyxHQUFHLE1BQU0sQ0FBQztBQUN2QixDQUFDLENBQUM7QUFHSyxJQUFNLGFBQWEsR0FBbkIsTUFBTSxhQUFjLFNBQVEsV0FBVztJQUF2Qzs7UUFVRSxxQkFBZ0IsR0FBaUIsUUFBUSxDQUFDO1FBRzFDLGtCQUFhLEdBQVcsTUFBTSxDQUFDO1FBRy9CLFlBQU8sR0FBVyxJQUFJLENBQUM7UUFHdkIsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFHckMsb0JBQWUsR0FBcUIsRUFBRSxDQUFDO1FBR3ZDLHNCQUFpQixHQU9aLEVBQUUsQ0FBQztRQUVELGlCQUFZLEdBQVcsR0FBRyxDQUFDO0lBazdCcEMsQ0FBQztJQWg3QlEsTUFBTTtRQUNYLE9BQU8sSUFBSSxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7b0JBMkJLLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsR0FBRzs7Ozs7O3FCQU1oRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU87Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
|
|
1090
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2NjLXByb3BlcnRpZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90c193ZWIvZWxlbWVudHMvd2NjLXByb3BlcnRpZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxhQUFhLEVBQXVCLEtBQUssRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3JILE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVsRCxPQUFPLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sMEJBQTBCLENBQUM7QUFPbEMsSUFBSSxXQUFXLEdBQWlCLFFBQVEsQ0FBQztBQUV6QyxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxNQUFNLEVBQUUsRUFBRTtJQUN2QyxXQUFXLEdBQUcsTUFBTSxDQUFDO0FBQ3ZCLENBQUMsQ0FBQztJQUdXLGFBQWE7NEJBRHpCLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQzs7OztzQkFDRyxXQUFXOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzZCQUFuQixTQUFRLFdBQVc7Ozs7d0NBQzNDLFFBQVEsQ0FBQztvQkFDUixJQUFJLEVBQUUsWUFBWTtpQkFDbkIsQ0FBQzt3Q0FHRCxRQUFRLEVBQUU7NENBR1YsUUFBUSxFQUFFO3lDQUdWLFFBQVEsRUFBRTttQ0FHVixRQUFRLEVBQUU7d0NBR1YsUUFBUSxFQUFFOzJDQUdWLEtBQUssRUFBRTs2Q0FHUCxLQUFLLEVBQUU7OENBV1AsS0FBSyxFQUFFO3VDQUdQLEtBQUssRUFBRTs2Q0FHUCxLQUFLLEVBQUU7WUFyQ1IseUxBQVMsWUFBWSw2QkFBWixZQUFZLG1HQUFlO1lBR3BDLHlMQUFTLFlBQVksNkJBQVosWUFBWSxtR0FBaUM7WUFHdEQscU1BQVMsZ0JBQWdCLDZCQUFoQixnQkFBZ0IsMkdBQTBCO1lBR25ELDRMQUFT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
|