Keywords on custom "DataTableInstance" Widget

F_bio Santos
Kilo Sage

Hi everyone, Im trying to put a keyword search on a custom "DataTableInstance" widget, I putted the:

options.show_keywords = true;


On the Server Script, but i is not working (I type the word click on the magnifying glass and nothing happens) is there any otyher configuration that needs to be done in order for this to work ?

Code:

HTML:

<div>
  <div class="alert alert-danger" ng-if="data.invalid_table">
    ${Table not defined} '{{data.table_label}}'
  </div>
  <sp-widget ng-if="data.dataTableWidget" widget="data.dataTableWidget"></sp-widget>
</div>


Client Script:

function ($scope, spUtil, $location, spAriaFocusManager) {
	$scope.$on('data_table.click', function(e, parms){
		var p = $scope.data.page_id || 'form';
		var s = {id: p, table: parms.table, sys_id: parms.sys_id, view: 'sp'};
		var newURL = $location.search(s);
		spAriaFocusManager.navigateToLink(newURL.url());
	});
}


Server Script:

(function(){
	/*  "use strict"; - linter issues */
	// populate the 'data' object
	var sp_page = $sp.getValue('sp_page');
	var pageGR = new GlideRecord('sp_page');
	pageGR.get(sp_page);
	data.page_id = pageGR.getValue("id");
	
	
	$sp.getValues(data);
	if (data.field_list) {
		data.fields_array = data.field_list.split(',');
	} else {
		data.field_list = $sp.getListColumns(data.table);
	}

	if (input) {
		data.p = input.p;
		data.o = input.o;
		data.d = input.d;
		data.q = input.q;
	}
	data.p = data.p || 1;
	data.o = data.o || $sp.getValue('order_by');
	data.d = data.d || $sp.getValue('order_direction');

	data.page_index = (data.p - 1);
	data.window_size = $sp.getValue('maximum_entries') || 10;
	data.window_start  = (data.page_index * data.window_size);
	data.window_end = (((data.page_index + 1) * data.window_size));
	data.filter = $sp.getValue("filter");

	var sid = $sp.getParameter('sys_id');
	
	console.log('sid: + ' + sid);

	var grHist = new GlideRecord('sys_history_set');
	grHist.addQuery('id',sid);
	grHist.query();
	
	console.log('row count: + ' + grHist.getRowCount());
	
	var filtro = '';
	
	if(grHist.next()){
		filtro = 'set=' + grHist.sys_id +'^labelINAssigned to,Description,Escalation,Approval,Resolved,Task type'; 
		data.filter = filtro;
	}
	

	
	var gr = new GlideRecordSecure(data.table);
	if (!gr.isValid()) {
		data.invalid_table = true;
		data.table_label = data.table;
		return;
	}
	data.table_label = gr.getLabel();

	options.table = data.table;
	options.fields = data.field_list;
	options.o=data.o;
	options.d= data.d;
	options.filter=data.filter;
	options.window_size=data.window_size;
	options.view = data.view;
	options.useInstanceTitle = true; // to make sure Data Table widget uses headerTitle always
	options.headerTitle = options.title;
	options.show_breadcrumbs = false;
	options.enable_filter = false;
	options.show_keywords = true;
	
	
	data.dataTableWidget = $sp.getWidget('widget-data-table', options);
})();
0 REPLIES 0