-
Notifications
You must be signed in to change notification settings - Fork 69
/
script.js
95 lines (89 loc) · 2.85 KB
/
script.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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
/*jslint white: true, browser: true, undef: true, nomen: true, eqeqeq: true, plusplus: false, bitwise: true, regexp: true, strict: true, newcap: true, immed: true, maxerr: 14 */
/*global window: false, REDIPS: true */
/* enable strict mode */
"use strict";
var redips_init;
// redips initialization
redips_init = function () {
// reference to the REDIPS.drag library and message line
var rd = REDIPS.drag,
msg = document.getElementById('msg');
// initialization
rd.init();
// set hover colors for TD and TR
rd.hover.color_td = '#FFCFAE';
rd.hover.color_tr = '#9BB3DA';
// don't ask on element delete but ask for row delete
rd.trash_ask = false;
rd.trash_ask_row = true;
// enable clone element and row with shift key
rd.clone_shiftKey = rd.clone_shiftKey_row = true;
// mark row in second table as empty
rd.row_empty('tbl2', 1);
//
// row event handlers
//
// row clicked (display message and set hover color for "row" mode)
rd.myhandler_row_clicked = function () {
msg.innerHTML = 'Clicked';
};
// row row_dropped
rd.myhandler_row_dropped = function () {
msg.innerHTML = 'Dropped';
};
// row was dropped to the source - event handler
// mini table (cloned row) will be deleted and source row should return to original state
rd.myhandler_row_dropped_source = function () {
// make source row completely visible (no opacity)
rd.row_opacity(rd.obj_old, 100);
// display message
msg.innerHTML = 'Dropped to the source';
};
// row changed
rd.myhandler_row_changed = function () {
// get target and source position (method returns positions as array)
var pos = rd.get_position();
// display current table and current row
msg.innerHTML = 'Changed: ' + pos[0] + ' ' + pos[1];
};
// row was moved - event handler
rd.myhandler_row_moved = function () {
// set opacity for moved row
// rd.obj is reference of cloned row (mini table)
rd.row_opacity(rd.obj, 85);
// set opacity for source row and change source row background color
// obj.obj_old is reference of source row
rd.row_opacity(rd.obj_old, 20, 'White');
// display message
msg.innerHTML = 'Moved';
};
// row notmoved
rd.myhandler_row_notmoved = function () {
msg.innerHTML = 'Not moved';
};
// row cloned
rd.myhandler_row_cloned = function () {
msg.innerHTML = 'Cloned';
};
// row not cloned (dropped to the source row)
rd.myhandler_row_notcloned = function () {
msg.innerHTML = 'Not cloned';
};
// row deleted
rd.myhandler_row_deleted = function () {
msg.innerHTML = 'Deleted';
};
// row is undeleted (return source row to original state)
rd.myhandler_row_undeleted = function () {
rd.row_opacity(rd.obj_old, 100);
// display message
msg.innerHTML = 'Undeleted';
};
};
// add onload event listener
if (window.addEventListener) {
window.addEventListener('load', redips_init, false);
}
else if (window.attachEvent) {
window.attachEvent('onload', redips_init);
}