PageSourceSearch

https://www.also.pt/ec/js/pegasos-messages/1.3/pegasos-messages_on_position.js?v=buildNumber

js also.pt collected 2026-10-09 22:41:48 UTC 5,415 bytes, 171 lines download raw bytes

1function PegasosMessagesOnPosition() {
2
3	var self = this;
4	
5	self.removeClientFieldMessages = function() {
6		var $clientFieldMessages = 	$(".clientFieldMessages");
7		
8		for (var i = 0; i < $clientFieldMessages.length; i++) {
9			var $clientFieldMessage = $clientFieldMessages.eq(i);
10			if ($clientFieldMessage.data("position") === "AFFE") {
11				var $serialLabel = $clientFieldMessage.parent("label");
12				$serialLabel.removeClass("error");
13			}
14		}	
15		$clientFieldMessages.removeClass('clientFieldMessages').text("");
16	};
17	
18	self.splitMessagePositions = function(messages){
19		
20		var messagesForGlobalMessageContainer = {};
21		
22		$(".clientDataIndexMessages").remove();
23		
24		self.removeClientFieldMessages();		
25		
26		if(!!messages){
27			
28			if( !!messages.errors && messages.errors.length != 0){
29				messagesForGlobalMessageContainer.errors = self.printDataIndexAndFieldMessages(messages.errors, "error");
30			}
31			if( !!messages.warnings && messages.warnings.length != 0){
32				messagesForGlobalMessageContainer.warnings = self.printDataIndexAndFieldMessages(messages.warnings, "warning");
33			}
34			if( !!messages.infos && messages.infos.length != 0){
35				messagesForGlobalMessageContainer.infos = self.printDataIndexAndFieldMessages(messages.infos, "info");
36			}
37		}
38		return messagesForGlobalMessageContainer;
39	}
40
41	self.printDataIndexAndFieldMessages = function(messages, type){
42		
43		var messagesForGlobalMessageContainer = [];
44		
45		messages.forEach(function (message) {
46			
47			var dataIndex = message.dataIndex;
48			var field = message.field;
49			
50			if(self.isGlobalMessage(dataIndex)){
51				messagesForGlobalMessageContainer.push(message);
52			
53			} else if(self.isDataIndexMessage(dataIndex, field)){ 
54				
55				var messageAssigned = self.createDataIndexMessageAndAssign(message, type);
56				if(!messageAssigned){
57					messagesForGlobalMessageContainer.push(message);
58				}
59				
60			} else if(self.isFieldMessage(dataIndex, field)){
61			
62				var messageAssigned = self.createFieldMessageAndAssign(message, type);
63				if(!messageAssigned){
64					
65					var messageAssigned = self.createDataIndexMessageAndAssign(message, type);
66					if(!messageAssigned){
67						messagesForGlobalMessageContainer.push(message);
68					}
69				}
70			}
71		});
72		
73		return messagesForGlobalMessageContainer;
74	};
75
76	self.createFieldMessageAndAssign = function(message, type){
77		
78		var dataIndex = message.dataIndex;
79		var field = message.field;
80		
81		var dataEntry = $('.clientDataIndex_' + dataIndex).find("[data-field=" + field + "]");
82		
83		if(dataEntry.length > 0){
84					
85			$.each(dataEntry, function(index, entry){
86				
87				var clientFieldMessagesBox = "<div class=\"message onPosition clientFieldMessages\">" + generateMessageObject(type, message.text) + "</div>";
88				
89				var position = $(dataEntry[index]).data("position");
90				
91				switch(position) {
92					case "before":
93						$(entry).before(clientFieldMessagesBox);
94						break;
95					case "inside":
96						$(entry).addClass('clientFieldMessages').text(message.text);
97						break;
98					case "none-highlight-background":
99						var classToAdd = "";
100						if (type === "warning") {
101							classToAdd = "bg-warning";
102						}
103						else if (type === "error") {
104							classToAdd = "bg-danger";
105						}
106						
107						$(entry).addClass('clientFieldMessages ' + classToAdd).attr("title", message.text);
108						break;
109					case "bootstrap-form":
110						var $parentLabel = $(entry).parents(".form-group").find("label");
111						$parentLabel.after(clientFieldMessagesBox);
112						break;
113					case "AFFE":
114						var $parentLabel = $(entry).parents("label");
115						if (type === "warning" || type === "error") {
116							$parentLabel.addClass('error');
117						}						
118						var affeMessagesBox = "<span class=\"message onPosition clientFieldMessages\" data-position=\"AFFE\">" + message.text + "</span>";
119						$parentLabel.append(affeMessagesBox);
120						break;
121					default:
122						$(entry).after(clientFieldMessagesBox);
123				}
124			});
125				
126			return true;
127		}
128		return false;
129	};
130
131	self.createDataIndexMessageAndAssign = function(message, type){
132		
133		var $clientDataMessages =  $('#clientDataIndexMessages_' + message.dataIndex);
134		
135		if($clientDataMessages.length == 0){
136			var dataRow = $(".clientDataIndex_" + message.dataIndex);
137			if(dataRow.length === 1){
138				
139				var clientDataIndexMessagesBox = $('<div />', {id : 'clientDataIndexMessages_' + message.dataIndex}).addClass('clientDataIndexMessages');
140				dataRow.prepend(clientDataIndexMessagesBox);
141				$clientDataMessages = clientDataIndexMessagesBox;
142			} else {
143				return false;
144			}
145		}
146
147		if($clientDataMessages.children().length === 0){
148			var messageString = generateMessageObject(type, message.text + "<br />");
149			$clientDataMessages.append(messageString);
150		} else {
151			var messageString = message.text + "<br />";
152			$clientDataMessages.children().append(messageString);
153		}
154		
155		return true;
156	};
157
158	self.isGlobalMessage = function (dataIndex){
159		return typeof(dataIndex) === "undefined" || dataIndex == null;
160	};
161
162	self.isDataIndexMessage = function(dataIndex, field){
163		return dataIndex != null && field == null;
164	};
165
166	self.isFieldMessage = function(dataIndex, field){
167		return dataIndex != null && field != null;
168	};
169}
170
171var MessagesOnPosition = new PegasosMessagesOnPosition();

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.