Skip to content

Commit d69b8ed

Browse files
committed
Add scripts file
1 parent c06f54f commit d69b8ed

File tree

2 files changed

+247
-1
lines changed

2 files changed

+247
-1
lines changed

test/mock/app/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,6 @@ <h1>DEMO APP</h1>
190190
<!-- jQuery cookie plugin -->
191191
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.min.js"></script>
192192

193-
<script src="./scripts.js"></script>
193+
<script src="./script.js"></script>
194194
</body>
195195
</html>

test/mock/app/script.js

Lines changed: 246 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,246 @@
1+
/* eslint-disable */
2+
function onClickToggleElement() {
3+
var $el = $(this),
4+
$showTarget = $($el.data('show')),
5+
$hideTarget = $($el.data('hide')),
6+
timeout = $el.data('timeout') || 0;
7+
8+
setTimeout(
9+
function toggleHiddenClass() {
10+
$showTarget.removeClass('hidden');
11+
$hideTarget.addClass('hidden');
12+
},
13+
timeout
14+
);
15+
}
16+
17+
function displayFirstMessage() {
18+
$('#message1').removeClass('hidden');
19+
$('#message2').addClass('hidden');
20+
}
21+
22+
function displaySecondMessage() {
23+
$('#message1').addClass('hidden');
24+
$('#message2').removeClass('hidden');
25+
}
26+
27+
function makeBgRed() {
28+
$(this).css('background-color', 'red');
29+
}
30+
31+
function makeBgBlue() {
32+
$(this).css('background-color', 'blue');
33+
}
34+
35+
function detectDrop($el) {
36+
var $dropZone = $($el.data('dropzone')),
37+
dragOffset = $el.offset(),
38+
dropOffset = $dropZone.offset(),
39+
dragTop = dragOffset.top,
40+
dragRight = (dragOffset.left + $el.outerWidth()),
41+
dragBottom = (dragOffset.top + $el.outerHeight()),
42+
dragLeft = dragOffset.left,
43+
dropTop = dropOffset.top,
44+
dropRight = (dropOffset.left + $dropZone.outerWidth()),
45+
dropBottom = (dropOffset.top + $dropZone.outerHeight()),
46+
dropLeft = dropOffset.left;
47+
48+
if (
49+
(
50+
(dragBottom > dropTop) &&
51+
(dragTop < dropBottom)
52+
) &&
53+
(
54+
(dragRight > dropLeft) &&
55+
(dragLeft < dropRight)
56+
)
57+
) {
58+
$dropZone.text('Dropped!');
59+
} else {
60+
$dropZone.text('Dropzone');
61+
}
62+
}
63+
64+
function handleFormSubmit(event) {
65+
event.preventDefault();
66+
67+
$(this).find('.message').removeClass('hidden');
68+
}
69+
70+
function handleDataAction(event) {
71+
var $target = $($(this).data('target')),
72+
data = $(this).data('action'),
73+
action = Object.keys(data)[0],
74+
val = data[action],
75+
state = $(this).data('state') ? !$(this).data('state') : true;
76+
77+
event.preventDefault();
78+
79+
setTimeout(function delayedHandle() {
80+
switch (action) {
81+
case 'select': {
82+
if (state === true) {
83+
$target.val(val).change();
84+
} else {
85+
$target.val('1').change();
86+
}
87+
88+
break;
89+
}
90+
91+
case 'toggleClass': {
92+
$target.toggleClass(val);
93+
break;
94+
}
95+
96+
case 'text': {
97+
if (state) {
98+
$target.text(val);
99+
} else {
100+
$target.text('');
101+
}
102+
break;
103+
}
104+
105+
case 'value': {
106+
if (state) {
107+
$target.val(val);
108+
} else {
109+
$target.val('');
110+
}
111+
break;
112+
}
113+
114+
case 'create': {
115+
if (state) {
116+
$(val).appendTo($target);
117+
} else {
118+
$target.empty();
119+
}
120+
121+
break;
122+
}
123+
124+
default: {
125+
if (state) {
126+
$target.prop(action, (val === 'true'));
127+
} else {
128+
$target.prop(action, (val === 'false'));
129+
}
130+
131+
break;
132+
}
133+
}
134+
}, 500);
135+
136+
$(this).data('state', state);
137+
}
138+
139+
function handleMousedown(event) {
140+
window.dragging = {
141+
pageX0: event.pageX,
142+
pageY0: event.pageY,
143+
elem: this,
144+
offset0: $(this).offset()
145+
};
146+
147+
function handleDragging(event) {
148+
var left = dragging.offset0.left + (event.pageX - dragging.pageX0),
149+
top = dragging.offset0.top + (event.pageY - dragging.pageY0);
150+
151+
$(dragging.elem)
152+
.offset({
153+
top: top,
154+
left: left
155+
});
156+
157+
detectDrop($(dragging.elem));
158+
}
159+
160+
function handleMouseup(event) {
161+
$('body')
162+
.off('mousemove', handleDragging)
163+
.off('mouseup', handleMouseup);
164+
}
165+
166+
$('body')
167+
.on('mouseup', handleMouseup)
168+
.on('mousemove', handleDragging);
169+
}
170+
171+
function handleKeydown(event) {
172+
var $target = $('#testKeyResponse');
173+
174+
$target.text(event.keyCode);
175+
}
176+
177+
function openAlert(event) {
178+
event.preventDefault();
179+
180+
window.alert('I am a alert box!');
181+
}
182+
183+
function openConfirm(event) {
184+
var $result = $('#confirmResult'),
185+
result;
186+
187+
event.preventDefault();
188+
189+
result = window.confirm('I am a confirm box!');
190+
191+
$result.text(result);
192+
}
193+
194+
function openPrompt(event) {
195+
var $result = $('#promptResult'),
196+
result;
197+
198+
event.preventDefault();
199+
200+
result = window.prompt('I am a prompt!');
201+
202+
$result.text(result);
203+
}
204+
205+
function toggleMoveToElement(event) {
206+
$(this).toggleClass('moveToClass');
207+
}
208+
209+
$(function () {
210+
$('.jsToggleElement')
211+
.on('click', onClickToggleElement);
212+
213+
$.cookie('test', 'yumyum');
214+
215+
$('#toggleMessage')
216+
.on('click', displayFirstMessage)
217+
.on('dblclick', displaySecondMessage);
218+
219+
$('#toggleBackground')
220+
.on('click', makeBgRed)
221+
.on('dblclick', makeBgBlue);
222+
223+
$('#draggable')
224+
.on('mousedown', handleMousedown);
225+
226+
$('#formSubmitTest')
227+
.on('submit', handleFormSubmit);
228+
229+
$('[data-action]')
230+
.on('click', handleDataAction);
231+
232+
$('body')
233+
.on('keydown', handleKeydown);
234+
235+
$('#openAlert')
236+
.on('click', openAlert);
237+
238+
$('#openConfirm')
239+
.on('click', openConfirm);
240+
241+
$('#openPrompt')
242+
.on('click', openPrompt);
243+
244+
$('#moveTo')
245+
.on('mouseenter mouseleave', toggleMoveToElement);
246+
});

0 commit comments

Comments
 (0)