src/pyams_content/zmi/resources/js/pyams_content.js
changeset 1297 393e4f1812e1
parent 1155 f944a4efb65b
child 1339 401655442ef0
--- a/src/pyams_content/zmi/resources/js/pyams_content.js	Fri Mar 22 17:46:49 2019 +0100
+++ b/src/pyams_content/zmi/resources/js/pyams_content.js	Fri Mar 22 17:47:03 2019 +0100
@@ -467,11 +467,18 @@
 		 */
 		themes: {
 
-			initExtracts: function(element) {
-				var thesaurus = $('select[name="manager_themes.widgets.thesaurus_name:list"]', element);
+			updateThesaurus: function(event) {
+				debugger;
+				var form = $(this).parents('form');
+				// clear extract name
+				var extract = $('select[name$=".extract_name:list"]', form);
+				var plugin = extract.data('select2');
+				extract.empty();
+				extract.select2('data', null);
+				plugin.results.empty();
+				// check thesaurus for new extracts
+				var thesaurus = $('select[name$=".thesaurus_name:list"]', form);
 				var thesaurus_name = thesaurus.val();
-				var extract = $('select[name="manager_themes.widgets.extract_name:list"]', element);
-				var extract_name = extract.val();
 				if (thesaurus_name) {
 					MyAMS.jsonrpc.post('getExtracts',
 									   {thesaurus_name: thesaurus_name},
@@ -480,33 +487,12 @@
 											extract.empty();
 											$(data.result).each(function() {
 												$('<option></option>').attr('value', this.id)
-																	  .attr('selected', this.id === extract_name)
 																	  .text(this.text)
 																	  .appendTo(extract);
 											});
-									   });
-				}
-			},
-
-			getExtracts: function(event) {
-				var select = $(event.currentTarget);
-				var form = select.parents('form');
-				var thesaurus_name = $('select[name="manager_themes.widgets.thesaurus_name:list"]', form).val();
-				var extract = $('select[name="manager_themes.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) {
-											plugin.results.empty();
 											plugin.opts.populateResults.call(plugin, plugin.results, data.result,
 																			 {term: ''});
 									   });
-				} else {
-					extract.select2('data', null);
-					plugin.results.empty();
-					plugin.opts.populateResults.call(plugin, plugin.results, [], {term: ''});
 				}
 			}
 		},