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 = (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 = (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 |
|