src/pyams_content/skin/resources/js/pyams_content.js
changeset 800 2b5460ecb254
parent 715 38fe2d681233
child 836 f33d67c86cdd
--- a/src/pyams_content/skin/resources/js/pyams_content.js	Thu Jul 05 08:48:47 2018 +0200
+++ b/src/pyams_content/skin/resources/js/pyams_content.js	Thu Jul 05 08:53:43 2018 +0200
@@ -384,9 +384,9 @@
 		themes: {
 
 			initExtracts: function(element) {
-				var thesaurus = $('select[name="form.widgets.thesaurus_name:list"]', element);
+				var thesaurus = $('select[name="manager_tags.widgets.thesaurus_name:list"]', element);
 				var thesaurus_name = thesaurus.val();
-				var extract = $('select[name="form.widgets.extract_name:list"]', element);
+				var extract = $('select[name="manager_tags.widgets.extract_name:list"]', element);
 				var extract_name = extract.val();
 				if (thesaurus_name) {
 					MyAMS.jsonrpc.post('getExtracts',
@@ -402,24 +402,26 @@
 											});
 									   });
 				}
-				extract.attr('data-ams-events-handlers', '{"select2-open": "PyAMS_content.themes.getExtracts"}');
 			},
 
 			getExtracts: function(event) {
 				var select = $(event.currentTarget);
 				var form = select.parents('form');
-				var thesaurus_name = $('select[name="form.widgets.thesaurus_name:list"]', form).val();
-				if (thesaurus_name) {
+				var thesaurus_name = $('select[name="manager_tags.widgets.thesaurus_name:list"]', form).val();
+				var extract = $('select[name="manager_tags.widgets.extract_name:list"]', form);
+				var plugin = extract.data('select2');
+				if (thesaurus_name && (thesaurus_name !== '--NOVALUE--')) {
 					MyAMS.jsonrpc.post('getExtracts',
 									   {thesaurus_name: thesaurus_name},
 									   {url: '/api/thesaurus/json'},
 									   function(data) {
-											var extract = $('select[name="form.widgets.extract_name:list"]', form);
-											var plugin = extract.data('select2');
 											plugin.results.empty();
 											plugin.opts.populateResults.call(plugin, plugin.results, data.result,
 																			 {term: ''});
 									   });
+				} else {
+					plugin.results.empty();
+					plugin.opts.populateResults.call(plugin, plugin.results, [], {term: ''});
 				}
 			}
 		},