-
Notifications
You must be signed in to change notification settings - Fork 273
/
Copy pathTextArea.html
224 lines (182 loc) · 7.3 KB
/
TextArea.html
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/html">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta charset="utf-8">
<title>TextArea</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta charset="utf-8">
<script data-ui5-config type="application/json">
{
"language": "EN"
}
</script>
<script>
delete Document.prototype.adoptedStyleSheets
</script>
<script src="../../webcomponentsjs/webcomponents-loader.js"></script>
<script src="../../resources/bundle.esm.js" type="module"></script>
<script nomodule src="../../resources/bundle.es5.js"></script>
<style>
html,
body {
margin: 0;
}
.group {
padding: 1rem;
}
.group-title {
color: #333;
}
.small-margin {
margin: 2px;
}
.fixed-width {
display: inline-block;
width: 280px;
}
.fixed-height {
height: 160px;
}
.customTextArea::part(textarea) {
background: bisque;
}
</style>
</head>
<body style="background-color: var(--sapBackgroundColor);">
<section class="group">
<ui5-title>Value State Message</ui5-title>
<br>
<ui5-textarea id="textarea-value-state-msg" value="Test" value-state="Error">
<div id="value-state-msg" slot="valueStateMessage">Information message. This is a <a href="#">Link</a>. Extra long text used as an information message. Extra long text used as an information message - 2. Extra long text used as an information message - 3.</div>
</ui5-textarea>
</section>
<section class="group">
<ui5-title>Simple TextArea</ui5-title>
<ui5-textarea id="basic-textarea" placeholder="Basic text area">
<div slot="valueStateMessage">
This msg will not be displayed as no value-state is set.
</div>
</ui5-textarea>
<br>
<br>
<ui5-textarea id="basic-textarea-error" value="Test" value-state="Error"></ui5-textarea>
<br>
<br>
<ui5-textarea id="basic-textarea-warning" value="Test" value-state="Warning"></ui5-textarea>
<br>
<br>
<ui5-textarea id="basic-textarea-success" value="Test" value-state="Success"></ui5-textarea>
<br>
<br>
<br>
<br>
<ui5-textarea id="basic-textarea-error" value="Test" value-state="Information"></ui5-textarea>
</section>
<section class="group">
<ui5-title>TextArea with value</ui5-title>
<ui5-textarea id="fix-width-textarea" class="fixed-width" rows="8" value="Lorem ipsum dolor st amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore
magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd
gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing
elitr, sed diam nonumy eirmod tempor invidunt ut la bore et dolore magna aliquyam erat, sed diam voluptua. Lorem
ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore
magna aliquyam erat"></ui5-textarea>
</section>
<section class="group">
<ui5-title>Disabled TextArea</ui5-title>
<ui5-textarea id="disabled-textarea" class="fixed-width" disabled placeholder="Example of disabled text area"></ui5-textarea>
</section>
<section class="group">
<ui5-title>Readonly TextArea</ui5-title>
<ui5-textarea id="readonly-textarea" class="fixed-width" readonly placeholder="Example of a read-only text area"></ui5-textarea>
</section>
<section class="group">
<ui5-title>Required TextArea</ui5-title>
<ui5-textarea id="required-textarea" class="fixed-width" required placeholder="Example of a required text area"></ui5-textarea>
</section>
<section class="group">
<ui5-title>Text Area: Growing</ui5-title>
<ui5-textarea class="fixed-width" growing placeholder="Growing Text Area"></ui5-textarea>
</section>
<section class="group">
<ui5-title>Text Area: Growing with 8 initial rows</ui5-title>
<ui5-textarea id="eight-rows-textarea" class="fixed-width" growing placeholder="Growing Text Area" rows="8"></ui5-textarea>
</section>
<section class="group">
<ui5-title>Text Area: Growing up to 4</ui5-title>
<ui5-textarea id="growing-ta-to-four" class="fixed-width" growing-max-lines="4" growing placeholder="Growing Text Area"></ui5-textarea>
</section>
<section class="group">
<ui5-title>Text Area: Growing with initial rows 4 and growing up to 12</ui5-title>
<ui5-textarea class="fixed-width" growing placeholder="Growing Text Area" growing-max-lines="12" rows="4"></ui5-textarea>
</section>
<section class="group">
<ui5-title>Text Area: growing with max length 20 characters </ui5-title>
<ui5-textarea id="ta-max-length" class="fixed-width" growing maxlength="20" placeholder="Max length"></ui5-textarea>
</section>
<section class="group">
<ui5-title>Text Area: max length 20 characters </ui5-title>
<ui5-textarea class="fixed-width" maxlength="20" placeholder="Max length"></ui5-textarea>
</section>
<section class="group">
<ui5-title>Text Area: showExceededText with maxlength</ui5-title>
<ui5-textarea id="show-max-length" class="fixed-width fixed-height" maxlength="20" show-exceeded-text placeholder="Max length and Show Exceeded Text"></ui5-textarea>
</section>
<section class="group">
<ui5-title>Text Area: change event</ui5-title>
<ui5-textarea id="textarea-change" class="fixed-width fixed-height" placeholder="Test change event"></ui5-textarea>
</section>
<section class="group">
<ui5-input id="changeResult" class="fixed-width"></ui5-input>
</section>
<section class="group">
<ui5-title>Text Area: input event</ui5-title>
<ui5-textarea id="textarea-input" class="fixed-width fixed-height" placeholder="Test input event"></ui5-textarea>
</section>
<section class="group">
<ui5-input id="inputResult" class="fixed-width"></ui5-input>
</section>
<section class="group">
<ui5-textarea
class="customTextArea fixed-width fixed-height"
maxlength="20"
show-exceeded-text
>
</ui5-textarea>
</section>
<section class="group">
<ui5-title>Growing: growing-max-lines="1"</ui5-title>
<br>
<ui5-textarea growing growing-max-lines="1"></ui5-textarea>
<ui5-title>Growing: growing-max-lines="4"</ui5-title>
<br>
<ui5-textarea growing growing-max-lines="4"></ui5-textarea>
</section>
<section class="group sapUiSizeCompact">
<ui5-title>Growing: growing-max-lines="1" (compact)</ui5-title>
<br>
<ui5-textarea growing growing-max-lines="1"></ui5-textarea>
<ui5-title>Growing: growing-max-lines="4" (compact)</ui5-title>
<br>
<ui5-textarea growing growing-max-lines="4"></ui5-textarea>
</section>
<section class="aria-label and aria-labelledby">
<span id="infoText">info text</span>
<ui5-textarea id="textAreaAriaLabel" aria-label="Hello World"></ui5-textarea>
<ui5-textarea id="textAreaAriaLabelledBy" maxlength="20" show-exceeded-text aria-labelledby="infoText" class="fixed-width fixed-height"></ui5-textarea>
</section>
<script>
var changeCounter = 0;
var inputCounter = 0;
document.getElementById('textarea-change').addEventListener("ui5-change", function (event) {
changeCounter += 1;
document.getElementById('changeResult').value = changeCounter;
});
document.getElementById('textarea-input').addEventListener("ui5-input", function (event) {
inputCounter += 1;
document.getElementById('inputResult').value = inputCounter;
});
</script>
</body>
</html>