easy 19.0.4 → 20.0.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/README.md +18 -130
- package/example.js +648 -850
- package/lib/bounds.js +1 -1
- package/lib/constants.js +1 -13
- package/lib/document.js +3 -5
- package/lib/element/body.js +13 -24
- package/lib/element/button.js +13 -24
- package/lib/element/checkbox.js +16 -28
- package/lib/element/input.js +151 -0
- package/lib/element/link.js +13 -24
- package/lib/element/select.js +16 -64
- package/lib/element/textarea.js +151 -0
- package/lib/element.js +8 -26
- package/lib/example/view/div.js +184 -0
- package/lib/example/view.js +13 -92
- package/lib/index.js +5 -9
- package/lib/mixins/customEvent.js +1 -1
- package/lib/mixins/element.js +27 -4
- package/lib/mixins/event.js +19 -8
- package/lib/mixins/focus.js +45 -0
- package/lib/mixins/input.js +40 -0
- package/lib/mixins/mouse.js +1 -1
- package/lib/mixins/resize.js +2 -34
- package/lib/mixins/scroll.js +5 -5
- package/lib/mixins/selection.js +46 -2
- package/lib/mixins/textElement.js +20 -0
- package/lib/offset.js +1 -1
- package/lib/textElement.js +4 -5
- package/lib/utilities/string.js +2 -3
- package/lib/window.js +20 -11
- package/package.json +1 -1
- package/src/constants.js +0 -3
- package/src/document.js +2 -4
- package/src/element/button.js +3 -0
- package/src/element/checkbox.js +5 -5
- package/src/element/input.js +14 -0
- package/src/element/link.js +3 -0
- package/src/element/select.js +5 -13
- package/src/element/textarea.js +14 -0
- package/src/element.js +7 -17
- package/src/example/view/div.js +40 -0
- package/src/example/view.js +4 -66
- package/src/index.js +4 -8
- package/src/mixins/element.js +6 -6
- package/src/mixins/event.js +25 -10
- package/src/mixins/focus.js +33 -0
- package/src/mixins/input.js +26 -0
- package/src/mixins/mouse.js +1 -5
- package/src/mixins/resize.js +1 -58
- package/src/mixins/scroll.js +3 -3
- package/src/mixins/selection.js +35 -2
- package/src/mixins/textElement.js +12 -0
- package/src/textElement.js +3 -5
- package/src/utilities/string.js +1 -3
- package/src/window.js +19 -6
- package/lib/example/view/checkbox.js +0 -110
- package/lib/inputElement/input.js +0 -112
- package/lib/inputElement/textarea.js +0 -112
- package/lib/inputElement.js +0 -238
- package/lib/mixins/change.js +0 -24
- package/lib/mixins/window.js +0 -17
- package/src/example/view/checkbox.js +0 -10
- package/src/inputElement/input.js +0 -7
- package/src/inputElement/textarea.js +0 -7
- package/src/inputElement.js +0 -38
- package/src/mixins/change.js +0 -14
- package/src/mixins/window.js +0 -8
package/README.md
CHANGED
|
@@ -98,136 +98,24 @@ const link = new Link("#link", (event, element) => {
|
|
|
98
98
|
|
|
99
99
|
The `Window` and `Document` classes are not exported, only singletons, hence the lowercase. Note also that if the underlying `window` and `document` global objects are not defined, for whatever reason, then these singletons will also be undefined.
|
|
100
100
|
|
|
101
|
-
Obviously the list is incomplete. If you want to create other elements, you can extend the `Element`
|
|
102
|
-
|
|
103
|
-
##
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
- `
|
|
108
|
-
- `
|
|
109
|
-
- `
|
|
110
|
-
- `
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
- `
|
|
115
|
-
- `
|
|
116
|
-
- `
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
- `removeAttribute(name)`
|
|
120
|
-
- `setClass(className)`
|
|
121
|
-
- `addClass(className)`
|
|
122
|
-
- `removeClass(className)`
|
|
123
|
-
- `toggleClass(className)`
|
|
124
|
-
- `hasClass(className)`
|
|
125
|
-
- `clearClasses()`
|
|
126
|
-
- `appendTo(parentElement)`
|
|
127
|
-
- `prependTo(parentElement)`
|
|
128
|
-
- `addTo(parentElement)`
|
|
129
|
-
- `removeFrom(parentElement)`
|
|
130
|
-
- `insertBefore(siblingElement)`
|
|
131
|
-
- `insertAfter(siblingElement)`
|
|
132
|
-
- `prepend(element)`
|
|
133
|
-
- `append(element)`
|
|
134
|
-
- `add(element)`
|
|
135
|
-
- `insert(element)`
|
|
136
|
-
- `remove(element)`
|
|
137
|
-
- `mountBefore(siblingElement)`
|
|
138
|
-
- `mountAfter(siblingElement)`
|
|
139
|
-
- `mount(element)`
|
|
140
|
-
- `unmount(element)`
|
|
141
|
-
- `show(displayStyle = 'block')`
|
|
142
|
-
- `hide()`
|
|
143
|
-
- `display(displayStyle)`
|
|
144
|
-
- `enable()`
|
|
145
|
-
- `disable()`
|
|
146
|
-
- `isEnabled()`
|
|
147
|
-
- `isDisabled()`
|
|
148
|
-
- `isDisplayed()`
|
|
149
|
-
- `isShowing()`
|
|
150
|
-
- `isHidden()`
|
|
151
|
-
- `style(style)`
|
|
152
|
-
- `html(html)`
|
|
153
|
-
- `css(css)`
|
|
154
|
-
- `blur()`
|
|
155
|
-
- `focus()`
|
|
156
|
-
- `hasFocus()`
|
|
157
|
-
- `getParentElement(selector = "*")`
|
|
158
|
-
- `getChildElements(selector = "*")`
|
|
159
|
-
- `getAscendantElements(selector = "*", height = Inifnity)`
|
|
160
|
-
- `getDescendantElements(selector = "*", depth = Infinity)`
|
|
161
|
-
- `getNextSiblingElement(selector = "*")`
|
|
162
|
-
- `getPreviousSiblingElement(selector = "*")`
|
|
163
|
-
- `getScrollTop()`
|
|
164
|
-
- `getScrollLeft()`
|
|
165
|
-
- `setScrollTop(scrollTop)`
|
|
166
|
-
- `setScrollLeft(scrollLeft)`
|
|
167
|
-
- `onClick(handler)`
|
|
168
|
-
- `offClick(handler)`
|
|
169
|
-
- `onKeyUp(handler)`
|
|
170
|
-
- `onKeyDown(handler)`
|
|
171
|
-
- `onMouseUp(handler)`
|
|
172
|
-
- `onMouseDown(handler)`
|
|
173
|
-
- `onMouseOver(handler)`
|
|
174
|
-
- `onMouseOut(handler)`
|
|
175
|
-
- `onMouseMove(handler)`
|
|
176
|
-
- `offMouseUp(handler)`
|
|
177
|
-
- `offMouseDown(handler)`
|
|
178
|
-
- `offMouseOver(handler)`
|
|
179
|
-
- `offMouseOut(handler)`
|
|
180
|
-
- `offMouseMove(handler)`
|
|
181
|
-
- `onScroll(handler)`
|
|
182
|
-
- `offScroll(handler)`
|
|
183
|
-
- `onResize(handler)`
|
|
184
|
-
- `offResize(handler)`
|
|
185
|
-
- `onEvent(eventTypes, handler)`
|
|
186
|
-
- `offEvent(eventTypes, handler)`
|
|
187
|
-
- `onCustomEvent(customEventTypes, handler)`
|
|
188
|
-
- `offCustomEvent(customEventTypes, handler)`
|
|
189
|
-
|
|
190
|
-
Please note the following:
|
|
191
|
-
|
|
192
|
-
* The `setWidth()` and `setHeight()` methods take number arguments and prepend `px` to them. If you want to set the widths and heights of elements using something other than pixels, use the `style()` method.
|
|
193
|
-
|
|
194
|
-
* The `html()` and `css()` methods allow you to both get and set HTML and CSS, respectively. Their functionality is based on the jQuery methods of the same name. The `style()` method behaves similarly.
|
|
195
|
-
|
|
196
|
-
* The `blur()` and `focus()` events are defined on all elements, however they will not have an effect if the element in question cannot have the focus.
|
|
197
|
-
|
|
198
|
-
* The `onResize()` and `offResize()` methods are similarly defined on all elements, by way of a mixin. The resize functionality relies on attaching a child object to the element in question and therefore will not work for elements which cannot have child elements. In these cases, the `onResize()` and `offResize()` methods simply do nothing. Also, the aforementioned child object is given amongst others the style `position: relative` and therefore the element in question must be given either the `position: relative` or the `position: absolute` style in order for this trick to work.
|
|
199
|
-
|
|
200
|
-
The `Input` and `Textarea` classes also have the following methods, taken from the `InputElement` class:
|
|
201
|
-
|
|
202
|
-
- `onChange(handler)`
|
|
203
|
-
- `offChange(handler)`
|
|
204
|
-
- `getValue()`
|
|
205
|
-
- `getSelectionStart()`
|
|
206
|
-
- `getSelectionEnd()`
|
|
207
|
-
- `isReadOnly()`
|
|
208
|
-
- `setValue(value)`
|
|
209
|
-
- `setSelectionStart(selectionStart)`
|
|
210
|
-
- `setSelectionEnd(selectionEnd)`
|
|
211
|
-
- `setReadOnly(readOnly)`
|
|
212
|
-
- `select()`
|
|
213
|
-
|
|
214
|
-
The `TextElement` class has the following methods only:
|
|
215
|
-
|
|
216
|
-
- `getText()`
|
|
217
|
-
- `setText(text)`
|
|
218
|
-
- `getOffset()`
|
|
219
|
-
- `getBounds()`
|
|
220
|
-
- `getWidth()`
|
|
221
|
-
- `getHeight()`
|
|
222
|
-
- `prependTo(parentElement)`
|
|
223
|
-
- `appendTo(parentElement)`
|
|
224
|
-
- `addTo(parentElement)`
|
|
225
|
-
- `removeFrom(parentElement)`
|
|
226
|
-
- `insertBefore(siblingElement)`
|
|
227
|
-
- `insertAfter(siblingElement)`
|
|
228
|
-
- `remove()`
|
|
229
|
-
|
|
230
|
-
Each of the supported elements has methods specific to its function, check the source for details, especially for the `window` and `document` singletons.
|
|
101
|
+
Obviously the list is incomplete. If you want to create other elements, you can extend the `Element` class.
|
|
102
|
+
|
|
103
|
+
## API
|
|
104
|
+
|
|
105
|
+
Please see the source and the examples for guidance. The following files will be helpful:
|
|
106
|
+
|
|
107
|
+
- `element.js`
|
|
108
|
+
- `window.js`
|
|
109
|
+
- `document.js`
|
|
110
|
+
- `textElement.js`
|
|
111
|
+
|
|
112
|
+
Also the mixins files will be useful Here are some of them:
|
|
113
|
+
|
|
114
|
+
- `mixins/event.js`
|
|
115
|
+
- `mixins/element.js`
|
|
116
|
+
- `mixins/customEvent.js`
|
|
117
|
+
|
|
118
|
+
Perhaps an API reference will follow someday. The examples in the other Easy projects, given close to the top of this file, really are the best place to look.
|
|
231
119
|
|
|
232
120
|
## Building
|
|
233
121
|
|