-
Notifications
You must be signed in to change notification settings - Fork 274
/
Copy pathWithStaticArea.js
77 lines (65 loc) · 1.43 KB
/
WithStaticArea.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
import UI5Element from "../../dist/UI5Element.js";
import litRender, { html } from "../../dist/renderer/LitRenderer.js";
const metadata = {
tag: "ui5-with-static-area",
properties: {
/**
* Defines whether the static area item will be rendered
*/
staticContent: {
type: Boolean,
}
},
slots: {
}
};
class WithStaticArea extends UI5Element {
static get metadata() {
return metadata;
}
static get renderer() {
return litRender;
}
static get template() {
return element => {
// access effectiveDir getter to mark control as RTL-aware (test changes dir attribute and expects rerender)
return html`
<div dir=${element.effectiveDir}>
WithStaticArea works!
</div>`;
};
}
static get staticAreaTemplate() {
return element => {
return html`
<div class="ui5-with-static-area-content">
Static area content.
</div>`;
};
}
static get styles() {
return `
:host {
display: inline-block;
border: 1px solid black;
color: red;
}`;
}
async addStaticArea() {
if (!this.staticContent) {
return;
}
// Require static area item
const staticArea = await this.getStaticAreaItemDomRef();
this.responsivePopover = staticArea.querySelector(".ui5-with-static-area-content");
return this.responsivePopover;
}
onBeforeRendering() {
this.addStaticArea();
}
onAfterRendering() {}
onEnterDOM() {}
onExitDOM() {}
}
WithStaticArea.define();
export default WithStaticArea;