~ubuntu-branches/ubuntu/utopic/moodle/utopic

« back to all changes in this revision

Viewing changes to course/dndupload.js

  • Committer: Package Import Robot
  • Author(s): Thijs Kinkhorst
  • Date: 2014-05-12 16:10:38 UTC
  • mfrom: (36.1.3 sid)
  • Revision ID: package-import@ubuntu.com-20140512161038-puyqf65k4e0s8ytz
Tags: 2.6.3-1
New upstream release.

Show diffs side-by-side

added added

removed removed

Lines of Context:
102
102
     * is available (or to explain why it is not available)
103
103
     */
104
104
    add_status_div: function() {
105
 
        var coursecontents = document.getElementById(this.pagecontentid);
 
105
        var Y = this.Y,
 
106
            coursecontents = Y.one('#' + this.pagecontentid),
 
107
            div,
 
108
            handlefile = (this.handlers.filehandlers.length > 0),
 
109
            handletext = false,
 
110
            handlelink = false,
 
111
            i = 0,
 
112
            styletop,
 
113
            styletopunit;
 
114
 
106
115
        if (!coursecontents) {
107
116
            return;
108
117
        }
109
118
 
110
 
        var div = document.createElement('div');
111
 
        div.id = 'dndupload-status';
112
 
        div.style.opacity = 0.0;
113
 
        coursecontents.insertBefore(div, coursecontents.firstChild);
 
119
        div = Y.Node.create('<div id="dndupload-status"></div>').setStyle('opacity', '0.0');
 
120
        coursecontents.insert(div, 0);
114
121
 
115
 
        var Y = this.Y;
116
 
        div = Y.one(div);
117
 
        var handlefile = (this.handlers.filehandlers.length > 0);
118
 
        var handletext = false;
119
 
        var handlelink = false;
120
 
        var i;
121
 
        for (i=0; i<this.handlers.types.length; i++) {
 
122
        for (i = 0; i < this.handlers.types.length; i++) {
122
123
            switch (this.handlers.types[i].identifier) {
123
 
            case 'text':
124
 
            case 'text/html':
125
 
                handletext = true;
126
 
                break;
127
 
            case 'url':
128
 
                handlelink = true;
129
 
                break;
 
124
                case 'text':
 
125
                case 'text/html':
 
126
                    handletext = true;
 
127
                    break;
 
128
                case 'url':
 
129
                    handlelink = true;
 
130
                    break;
130
131
            }
131
132
        }
132
133
        $msgident = 'dndworking';
141
142
        }
142
143
        div.setContent(M.util.get_string($msgident, 'moodle'));
143
144
 
 
145
        styletop = div.getStyle('top') || '0px';
 
146
        styletopunit = styletop.replace(/^\d+/, '');
 
147
        styletop = parseInt(styletop.replace(/\D*$/, ''), 10);
 
148
 
144
149
        var fadeanim = new Y.Anim({
145
150
            node: '#dndupload-status',
146
151
            from: {
147
152
                opacity: 0.0,
148
 
                top: '-30px'
 
153
                top: (styletop - 30).toString() + styletopunit
149
154
            },
150
155
 
151
156
            to: {
152
157
                opacity: 1.0,
153
 
                top: '0px'
 
158
                top: styletop.toString() + styletopunit
154
159
            },
155
160
            duration: 0.5
156
161
        });
227
232
    types_includes: function(e, type) {
228
233
        var i;
229
234
        var types = e._event.dataTransfer.types;
 
235
        type = type.toLowerCase();
230
236
        for (i=0; i<types.length; i++) {
231
 
            if (types[i] == type) {
 
237
            if (!types.hasOwnProperty(i)) {
 
238
                continue;
 
239
            }
 
240
            if (types[i].toLowerCase() === type) {
232
241
                return true;
233
242
            }
234
243
        }
736
745
                    var result = JSON.parse(xhr.responseText);
737
746
                    if (result) {
738
747
                        if (result.error == 0) {
739
 
                            // All OK - update the dummy element
740
 
                            if (result.content) {
741
 
                                // A label
742
 
                                resel.indentdiv.innerHTML = '<div class="activityinstance" ></div>' + result.content + result.commands;
743
 
                            } else {
744
 
                                // Not a label
745
 
                                resel.icon.src = result.icon;
746
 
                                resel.a.href = result.link;
747
 
                                resel.namespan.innerHTML = result.name;
748
 
 
749
 
                                if (!parseInt(result.visible, 10)) {
750
 
                                    resel.a.className = 'dimmed';
751
 
                                }
752
 
 
753
 
                                if (result.groupingname) {
754
 
                                    resel.groupingspan.innerHTML = '(' + result.groupingname + ')';
755
 
                                } else {
756
 
                                    resel.div.removeChild(resel.groupingspan);
757
 
                                }
758
 
 
759
 
                                resel.div.removeChild(resel.progressouter);
760
 
                                resel.indentdiv.innerHTML += result.commands;
761
 
                                if (result.onclick) {
762
 
                                    resel.a.onclick = result.onclick;
763
 
                                }
764
 
                                if (self.Y.UA.gecko > 0) {
765
 
                                    // Fix a Firefox bug which makes sites with a '~' in their wwwroot
766
 
                                    // log the user out when clicking on the link (before refreshing the page).
767
 
                                    resel.div.innerHTML = unescape(resel.div.innerHTML);
768
 
                                }
 
748
                            // All OK - replace the dummy element.
 
749
                            resel.li.outerHTML = result.fullcontent;
 
750
                            if (self.Y.UA.gecko > 0) {
 
751
                                // Fix a Firefox bug which makes sites with a '~' in their wwwroot
 
752
                                // log the user out when clicking on the link (before refreshing the page).
 
753
                                resel.li.outerHTML = unescape(resel.li.outerHTML);
769
754
                            }
770
 
                            resel.li.id = result.elementid;
771
755
                            self.add_editing(result.elementid);
772
756
                        } else {
773
757
                            // Error - remove the dummy element
986
970
                    var result = JSON.parse(xhr.responseText);
987
971
                    if (result) {
988
972
                        if (result.error == 0) {
989
 
                            // All OK - update the dummy element
990
 
                            if (result.content) {
991
 
                                // A label
992
 
                                resel.indentdiv.innerHTML = '<div class="activityinstance" ></div>' + result.content + result.commands;
993
 
                            } else {
994
 
                                // Not a label
995
 
                                resel.icon.src = result.icon;
996
 
                                resel.a.href = result.link;
997
 
                                resel.namespan.innerHTML = result.name;
998
 
 
999
 
                                if (!parseInt(result.visible, 10)) {
1000
 
                                    resel.a.className = 'dimmed';
1001
 
                                }
1002
 
 
1003
 
                                if (result.groupingname) {
1004
 
                                    resel.groupingspan.innerHTML = '(' + result.groupingname + ')';
1005
 
                                } else {
1006
 
                                    resel.div.removeChild(resel.groupingspan);
1007
 
                                }
1008
 
 
1009
 
                                resel.div.removeChild(resel.progressouter);
1010
 
                                resel.div.innerHTML += result.commands;
1011
 
                                if (result.onclick) {
1012
 
                                    resel.a.onclick = result.onclick;
1013
 
                                }
1014
 
                                if (self.Y.UA.gecko > 0) {
1015
 
                                    // Fix a Firefox bug which makes sites with a '~' in their wwwroot
1016
 
                                    // log the user out when clicking on the link (before refreshing the page).
1017
 
                                    resel.div.innerHTML = unescape(resel.div.innerHTML);
1018
 
                                }
 
973
                            // All OK - replace the dummy element.
 
974
                            resel.li.outerHTML = result.fullcontent;
 
975
                            if (self.Y.UA.gecko > 0) {
 
976
                                // Fix a Firefox bug which makes sites with a '~' in their wwwroot
 
977
                                // log the user out when clicking on the link (before refreshing the page).
 
978
                                resel.li.outerHTML = unescape(resel.li.outerHTML);
1019
979
                            }
1020
 
                            resel.li.id = result.elementid;
1021
 
                            self.add_editing(result.elementid, sectionnumber);
 
980
                            self.add_editing(result.elementid);
1022
981
                        } else {
1023
982
                            // Error - remove the dummy element
1024
983
                            resel.parent.removeChild(resel.li);
1053
1012
     * @param sectionnumber the number of the selected course section
1054
1013
     */
1055
1014
    add_editing: function(elementid) {
 
1015
        var node = Y.one('#' + elementid);
1056
1016
        YUI().use('moodle-course-coursebase', function(Y) {
1057
 
            M.course.coursebase.invoke_function('setup_for_resource', '#' + elementid);
 
1017
            Y.log("Invoking setup_for_resource", 'debug', 'coursedndupload');
 
1018
            M.course.coursebase.invoke_function('setup_for_resource', node);
1058
1019
        });
 
1020
        if (M.core.actionmenu && M.core.actionmenu.newDOMNode) {
 
1021
            M.core.actionmenu.newDOMNode(node);
 
1022
        }
1059
1023
    }
1060
1024
};