|
2 | 2 | var csrftoken = $('input[name="csrfmiddlewaretoken"]').val(); |
3 | 3 | var collection_id = getCollectionId(); |
4 | 4 | var selected_text = ""; |
| 5 | +var INDIVIDUAL_URL = 1 |
| 6 | +var MULTI_URL_PATTERN = 2 |
5 | 7 |
|
6 | 8 | $(document).ready(function () { |
7 | 9 | handleAjaxStartAndStop(); |
@@ -44,6 +46,9 @@ function initializeDataTable() { |
44 | 46 | getVisitedColumn(true_icon, false_icon), |
45 | 47 | getDocumentTypeColumn(), |
46 | 48 | { "data": "id", "visible": false, "searchable": false }, |
| 49 | + { "data": "generated_title_id", "visible": false, "searchable": false }, |
| 50 | + { "data": "match_pattern_type", "visible": false, "searchable": false }, |
| 51 | + { "data": "candidate_urls_count", "visible": false, "searchable": false }, |
47 | 52 | ], |
48 | 53 | "createdRow": function (row, data, dataIndex) { |
49 | 54 | if (data['excluded']) { |
@@ -151,7 +156,7 @@ function getScrapedTitleColumn() { |
151 | 156 | function getGeneratedTitleColumn() { |
152 | 157 | return { |
153 | 158 | "data": "generated_title", "render": function (data, type, row) { |
154 | | - return `<input type="text" class="form-control individual_title_input" value='${data}' data-url=${remove_protocol(row['url'])} />`; |
| 159 | + return `<input type="text" class="form-control individual_title_input" value='${data}' data-generated-title-id=${row['generated_title_id']} data-match-pattern-type=${row['match_pattern_type']} data-candidate-urls-count=${row['candidate_urls_count']} data-url=${remove_protocol(row['url'])} />`; |
155 | 160 | } |
156 | 161 | } |
157 | 162 | } |
@@ -273,7 +278,14 @@ function handleNewTitleChange() { |
273 | 278 | $("body").on("change", ".individual_title_input", function () { |
274 | 279 | var match_pattern = $(this).data('url'); |
275 | 280 | var title_pattern = $(this).val(); |
276 | | - postTitlePatterns(match_pattern, title_pattern, match_pattern_type = 1, title_pattern_type = 1); |
| 281 | + var generated_title_id = $(this).data('generated-title-id'); |
| 282 | + var match_pattern_type = $(this).data('match-pattern-type'); |
| 283 | + var candidate_urls_count = $(this).data('candidate-urls-count'); |
| 284 | + if (!title_pattern) { |
| 285 | + deletePattern(`/api/title-patterns/${generated_title_id}/`, data_type = 'Title Pattern', url_type = match_pattern_type, candidate_urls_count= candidate_urls_count); |
| 286 | + }else{ |
| 287 | + postTitlePatterns(match_pattern, title_pattern, match_pattern_type = 1, title_pattern_type = 1); |
| 288 | + } |
277 | 289 | }); |
278 | 290 | } |
279 | 291 |
|
@@ -345,11 +357,6 @@ function postTitlePatterns(match_pattern, title_pattern, match_pattern_type = 1) |
345 | 357 | return; |
346 | 358 | } |
347 | 359 |
|
348 | | - if (!title_pattern) { |
349 | | - toastr.error('Please enter a title pattern.'); |
350 | | - return; |
351 | | - } |
352 | | - |
353 | 360 | $.ajax({ |
354 | 361 | url: '/api/title-patterns/', |
355 | 362 | type: "POST", |
@@ -387,8 +394,12 @@ function postVisited(url) { |
387 | 394 | }); |
388 | 395 | } |
389 | 396 |
|
390 | | -function deletePattern(url, data_type) { |
391 | | - var confirmDelete = confirm(`Are you sure you want to delete this ${data_type}?`); |
| 397 | +function deletePattern(url, data_type, url_type=null, candidate_urls_count=null) { |
| 398 | + if (url_type === MULTI_URL_PATTERN) { |
| 399 | + var confirmDelete = confirm(`YOU ARE ATTEMPTING TO DELETE A MULTI-URL PATTERN. THIS WILL AFFECT ${candidate_urls_count} URLs. \n\nAre you sure you want to do this? Currently there is no way to delete a single URL from a Multi-URL pattern`); |
| 400 | + } else { |
| 401 | + var confirmDelete = confirm(`Are you sure you want to delete this ${data_type}?`); |
| 402 | + } |
392 | 403 | if (!confirmDelete) { |
393 | 404 | return; |
394 | 405 | } |
|
0 commit comments