186dc0b4d1840b61b1ba3e62ef2859149b50fb26
[moodle.git] / lib / form / filepicker.js
2 M.form_filepicker = {};
5 M.form_filepicker.callback = function(params) {
6     var html = '<a href="'+params['url']+'">'+params['file']+'</a>';
7     document.getElementById('file_info_'+params['client_id']).innerHTML = html;
8     //When file is added then set draftid for validation
9     var elementname = M.core_filepicker.instances[params['client_id']].options.elementname;
10     var itemid = M.core_filepicker.instances[params['client_id']].options.itemid;
11     M.form_filepicker.YUI.one('#id_'+elementname).set('value', itemid);
12     //generate event to indicate changes which will be used by disable if code.
13     M.form_filepicker.YUI.one('#id_'+elementname).simulate('change');
14 };
16 /**
17  * This fucntion is called for each file picker on page.
18  */
19 M.form_filepicker.init = function(Y, options) {
20     //For client side validation, remove hidden draft_id
21     M.form_filepicker.YUI = Y;
22     Y.one('#id_'+options.elementname).set('value', '');
23     options.formcallback = M.form_filepicker.callback;
24     if (!M.core_filepicker.instances[options.client_id]) {
25         M.core_filepicker.init(Y, options); 
26     }
27     Y.on('click', function(e, client_id) {
28         e.preventDefault();
29         M.core_filepicker.instances[client_id].show();
30     }, '#filepicker-button-'+options.client_id, null, options.client_id);
32     var item = document.getElementById('nonjs-filepicker-'+options.client_id);
33     if (item) {
34         item.parentNode.removeChild(item);
35     }
36     item = document.getElementById('filepicker-wrapper-'+options.client_id);
37     if (item) {
38         item.style.display = '';
39     }
40 };