~jsing/wordpress/openstack-objectstorage-revert

« back to all changes in this revision

Viewing changes to assets/js/script.js

  • Committer: Jacek Nykis
  • Date: 2015-02-11 15:35:31 UTC
  • Revision ID: jacek.nykis@canonical.com-20150211153531-hmy6zi0ov2qfkl0b
Initial commit

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
(function($) {
 
2
 
 
3
        $(document).ready(function() {
 
4
 
 
5
                $('.swift-settings').each(function() {
 
6
                        var $container = $(this);
 
7
 
 
8
                        $('select.bucket', $container).change(function() {
 
9
                                var $select = $(this);
 
10
 
 
11
                                if ($select.val() !== 'new') {
 
12
                                        return;
 
13
                                }
 
14
 
 
15
                                var error_func = function(jqXHR, textStatus, errorThrown) {
 
16
                                        alert(swift_i18n.create_bucket_error + errorThrown);
 
17
                                        $select[0].selectedIndex = 0;
 
18
                                        console.log( jqXHR );
 
19
                                        console.log( textStatus );
 
20
                                        console.log( errorThrown );
 
21
                                };
 
22
 
 
23
                                var success_func = function(data, textStatus, jqXHR) {
 
24
                                        if (typeof data['success'] !== 'undefined') {
 
25
                                                var opt = document.createElement('option');
 
26
                                                opt.value = opt.innerHTML = bucket_name;
 
27
                                                var inserted_at_position = 0;
 
28
                                                $('option', $select).each(function() {
 
29
                                                        // For some reason, no error occurs when
 
30
                                                        // adding a bucket you've already added
 
31
                                                        if ($(this).val() == bucket_name) {
 
32
                                                                return false;
 
33
                                                        }
 
34
                                                        if ($(this).val() > bucket_name) {
 
35
                                                                $(opt).insertBefore($(this));
 
36
                                                                return false;
 
37
                                                        }
 
38
                                                        inserted_at_position = inserted_at_position + 1;
 
39
                                                });
 
40
                                                $select[0].selectedIndex = inserted_at_position;
 
41
 
 
42
                                                // If they decided to create a new bucket before refreshing
 
43
                                                // the page, we need another nonce
 
44
                                                swift_i18n.create_bucket_nonce = data['_nonce'];
 
45
                                        }
 
46
                                        else {
 
47
                                                alert(swift_i18n.create_bucket_error + data['error']);
 
48
                                                $select[0].selectedIndex = 0;
 
49
                                        }
 
50
                                };
 
51
 
 
52
                                var bucket_name = window.prompt(swift_i18n.create_bucket_prompt);
 
53
                                if (!bucket_name) {
 
54
                                        $select[0].selectedIndex = 0;
 
55
                                        return;
 
56
                                }
 
57
 
 
58
                                var data = {
 
59
                                        action:                 'swift-create-bucket',
 
60
                                        bucket_name:    bucket_name,
 
61
                                        _nonce:                 swift_i18n.create_bucket_nonce
 
62
                                };
 
63
 
 
64
                                $.ajax({
 
65
                                        url:            ajaxurl,
 
66
                                        type:           'POST',
 
67
                                        dataType:       'JSON',
 
68
                                        success:        success_func,
 
69
                                        error:          error_func,
 
70
                                        data:           data
 
71
                                });
 
72
                        });
 
73
 
 
74
                });
 
75
 
 
76
        });
 
77
 
 
78
})(jQuery);
 
 
b'\\ No newline at end of file'