Completed
Push — master ( 6a1d7c...5e042f )
by Gabriel
06:31
created

document.addEventListener(ꞌDOMContentLoadedꞌ)   B

Complexity

Conditions 1
Paths 1

Size

Total Lines 137

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 1 Features 0
Metric Value
c 1
b 1
f 0
dl 0
loc 137
rs 8.2857
cc 1
nc 1
nop 0

4 Functions

Rating   Name   Duplication   Size   Complexity  
A ��) 0 13 2
A ��) 0 4 1
B ��) 0 43 1
A ��) 0 9 1

How to fix   Long Method   

Long Method

Small methods make your code easier to understand, in particular if combined with a good name. Besides, if your method is small, finding a good name is usually much easier.

For example, if you find yourself adding comments to a method's body, this is usually a good sign to extract the commented part to a new method, and use the comment as a starting point when coming up with a good name for this new method.

Commonly applied refactorings include:

1
document.addEventListener("DOMContentLoaded", function () {
2
3
    Dropzone.autoDiscover = false;
0 ignored issues
show
Bug introduced by
The variable Dropzone seems to be never declared. If this is a global, consider adding a /** global: Dropzone */ comment.

This checks looks for references to variables that have not been declared. This is most likey a typographical error or a variable has been renamed.

To learn more about declaring variables in Javascript, see the MDN.

Loading history...
4
5
    Dropzone.prototype.queueButtonsInit = function () {
6
        this.queueButtonsObserve();
7
        this.queueButtonsState(0);
8
    };
9
10
    Dropzone.prototype.queueButtonsObserve = function () {
0 ignored issues
show
Bug introduced by
The variable Dropzone seems to be never declared. If this is a global, consider adding a /** global: Dropzone */ comment.

This checks looks for references to variables that have not been declared. This is most likey a typographical error or a variable has been renamed.

To learn more about declaring variables in Javascript, see the MDN.

Loading history...
11
        var instance = this;
12
        document.querySelector("#actions .start").addEventListener("click", function () {
13
            instance.enqueueFiles(instance.getFilesWithStatus(Dropzone.ADDED));
0 ignored issues
show
Bug introduced by
The variable Dropzone seems to be never declared. If this is a global, consider adding a /** global: Dropzone */ comment.

This checks looks for references to variables that have not been declared. This is most likey a typographical error or a variable has been renamed.

To learn more about declaring variables in Javascript, see the MDN.

Loading history...
14
        }, false);
15
        document.querySelector("#actions .cancel").addEventListener("click", function () {
16
            instance.removeAllFiles(true);
17
        }, false);
18
    };
19
20
    Dropzone.prototype.queueButtonsState = function (state) {
0 ignored issues
show
Bug introduced by
The variable Dropzone seems to be never declared. If this is a global, consider adding a /** global: Dropzone */ comment.

This checks looks for references to variables that have not been declared. This is most likey a typographical error or a variable has been renamed.

To learn more about declaring variables in Javascript, see the MDN.

Loading history...
21
        if (state === 1) {
22
            document.querySelector("#actions .start").removeAttribute("disabled");
23
            document.querySelector("#actions .start").style.opacity = "1";
24
            document.querySelector("#actions .cancel").removeAttribute("disabled");
25
            document.querySelector("#actions .cancel").style.opacity = "1";
26
        } else {
27
            document.querySelector("#actions .start").setAttribute("disabled", "disabled");
28
            document.querySelector("#actions .start").style.opacity = "0";
29
            document.querySelector("#actions .cancel").setAttribute("disabled", "disabled");
30
            document.querySelector("#actions .cancel").style.opacity = "0";
31
        }
32
    };
33
34
    // Get the template HTML and remove it from the doumenthe template HTML and remove it from the doument
35
    var previewNode = document.querySelector("#dropzone-file-template");
36
    previewNode.id = "";
37
38
    var previewTemplate = previewNode.parentNode.innerHTML;
39
    previewNode.parentNode.removeChild(previewNode);
40
41
42
    var myDropzone = new Dropzone('form.dropzone-gallery', { // Make the whole body a dropzone
0 ignored issues
show
Bug introduced by
The variable Dropzone seems to be never declared. If this is a global, consider adding a /** global: Dropzone */ comment.

This checks looks for references to variables that have not been declared. This is most likey a typographical error or a variable has been renamed.

To learn more about declaring variables in Javascript, see the MDN.

Loading history...
43
        thumbnailWidth: 200,
44
        thumbnailHeight: 200,
45
        parallelUploads: 20,
46
        previewTemplate: previewTemplate,
47
        previewsContainer: "#dropzone-previews",
48
        autoQueue: false, // Make sure the files aren't queued until manually added
49
        clickable: ".fileinput-button", // Define the element that should be used as click trigger to select files.
50
51
        init: function () {
52
            this.queueButtonsInit();
53
54
            this.on("addedfile", function (file) {
55
                // Hookup the start button
56
                file.previewElement.querySelector(".start").onclick = function () {
57
                    myDropzone.enqueueFile(file);
58
                };
59
60
                this.queueButtonsState(1);
61
            });
62
63
            // Update the total progress bar
64
            this.on("totaluploadprogress", function (progress) {
65
                document.querySelector("#total-progress .progress-bar").style.width = progress + "%";
66
            });
67
68
            this.on("sending", function (file) {
69
                // Show the total progress bar when upload starts
70
                document.querySelector("#total-progress").style.opacity = "1";
71
                // And disable the start button
72
                file.previewElement.querySelector(".start").setAttribute("disabled", "disabled");
73
            });
74
75
            this.on("success", function (file, response) {
0 ignored issues
show
Unused Code introduced by
The parameter response is not used and could be removed.

This check looks for parameters in functions that are not used in the function body and are not followed by other parameters which are used inside the function.

Loading history...
76
                file.previewElement.querySelector('.dz-progress').style.opacity = "0";
77
                file.previewElement.querySelector('.dz-size').style.opacity = "0";
78
                file.previewElement.querySelector('.dz-error-message').style.opacity = "0";
79
80
                $(file.previewElement.querySelector(".cancel")).hide();
81
                file.previewElement.querySelector(".delete").style.display = "inline";
82
            });
83
84
            this.on("error", function (file, response, XMLHttpRequest) {
0 ignored issues
show
Unused Code introduced by
The parameter file is not used and could be removed.

This check looks for parameters in functions that are not used in the function body and are not followed by other parameters which are used inside the function.

Loading history...
Unused Code introduced by
The parameter response is not used and could be removed.

This check looks for parameters in functions that are not used in the function body and are not followed by other parameters which are used inside the function.

Loading history...
Unused Code introduced by
The parameter XMLHttpRequest is not used and could be removed.

This check looks for parameters in functions that are not used in the function body and are not followed by other parameters which are used inside the function.

Loading history...
85
            });
86
87
            // Hide the total progress bar when nothing's uploading anymore
88
            this.on("queuecomplete", function (progress) {
0 ignored issues
show
Unused Code introduced by
The parameter progress is not used and could be removed.

This check looks for parameters in functions that are not used in the function body and are not followed by other parameters which are used inside the function.

Loading history...
89
                document.querySelector("#total-progress").style.opacity = "0";
90
91
                this.queueButtonsState(0);
92
            });
93
        }
94
    });
95
96
    // function () {
97
    //
98
    // }
99
100
    // Dropzone.options.myAwesomeDropzone = {
101
    //     paramName: "file",
102
    //     maxFilesize: 10,
103
    //     url: 'UploadImages',
104
    //     previewsContainer: "#dropzone-previews",
105
    //     uploadMultiple: true,
106
    //     parallelUploads: 5,
107
    //     maxFiles: 20,
108
    //     init: function () {
109
    //         var cd;
110
    //         this.on("success", function (file, response) {
111
    //             $('.dz-progress').hide();
112
    //             $('.dz-size').hide();
113
    //             $('.dz-error-mark').hide();
114
    //             console.log(response);
115
    //             console.log(file);
116
    //             cd = response;
117
    //         });
118
    //         this.on("addedfile", function (file) {
119
    //             var removeButton = Dropzone.createElement("<a href=\"#\">Remove file</a>");
120
    //             var _this = this;
121
    //             removeButton.addEventListener("click", function (e) {
122
    //                 e.preventDefault();
123
    //                 e.stopPropagation();
124
    //                 _this.removeFile(file);
125
    //                 var name = "largeFileName=" + cd.pi.largePicPath + "&smallFileName=" + cd.pi.smallPicPath;
126
    //                 $.ajax({
127
    //                     type: 'POST',
128
    //                     url: 'DeleteImage',
129
    //                     data: name,
130
    //                     dataType: 'json'
131
    //                 });
132
    //             });
133
    //             file.previewElement.appendChild(removeButton);
134
    //         });
135
    //     }
136
    // };
137
});