report package installation errors, simplify code
[teamcity/dotNetPackagesSupport.git] / nuget-server / resources / tool / tools.js
1 /*\r
2  * Copyright 2000-2011 JetBrains s.r.o.\r
3  *\r
4  * Licensed under the Apache License, Version 2.0 (the "License");\r
5  * you may not use this file except in compliance with the License.\r
6  * You may obtain a copy of the License at\r
7  *\r
8  * http://www.apache.org/licenses/LICENSE-2.0\r
9  *\r
10  * Unless required by applicable law or agreed to in writing, software\r
11  * distributed under the License is distributed on an "AS IS" BASIS,\r
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
13  * See the License for the specific language governing permissions and\r
14  * limitations under the License.\r
15  */\r
16 \r
17 if (!BS) BS = {};\r
18 \r
19 if (!BS.NuGet) BS.NuGet = {};\r
20 \r
21 BS.NuGet.Tools = {\r
22   installUrl : '',\r
23 \r
24   refreshPackagesList : function() {\r
25     $('nugetPackagesList').refresh();\r
26   },\r
27 \r
28   removeTool : function(toolId) {\r
29     BS.ajaxRequest(this.installUrl, {\r
30       parameters : {\r
31         whatToDo : "remove",\r
32         toolId : toolId\r
33       },\r
34 \r
35       onComplete: function() {\r
36         BS.NuGet.Tools.refreshPackagesList();\r
37       }\r
38     })\r
39   },\r
40 \r
41   InstallPopup : OO.extend(BS.PluginPropertiesForm, OO.extend(BS.AbstractModalDialog, {\r
42     getContainer : function() {\r
43       return $('nugetInstallFormDialog');\r
44     },\r
45 \r
46     formElement : function() {\r
47       return $('nugetInstallForm');\r
48     },\r
49 \r
50     disableSubmit : function() {\r
51       $('installNuGetApplyButton').disabled = 'disabled';\r
52     },\r
53 \r
54     enableSubmit : function() {\r
55       $('installNuGetApplyButton').disabled = '';\r
56     },\r
57 \r
58     refreshForm : function(fresh) {\r
59       this.disableSubmit();\r
60       BS.Util.hide($('nugetInstallFormResresh'));\r
61       BS.Util.show($('nugetInstallFormLoading'));\r
62       $('nugetInstallFormResresh').refresh("nugetInstallLinkSaving", fresh ? "fresh=1": "", function() {\r
63         BS.Util.hide($('nugetInstallFormLoading'));\r
64         BS.Util.show($('nugetInstallFormResresh'));\r
65         BS.NuGet.Tools.InstallPopup.showCentered();\r
66       });\r
67       return false;\r
68     },\r
69 \r
70     show : function() {\r
71       var that = this;\r
72       that.showCentered();\r
73       that.refreshForm();\r
74       return false;\r
75     },\r
76 \r
77     save : function() {\r
78       BS.Util.show($('installNuGetApplyProgress'));\r
79       BS.FormSaver.save(this, this.formElement().action, OO.extend(BS.ErrorsAwareListener, {\r
80         onCompleteSave: function(form, responseXML, err) {\r
81           var wereErrors = BS.XMLResponse.processErrors(responseXML, {}, form.propertiesErrorsHandler);\r
82           BS.ErrorsAwareListener.onCompleteSave(form, responseXML, err);\r
83 \r
84           if (!wereErrors) {\r
85             BS.NuGet.Tools.refreshPackagesList();\r
86             form.close();\r
87           } else {\r
88             BS.Util.reenableForm(form.formElement());\r
89           }\r
90         }\r
91       }));\r
92       return false;\r
93     }\r
94   }))\r
95 };\r
96 \r
97 \r
98 \r