|
105 | 105 | afterInit : function() { |
106 | 106 | $('#{{componentId}}-{{sectionId}}-release-type').on('select2:select', function(e) { |
107 | 107 | var bump = e.params.data.id; |
108 | | - if (bump === 'buildMeta') { |
109 | | - $('#{{componentId}}-{{sectionId}}-build-meta').attr('disabled', false); |
110 | | - $('#{{componentId}}-{{sectionId}}-build-meta').val($('#{{componentId}}-{{sectionId}}-version').val()); |
111 | | - $('#{{componentId}}-{{sectionId}}-release-version').html( |
112 | | - '<h4 class="mt-1" id="build-meta-release">' + |
113 | | - $('#{{componentId}}-{{sectionId}}-build-meta').val() + |
114 | | - '</h4>' |
115 | | - ); |
116 | | - $('#{{componentId}}-{{sectionId}}-build-meta').off(); |
117 | | - $('#{{componentId}}-{{sectionId}}-build-meta').keyup(function() { |
118 | | - $('#{{componentId}}-{{sectionId}}-release-version').html( |
119 | | - '<h4 class="mt-1" id="build-meta-release">' + |
120 | | - $('#{{componentId}}-{{sectionId}}-build-meta').val() + |
121 | | - '</h4>' |
122 | | - ); |
123 | | - }); |
124 | 108 |
|
125 | | - return; |
| 109 | + if (bump === 'custom') { |
| 110 | + $('#{{componentId}}-{{sectionId}}-pre-release-prefix').val(''); |
| 111 | + $('#{{componentId}}-{{sectionId}}-build-meta-prefix').val(''); |
| 112 | + $('#{{componentId}}-{{sectionId}}-pre-release-prefix').attr('disabled', true); |
| 113 | + $('#{{componentId}}-{{sectionId}}-build-meta-prefix').attr('disabled', true); |
| 114 | + $('#{{componentId}}-{{sectionId}}-custom-version').attr('disabled', false); |
| 115 | + $('#semver').attr('hidden', true); |
| 116 | + $('#custom').attr('hidden', false); |
| 117 | + $('#{{componentId}}-{{sectionId}}-get-next-release').attr('disabled', true); |
126 | 118 | } else { |
127 | | - $('#{{componentId}}-{{sectionId}}-build-meta').val(''); |
128 | | - $('#{{componentId}}-{{sectionId}}-build-meta').attr('disabled', true); |
129 | | - $('#{{componentId}}-{{sectionId}}-release-version').html('<h4 class="mt-1">SELECT RELEASE TYPE</h4>'); |
| 119 | + $('#semver').attr('hidden', false); |
| 120 | + $('#custom').attr('hidden', true); |
| 121 | + $('#{{componentId}}-{{sectionId}}-custom-version').val(''); |
| 122 | + |
| 123 | + if (bump === 'buildMeta') { |
| 124 | + $('#{{componentId}}-{{sectionId}}-build-meta-prefix').val(''); |
| 125 | + $('#{{componentId}}-{{sectionId}}-pre-release-prefix').val(''); |
| 126 | + $('#{{componentId}}-{{sectionId}}-build-meta-prefix').attr('disabled', false); |
| 127 | + $('#{{componentId}}-{{sectionId}}-pre-release-prefix').attr('disabled', true); |
| 128 | + } else if (bump === 'preRelease') { |
| 129 | + $('#{{componentId}}-{{sectionId}}-pre-release-prefix').val(''); |
| 130 | + $('#{{componentId}}-{{sectionId}}-build-meta-prefix').val(''); |
| 131 | + $('#{{componentId}}-{{sectionId}}-pre-release-prefix').attr('disabled', false); |
| 132 | + $('#{{componentId}}-{{sectionId}}-build-meta-prefix').attr('disabled', true); |
| 133 | + } else if (bump === 'preReleaseBuildMeta') { |
| 134 | + $('#{{componentId}}-{{sectionId}}-pre-release-prefix').val(''); |
| 135 | + $('#{{componentId}}-{{sectionId}}-build-meta-prefix').val(''); |
| 136 | + $('#{{componentId}}-{{sectionId}}-pre-release-prefix').attr('disabled', false); |
| 137 | + $('#{{componentId}}-{{sectionId}}-build-meta-prefix').attr('disabled', false); |
| 138 | + } |
| 139 | + |
| 140 | + $('#{{componentId}}-{{sectionId}}-get-next-release').attr('disabled', false); |
130 | 141 | } |
| 142 | + $('#release-version-text').html(''); |
| 143 | + }); |
131 | 144 |
|
132 | | - $('#{{componentId}}-{{sectionId}}-release-version').html( |
133 | | - '<div class="row">' + |
134 | | - ' <div class="col text-lg">' + |
135 | | - ' <i class="fa fa-cog fa-spin"></i> Loading...' + |
136 | | - ' </div>' + |
137 | | - '</div>' |
138 | | - ); |
| 145 | + $('#{{componentId}}-{{sectionId}}-get-next-release').off(); |
| 146 | + $('#{{componentId}}-{{sectionId}}-get-next-release').click(function(e) { |
| 147 | + e.preventDefault(); |
| 148 | + var bump = $('#{{componentId}}-{{sectionId}}-release-type').val(); |
139 | 149 |
|
| 150 | + if (bump === 'custom') { |
| 151 | + return; |
| 152 | + } |
140 | 153 |
|
141 | 154 | var postData = { }; |
142 | 155 | postData[$('#security-token').attr('name')] = $('#security-token').val(); |
143 | 156 | postData['id'] = $('#{{componentId}}-{{sectionId}}-id').val(); |
144 | 157 | postData['module_type'] = $('#{{componentId}}-{{sectionId}}-module_type').val(); |
145 | 158 | postData['bump'] = bump; |
146 | 159 |
|
| 160 | + if (bump === 'preRelease') { |
| 161 | + postData['preReleasePrefix'] = $('#{{componentId}}-{{sectionId}}-pre-release-prefix').val(); |
| 162 | + if (postData['preReleasePrefix'] === '') { |
| 163 | + PNotify.error({'text': 'Provide pre-release prefix.'}); |
| 164 | + return; |
| 165 | + } |
| 166 | + } else if (bump === 'buildMeta') { |
| 167 | + postData['buildMetaPrefix'] = $('#{{componentId}}-{{sectionId}}-build-meta-prefix').val(); |
| 168 | + if (postData['buildMetaPrefix'] === '') { |
| 169 | + PNotify.error({'text': 'Provide build meta prefix.'}); |
| 170 | + return; |
| 171 | + } |
| 172 | + } else if (bump === 'preReleaseBuildMeta') { |
| 173 | + postData['preReleasePrefix'] = $('#{{componentId}}-{{sectionId}}-pre-release-prefix').val(); |
| 174 | + postData['buildMetaPrefix'] = $('#{{componentId}}-{{sectionId}}-build-meta-prefix').val(); |
| 175 | + if (postData['preReleasePrefix'] === '') { |
| 176 | + PNotify.error({'text': 'Provide pre-release prefix.'}); |
| 177 | + return; |
| 178 | + } |
| 179 | + if (postData['buildMetaPrefix'] === '') { |
| 180 | + PNotify.error({'text': 'Provide build meta prefix.'}); |
| 181 | + return; |
| 182 | + } |
| 183 | + } |
| 184 | + $('#release-version-text').html( |
| 185 | + '<div class="row">' + |
| 186 | + ' <div class="col text-lg">' + |
| 187 | + ' <i class="fa fa-cog fa-spin"></i> Loading...' + |
| 188 | + ' </div>' + |
| 189 | + '</div>' |
| 190 | + ); |
| 191 | + |
| 192 | + |
147 | 193 | $.post('{{links.url("devtools/modules/bumpVersion")}}', postData, function(response) { |
148 | 194 | if (response.tokenKey && response.token) { |
149 | 195 | $('#security-token').attr('name', response.tokenKey); |
|
161 | 207 | } |
162 | 208 |
|
163 | 209 | if (response.responseData && response.responseData.currentVersion && response.responseData.newVersion) { |
164 | | - $('#{{componentId}}-{{sectionId}}-release-version').html( |
| 210 | + $('#release-version-text').html( |
165 | 211 | '<h4><span class="text-' + color + '">' + response.responseData.currentVersion + '</span> ' + |
166 | 212 | '<i class="fa-solid fa-arrow-right"></i> ' + |
167 | 213 | '<span class="text-primary">' + response.responseData.newVersion + '</span></h4>' |
168 | 214 | ); |
169 | 215 | } |
170 | 216 | } else { |
171 | 217 | if (response.responseData && response.responseData.release) { |
172 | | - $('#{{componentId}}-{{sectionId}}-release-version').html( |
| 218 | + $('#release-version-text').html( |
173 | 219 | '<h4><span class="text-primary">' + response.responseData.release + '</span></h4>' |
174 | 220 | ); |
175 | 221 | } else { |
176 | | - $('#{{componentId}}-{{sectionId}}-release-version').html( |
| 222 | + $('#release-version-text').html( |
177 | 223 | '<span class="text-danger">ERROR LOADING RELEASE INFORMATION!</span>' |
178 | 224 | ); |
179 | 225 | } |
|
198 | 244 |
|
199 | 245 | var postData = { }; |
200 | 246 | postData['bump'] = $('#{{componentId}}-{{sectionId}}-release-type').val(); |
201 | | - if (postData['bump'] === 'buildMeta') { |
202 | | - postData['buildMetaRelease'] = $('#build-meta-release').html(); |
| 247 | + if (postData['bump'] === 'preRelease') { |
| 248 | + postData['preReleasePrefix'] = $('#{{componentId}}-{{sectionId}}-pre-release-prefix').val(); |
| 249 | + if (postData['preReleasePrefix'] === '') { |
| 250 | + PNotify.error({'text': 'Provide pre-release prefix.'}); |
| 251 | + return; |
| 252 | + } |
| 253 | + } else if (postData['bump'] === 'buildMeta') { |
| 254 | + postData['buildMetaPrefix'] = $('#{{componentId}}-{{sectionId}}-build-meta-prefix').val(); |
| 255 | + if (postData['buildMetaPrefix'] === '') { |
| 256 | + PNotify.error({'text': 'Provide build meta prefix.'}); |
| 257 | + return; |
| 258 | + } |
| 259 | + } else if (postData['bump'] === 'preReleaseBuildMeta') { |
| 260 | + postData['preReleasePrefix'] = $('#{{componentId}}-{{sectionId}}-pre-release-prefix').val(); |
| 261 | + postData['buildMetaPrefix'] = $('#{{componentId}}-{{sectionId}}-build-meta-prefix').val(); |
| 262 | + if (postData['preReleasePrefix'] === '') { |
| 263 | + PNotify.error({'text': 'Provide pre-release prefix.'}); |
| 264 | + return; |
| 265 | + } |
| 266 | + if (postData['buildMetaPrefix'] === '') { |
| 267 | + PNotify.error({'text': 'Provide build meta prefix.'}); |
| 268 | + return; |
| 269 | + } |
203 | 270 | } |
204 | 271 | postData[$('#security-token').attr('name')] = $('#security-token').val(); |
205 | 272 | postData['id'] = $('#{{componentId}}-{{sectionId}}-id').val(); |
|
244 | 311 | }); |
245 | 312 | } |
246 | 313 | }, |
247 | | - '{{componentId}}-{{sectionId}}-build-meta' : { }, |
248 | 314 | '{{componentId}}-{{sectionId}}-pre-release-prefix' : { }, |
| 315 | + '{{componentId}}-{{sectionId}}-build-meta-prefix' : { }, |
| 316 | + '{{componentId}}-{{sectionId}}-custom-version' : { }, |
249 | 317 | '{{componentId}}-{{sectionId}}-branch' : { |
250 | 318 | placeholder : "SELECT BRANCH", |
251 | 319 | afterInit : function() { |
|
0 commit comments