<commit_before>/*
 * Copyright (C) 2013 salesforce.com, inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *         http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
({
	CONSTANTS : {ASC: 'ASC', DESC: 'DESC', DESC_PREFIX: "-", CONTAINER_ELEMENT_ID: 'listSorter'},
		
	doInit : function(cmp) {
		this.initSorterTrigger(cmp);
		this.initDataProvider(cmp);
		this.initItems(cmp, cmp.get('v.items'), cmp.get('v.defaultSelectedItem'));
	},
	
	initSorterTrigger : function(cmp) {		
		var trigger = cmp.get('v.trigger'),
			triggerLabel = cmp.get('v.triggerLabel');
		
		if (trigger && trigger.length > 0) {
			if (triggerLabel) {
				trigger[0].set("v.label", triggerLabel);
			}
			trigger[0].addHandler('click', cmp, 'c.onOpen');
		} else {
			var menuTrigger = $A.componentService.newComponentDeprecated({
	            "componentDef" : {
	            	"descriptor" : "markup://ui:menuTriggerLink"
	            },
	            "attributes" : {
	            	"values" : {
	            		"label": triggerLabel
	            	}
	            }});			
			menuTrigger.addHandler('click', cmp, 'c.onOpen');
			cmp.set('v.trigger', menuTrigger);
		}
	},
	
	initDataProvider: function(cmp) {
        var dataProviders = cmp.get("v.dataProvider");
        
        if ($A.util.isArray(dataProviders)) {
        	cmp._dataProviders = dataProviders;<commit_msg>Fix listsorter accessbility bug when trigger is not passed in.<commit_after>/*
 * Copyright (C) 2013 salesforce.com, inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *         http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
({
	CONSTANTS : {ASC: 'ASC', DESC: 'DESC', DESC_PREFIX: "-", CONTAINER_ELEMENT_ID: 'listSorter'},
		
	doInit : function(cmp) {
		this.initSorterTrigger(cmp);
		this.initDataProvider(cmp);
		this.initItems(cmp, cmp.get('v.items'), cmp.get('v.defaultSelectedItem'));
	},
	
	initSorterTrigger : function(cmp) {		
		var trigger = cmp.get('v.trigger'),
			triggerLabel = cmp.get('v.triggerLabel');
		
		if (trigger && trigger.length > 0) {
			if (triggerLabel) {
				trigger[0].set("v.label", triggerLabel);
			}
			trigger[0].addHandler('click', cmp, 'c.onOpen');
		} else if (triggerLabel) {
			var menuTrigger = $A.componentService.newComponentDeprecated({
	            "componentDef" : {
	            	"descriptor" : "markup://ui:menuTriggerLink"
	            },
	            "attributes" : {
	            	"values" : {
	            		"label": triggerLabel
	            	}
	            }});			
			menuTrigger.addHandler('click', cmp, 'c.onOpen');
			cmp.set('v.trigger', menuTrigger);
		}
	},
	
	initDataProvider: function(cmp) {
        var dataProviders = cmp.get("v.dataProvider");
        
        if ($A.util.isArray(dataProviders)) {
        	cmp._dataProviders = dataProviders;
{'fraction_non_alphanumeric': 0.13197278911564625, 'fraction_numerical': 0.00598639455782313, 'mean_word_length': 2.939978563772776, 'pattern_counts': {'":': 2, '<': 3, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5712645', 'n_tokens_mistral': 1203, 'n_tokens_neox': 1098, 'n_words': 294}