UNPKG

16.1 kBJavaScriptView Raw
1(function (global, factory) {
2 typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
3 typeof define === 'function' && define.amd ? define('primeng/utils', ['exports'], factory) :
4 (global = global || self, factory((global.primeng = global.primeng || {}, global.primeng.utils = {})));
5}(this, (function (exports) { 'use strict';
6
7 var __values = (this && this.__values) || function(o) {
8 var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
9 if (m) return m.call(o);
10 if (o && typeof o.length === "number") return {
11 next: function () {
12 if (o && i >= o.length) o = void 0;
13 return { value: o && o[i++], done: !o };
14 }
15 };
16 throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
17 };
18 var ObjectUtils = /** @class */ (function () {
19 function ObjectUtils() {
20 }
21 ObjectUtils.equals = function (obj1, obj2, field) {
22 if (field)
23 return (this.resolveFieldData(obj1, field) === this.resolveFieldData(obj2, field));
24 else
25 return this.equalsByValue(obj1, obj2);
26 };
27 ObjectUtils.equalsByValue = function (obj1, obj2) {
28 if (obj1 === obj2)
29 return true;
30 if (obj1 && obj2 && typeof obj1 == 'object' && typeof obj2 == 'object') {
31 var arrA = Array.isArray(obj1), arrB = Array.isArray(obj2), i, length, key;
32 if (arrA && arrB) {
33 length = obj1.length;
34 if (length != obj2.length)
35 return false;
36 for (i = length; i-- !== 0;)
37 if (!this.equalsByValue(obj1[i], obj2[i]))
38 return false;
39 return true;
40 }
41 if (arrA != arrB)
42 return false;
43 var dateA = obj1 instanceof Date, dateB = obj2 instanceof Date;
44 if (dateA != dateB)
45 return false;
46 if (dateA && dateB)
47 return obj1.getTime() == obj2.getTime();
48 var regexpA = obj1 instanceof RegExp, regexpB = obj2 instanceof RegExp;
49 if (regexpA != regexpB)
50 return false;
51 if (regexpA && regexpB)
52 return obj1.toString() == obj2.toString();
53 var keys = Object.keys(obj1);
54 length = keys.length;
55 if (length !== Object.keys(obj2).length)
56 return false;
57 for (i = length; i-- !== 0;)
58 if (!Object.prototype.hasOwnProperty.call(obj2, keys[i]))
59 return false;
60 for (i = length; i-- !== 0;) {
61 key = keys[i];
62 if (!this.equalsByValue(obj1[key], obj2[key]))
63 return false;
64 }
65 return true;
66 }
67 return obj1 !== obj1 && obj2 !== obj2;
68 };
69 ObjectUtils.resolveFieldData = function (data, field) {
70 if (data && field) {
71 if (this.isFunction(field)) {
72 return field(data);
73 }
74 else if (field.indexOf('.') == -1) {
75 return data[field];
76 }
77 else {
78 var fields = field.split('.');
79 var value = data;
80 for (var i = 0, len = fields.length; i < len; ++i) {
81 if (value == null) {
82 return null;
83 }
84 value = value[fields[i]];
85 }
86 return value;
87 }
88 }
89 else {
90 return null;
91 }
92 };
93 ObjectUtils.isFunction = function (obj) {
94 return !!(obj && obj.constructor && obj.call && obj.apply);
95 };
96 ObjectUtils.reorderArray = function (value, from, to) {
97 var target;
98 if (value && from !== to) {
99 if (to >= value.length) {
100 to %= value.length;
101 from %= value.length;
102 }
103 value.splice(to, 0, value.splice(from, 1)[0]);
104 }
105 };
106 ObjectUtils.generateSelectItems = function (val, field) {
107 var e_1, _a;
108 var selectItems;
109 if (val && val.length) {
110 selectItems = [];
111 try {
112 for (var val_1 = __values(val), val_1_1 = val_1.next(); !val_1_1.done; val_1_1 = val_1.next()) {
113 var item = val_1_1.value;
114 selectItems.push({ label: this.resolveFieldData(item, field), value: item });
115 }
116 }
117 catch (e_1_1) { e_1 = { error: e_1_1 }; }
118 finally {
119 try {
120 if (val_1_1 && !val_1_1.done && (_a = val_1.return)) _a.call(val_1);
121 }
122 finally { if (e_1) throw e_1.error; }
123 }
124 }
125 return selectItems;
126 };
127 ObjectUtils.insertIntoOrderedArray = function (item, index, arr, sourceArr) {
128 if (arr.length > 0) {
129 var injected = false;
130 for (var i = 0; i < arr.length; i++) {
131 var currentItemIndex = this.findIndexInList(arr[i], sourceArr);
132 if (currentItemIndex > index) {
133 arr.splice(i, 0, item);
134 injected = true;
135 break;
136 }
137 }
138 if (!injected) {
139 arr.push(item);
140 }
141 }
142 else {
143 arr.push(item);
144 }
145 };
146 ObjectUtils.findIndexInList = function (item, list) {
147 var index = -1;
148 if (list) {
149 for (var i = 0; i < list.length; i++) {
150 if (list[i] == item) {
151 index = i;
152 break;
153 }
154 }
155 }
156 return index;
157 };
158 ObjectUtils.removeAccents = function (str) {
159 if (str && str.search(/[\xC0-\xFF]/g) > -1) {
160 str = str
161 .replace(/[\xC0-\xC5]/g, "A")
162 .replace(/[\xC6]/g, "AE")
163 .replace(/[\xC7]/g, "C")
164 .replace(/[\xC8-\xCB]/g, "E")
165 .replace(/[\xCC-\xCF]/g, "I")
166 .replace(/[\xD0]/g, "D")
167 .replace(/[\xD1]/g, "N")
168 .replace(/[\xD2-\xD6\xD8]/g, "O")
169 .replace(/[\xD9-\xDC]/g, "U")
170 .replace(/[\xDD]/g, "Y")
171 .replace(/[\xDE]/g, "P")
172 .replace(/[\xE0-\xE5]/g, "a")
173 .replace(/[\xE6]/g, "ae")
174 .replace(/[\xE7]/g, "c")
175 .replace(/[\xE8-\xEB]/g, "e")
176 .replace(/[\xEC-\xEF]/g, "i")
177 .replace(/[\xF1]/g, "n")
178 .replace(/[\xF2-\xF6\xF8]/g, "o")
179 .replace(/[\xF9-\xFC]/g, "u")
180 .replace(/[\xFE]/g, "p")
181 .replace(/[\xFD\xFF]/g, "y");
182 }
183 return str;
184 };
185 return ObjectUtils;
186 }());
187
188 var __values$1 = (this && this.__values) || function(o) {
189 var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
190 if (m) return m.call(o);
191 if (o && typeof o.length === "number") return {
192 next: function () {
193 if (o && i >= o.length) o = void 0;
194 return { value: o && o[i++], done: !o };
195 }
196 };
197 throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
198 };
199 var FilterUtils = /** @class */ (function () {
200 function FilterUtils() {
201 }
202 FilterUtils.filter = function (value, fields, filterValue, filterMatchMode, filterLocale) {
203 var e_1, _a, e_2, _b;
204 var filteredItems = [];
205 var filterText = ObjectUtils.removeAccents(filterValue).toLocaleLowerCase(filterLocale);
206 if (value) {
207 try {
208 for (var value_1 = __values$1(value), value_1_1 = value_1.next(); !value_1_1.done; value_1_1 = value_1.next()) {
209 var item = value_1_1.value;
210 try {
211 for (var fields_1 = (e_2 = void 0, __values$1(fields)), fields_1_1 = fields_1.next(); !fields_1_1.done; fields_1_1 = fields_1.next()) {
212 var field = fields_1_1.value;
213 var fieldValue = ObjectUtils.removeAccents(String(ObjectUtils.resolveFieldData(item, field))).toLocaleLowerCase(filterLocale);
214 if (FilterUtils[filterMatchMode](fieldValue, filterText, filterLocale)) {
215 filteredItems.push(item);
216 break;
217 }
218 }
219 }
220 catch (e_2_1) { e_2 = { error: e_2_1 }; }
221 finally {
222 try {
223 if (fields_1_1 && !fields_1_1.done && (_b = fields_1.return)) _b.call(fields_1);
224 }
225 finally { if (e_2) throw e_2.error; }
226 }
227 }
228 }
229 catch (e_1_1) { e_1 = { error: e_1_1 }; }
230 finally {
231 try {
232 if (value_1_1 && !value_1_1.done && (_a = value_1.return)) _a.call(value_1);
233 }
234 finally { if (e_1) throw e_1.error; }
235 }
236 }
237 return filteredItems;
238 };
239 FilterUtils.startsWith = function (value, filter, filterLocale) {
240 if (filter === undefined || filter === null || filter.trim() === '') {
241 return true;
242 }
243 if (value === undefined || value === null) {
244 return false;
245 }
246 var filterValue = ObjectUtils.removeAccents(filter.toString()).toLocaleLowerCase(filterLocale);
247 var stringValue = ObjectUtils.removeAccents(value.toString()).toLocaleLowerCase(filterLocale);
248 return stringValue.slice(0, filterValue.length) === filterValue;
249 };
250 FilterUtils.contains = function (value, filter, filterLocale) {
251 if (filter === undefined || filter === null || (typeof filter === 'string' && filter.trim() === '')) {
252 return true;
253 }
254 if (value === undefined || value === null) {
255 return false;
256 }
257 var filterValue = ObjectUtils.removeAccents(filter.toString()).toLocaleLowerCase(filterLocale);
258 var stringValue = ObjectUtils.removeAccents(value.toString()).toLocaleLowerCase(filterLocale);
259 return stringValue.indexOf(filterValue) !== -1;
260 };
261 FilterUtils.endsWith = function (value, filter, filterLocale) {
262 if (filter === undefined || filter === null || filter.trim() === '') {
263 return true;
264 }
265 if (value === undefined || value === null) {
266 return false;
267 }
268 var filterValue = ObjectUtils.removeAccents(filter.toString()).toLocaleLowerCase(filterLocale);
269 var stringValue = ObjectUtils.removeAccents(value.toString()).toLocaleLowerCase(filterLocale);
270 return stringValue.indexOf(filterValue, stringValue.length - filterValue.length) !== -1;
271 };
272 FilterUtils.equals = function (value, filter, filterLocale) {
273 if (filter === undefined || filter === null || (typeof filter === 'string' && filter.trim() === '')) {
274 return true;
275 }
276 if (value === undefined || value === null) {
277 return false;
278 }
279 if (value.getTime && filter.getTime)
280 return value.getTime() === filter.getTime();
281 else
282 return ObjectUtils.removeAccents(value.toString()).toLocaleLowerCase(filterLocale) == ObjectUtils.removeAccents(filter.toString()).toLocaleLowerCase(filterLocale);
283 };
284 FilterUtils.notEquals = function (value, filter, filterLocale) {
285 if (filter === undefined || filter === null || (typeof filter === 'string' && filter.trim() === '')) {
286 return false;
287 }
288 if (value === undefined || value === null) {
289 return true;
290 }
291 if (value.getTime && filter.getTime)
292 return value.getTime() !== filter.getTime();
293 else
294 return ObjectUtils.removeAccents(value.toString()).toLocaleLowerCase(filterLocale) != ObjectUtils.removeAccents(filter.toString()).toLocaleLowerCase(filterLocale);
295 };
296 FilterUtils.in = function (value, filter, filterLocale) {
297 if (filter === undefined || filter === null || filter.length === 0) {
298 return true;
299 }
300 if (value === undefined || value === null) {
301 return false;
302 }
303 for (var i = 0; i < filter.length; i++) {
304 if (ObjectUtils.equals(value, filter[i])) {
305 return true;
306 }
307 }
308 return false;
309 };
310 FilterUtils.lt = function (value, filter, filterLocale) {
311 if (filter === undefined || filter === null) {
312 return true;
313 }
314 if (value === undefined || value === null) {
315 return false;
316 }
317 if (value.getTime && filter.getTime)
318 return value.getTime() < filter.getTime();
319 else
320 return value < filter;
321 };
322 FilterUtils.lte = function (value, filter, filterLocale) {
323 if (filter === undefined || filter === null) {
324 return true;
325 }
326 if (value === undefined || value === null) {
327 return false;
328 }
329 if (value.getTime && filter.getTime)
330 return value.getTime() <= filter.getTime();
331 else
332 return value <= filter;
333 };
334 FilterUtils.gt = function (value, filter, filterLocale) {
335 if (filter === undefined || filter === null) {
336 return true;
337 }
338 if (value === undefined || value === null) {
339 return false;
340 }
341 if (value.getTime && filter.getTime)
342 return value.getTime() > filter.getTime();
343 else
344 return value > filter;
345 };
346 FilterUtils.gte = function (value, filter, filterLocale) {
347 if (filter === undefined || filter === null) {
348 return true;
349 }
350 if (value === undefined || value === null) {
351 return false;
352 }
353 if (value.getTime && filter.getTime)
354 return value.getTime() >= filter.getTime();
355 else
356 return value >= filter;
357 };
358 return FilterUtils;
359 }());
360
361 exports.lastId = 0;
362 function UniqueComponentId() {
363 var prefix = 'pr_id_';
364 exports.lastId++;
365 return "" + prefix + exports.lastId;
366 }
367
368 exports.FilterUtils = FilterUtils;
369 exports.ObjectUtils = ObjectUtils;
370 exports.UniqueComponentId = UniqueComponentId;
371
372 Object.defineProperty(exports, '__esModule', { value: true });
373
374})));
375//# sourceMappingURL=primeng-utils.umd.js.map