hoodcms 5.0.7 → 5.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/dist/js/admin.js +5 -5
  2. package/dist/js/app.js +2 -3
  3. package/dist/js/core/Alerts.d.ts +22 -0
  4. package/dist/js/core/Alerts.js +151 -0
  5. package/dist/js/core/BaseSite.d.ts +6 -0
  6. package/dist/js/core/BaseSite.js +14 -0
  7. package/dist/js/core/ColorPicker.d.ts +5 -0
  8. package/dist/js/core/ColorPicker.js +71 -0
  9. package/dist/js/core/DataList.d.ts +35 -0
  10. package/dist/js/core/DataList.js +56 -0
  11. package/dist/js/core/Editors.d.ts +16 -0
  12. package/dist/js/core/Editors.js +137 -0
  13. package/dist/js/core/Handlers.d.ts +47 -0
  14. package/dist/js/core/Handlers.js +160 -0
  15. package/dist/js/core/HoodApi.d.ts +25 -0
  16. package/dist/js/core/HoodApi.js +22 -0
  17. package/dist/js/core/Inline.d.ts +27 -0
  18. package/dist/js/core/Inline.js +63 -0
  19. package/dist/js/core/Loader.d.ts +5 -0
  20. package/dist/js/core/Loader.js +13 -0
  21. package/dist/js/core/Media.d.ts +113 -0
  22. package/dist/js/core/Media.js +363 -0
  23. package/dist/js/core/Modal.d.ts +35 -0
  24. package/dist/js/core/Modal.js +69 -0
  25. package/dist/js/core/RandomStringGenerator.d.ts +11 -0
  26. package/dist/js/core/RandomStringGenerator.js +23 -0
  27. package/dist/js/core/Response.d.ts +20 -0
  28. package/dist/js/core/Response.js +13 -0
  29. package/dist/js/core/Uploader.d.ts +7 -0
  30. package/dist/js/core/Uploader.js +134 -0
  31. package/dist/js/core/Validator.d.ts +27 -0
  32. package/dist/js/core/Validator.js +80 -0
  33. package/dist/js/extensions/jqueryExtensions.d.ts +11 -0
  34. package/dist/js/extensions/jqueryExtensions.js +99 -0
  35. package/dist/js/extensions/numberExtensions.d.ts +8 -0
  36. package/dist/js/extensions/numberExtensions.js +19 -0
  37. package/dist/js/extensions/stringExtensions.d.ts +12 -0
  38. package/dist/js/extensions/stringExtensions.js +49 -0
  39. package/dist/js/index.d.ts +22 -0
  40. package/dist/js/index.js +22 -0
  41. package/dist/js/interfaces/KeyValue.d.ts +4 -0
  42. package/dist/js/interfaces/KeyValue.js +1 -0
  43. package/dist/js/login.js +1 -1
  44. package/dist/js/models/Content.d.ts +50 -0
  45. package/dist/js/models/Content.js +1 -0
  46. package/dist/js/models/Property.d.ts +9 -0
  47. package/dist/js/models/Property.js +2 -0
  48. package/dist/js/models/Users.d.ts +7 -0
  49. package/dist/js/models/Users.js +2 -0
  50. package/package.json +5 -2
  51. package/src/css/admin.css.map +1 -1
  52. package/src/css/editor.css.map +1 -1
  53. package/src/css/login.css.map +1 -1
  54. package/src/js/admin.js +231 -221
  55. package/src/js/admin.js.map +1 -1
  56. package/src/js/app.js +1 -172
  57. package/src/js/app.js.map +1 -1
  58. package/src/js/login.js +1 -1
  59. package/src/scss/admin.scss +2 -6
  60. package/src/scss/editor.scss +2 -3
  61. package/src/scss/login.scss +2 -16
  62. package/src/ts/admin.ts +2 -6
  63. package/src/ts/app.ts +0 -2
  64. package/src/ts/core/BaseSite.ts +21 -0
  65. package/src/ts/index.ts +25 -0
  66. package/src/ts/hood.ts +0 -5
package/src/js/admin.js CHANGED
@@ -1,14 +1,14 @@
1
1
  /*!
2
- * hoodcms v5.0.7
2
+ * hoodcms v5.0.8
3
3
  * A fully customisable content management system built in ASP.NET Core 5 & Bootstrap 5.
4
4
  * Written by George Whysall, 2021
5
5
  * Released under the GPL-3.0 License.
6
6
  */
7
7
  (function (global, factory) {
8
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('sweetalert2'), require('bootstrap'), require('@simonwep/pickr'), require('tinymce/tinymce'), require('chart.js')) :
9
- typeof define === 'function' && define.amd ? define(['exports', 'sweetalert2', 'bootstrap', '@simonwep/pickr', 'tinymce/tinymce', 'chart.js'], factory) :
10
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.HoodCMS = {}, global.Swal, global.bootstrap, global.Pickr, global.tinymce, global.Chart));
11
- })(this, (function (exports, swal, bootstrap, Pickr, tinymce, chart_js) { 'use strict';
8
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('bootstrap'), require('sweetalert2'), require('@simonwep/pickr'), require('tinymce/tinymce'), require('chart.js')) :
9
+ typeof define === 'function' && define.amd ? define(['bootstrap', 'sweetalert2', '@simonwep/pickr', 'tinymce/tinymce', 'chart.js'], factory) :
10
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.bootstrap, global.Swal, global.Pickr, global.tinymce, global.Chart));
11
+ })(this, (function (bootstrap, swal, Pickr, tinymce, chart_js) { 'use strict';
12
12
 
13
13
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
14
14
 
@@ -30,8 +30,8 @@
30
30
  return Object.freeze(n);
31
31
  }
32
32
 
33
- var swal__default = /*#__PURE__*/_interopDefaultLegacy(swal);
34
33
  var bootstrap__namespace = /*#__PURE__*/_interopNamespace(bootstrap);
34
+ var swal__default = /*#__PURE__*/_interopDefaultLegacy(swal);
35
35
  var Pickr__default = /*#__PURE__*/_interopDefaultLegacy(Pickr);
36
36
  var tinymce__default = /*#__PURE__*/_interopDefaultLegacy(tinymce);
37
37
 
@@ -253,176 +253,6 @@
253
253
  return Alerts;
254
254
  }());
255
255
 
256
- $.fn.exists = function () {
257
- return $(this).length;
258
- };
259
- $.fn.restrictToSlug = function (restrictPattern) {
260
- if (restrictPattern === void 0) { restrictPattern = /[^0-9a-zA-Z]*/g; }
261
- var targets = $(this);
262
- // The characters inside this pattern are accepted
263
- // and everything else will be 'cleaned'
264
- // For example 'ABCdEfGhI5' become 'ABCEGI5'
265
- var restrictHandler = function () {
266
- var val = $(this).val();
267
- var newVal = val.replace(restrictPattern, '');
268
- // This condition is to prevent selection and keyboard navigation issues
269
- if (val !== newVal) {
270
- $(this).val(newVal);
271
- }
272
- };
273
- targets.on('keyup', restrictHandler);
274
- targets.on('paste', restrictHandler);
275
- targets.on('change', restrictHandler);
276
- };
277
- $.fn.restrictToPageSlug = function (restrictPattern) {
278
- if (restrictPattern === void 0) { restrictPattern = /[^0-9a-zA-Z-//]*/g; }
279
- var targets = $(this);
280
- // The characters inside this pattern are accepted
281
- // and everything else will be 'cleaned'
282
- var restrictHandler = function () {
283
- var val = $(this).val();
284
- var newVal = val.replace(restrictPattern, '');
285
- if ((newVal.match(new RegExp("/", "g")) || []).length > 4) {
286
- var pos = newVal.lastIndexOf('/');
287
- newVal = newVal.substring(0, pos) + newVal.substring(pos + 1);
288
- Alerts.warning("You can only have up to 4 '/' characters in a url slug.");
289
- }
290
- // This condition is to prevent selection and keyboard navigation issues
291
- if (val !== newVal) {
292
- $(this).val(newVal);
293
- }
294
- };
295
- targets.on('keyup', restrictHandler);
296
- targets.on('paste', restrictHandler);
297
- targets.on('change', restrictHandler);
298
- };
299
- $.fn.restrictToMetaSlug = function (restrictPattern) {
300
- if (restrictPattern === void 0) { restrictPattern = /[^0-9a-zA-Z.]*/g; }
301
- var targets = $(this);
302
- // The characters inside this pattern are accepted
303
- // and everything else will be 'cleaned'
304
- var restrictHandler = function () {
305
- var val = $(this).val();
306
- var newVal = val.replace(restrictPattern, '');
307
- if ((newVal.match(new RegExp(".", "g")) || []).length > 1) {
308
- var pos = newVal.lastIndexOf('.');
309
- newVal = newVal.substring(0, pos) + newVal.substring(pos + 1);
310
- Alerts.warning("You can only have up to 1 '.' characters in a meta slug.");
311
- }
312
- // This condition is to prevent selection and keyboard navigation issues
313
- if (val !== newVal) {
314
- $(this).val(newVal);
315
- }
316
- };
317
- targets.on('keyup', restrictHandler);
318
- targets.on('paste', restrictHandler);
319
- targets.on('change', restrictHandler);
320
- };
321
- $.fn.characterCounter = function () {
322
- var targets = $(this);
323
- var characterCounterHandler = function () {
324
- var counter = $(this).data('counter');
325
- var max = Number($(this).attr('maxlength'));
326
- var len = $(this).val().length;
327
- $(counter).text(max - len);
328
- var cls = "text-success";
329
- if (max - len < max / 10)
330
- cls = "text-danger";
331
- $(counter).parent().removeClass('text-success').removeClass('text-danger').addClass(cls);
332
- };
333
- targets.on('keyup', characterCounterHandler);
334
- targets.on('paste', characterCounterHandler);
335
- targets.on('change', characterCounterHandler);
336
- };
337
- $.fn.warningAlert = function () {
338
- var targets = $(this);
339
- var warningAlertHandler = function (e) {
340
- e.preventDefault();
341
- var warningAlertCallback = function (result) {
342
- if (result.isConfirmed) {
343
- var url = $(e.currentTarget).attr('href');
344
- window.location.href = url;
345
- }
346
- };
347
- Alerts.confirm({
348
- title: $(e.currentTarget).data('title'),
349
- html: $(e.currentTarget).data('warning'),
350
- footer: $(e.currentTarget).data('footer'),
351
- icon: 'warning'
352
- }, warningAlertCallback);
353
- return false;
354
- };
355
- targets.on('click', warningAlertHandler);
356
- };
357
-
358
- Number.prototype.formatCurrency = function (currency) {
359
- return currency + " " + this.toFixed(2).replace(/./g, function (c, i, a) {
360
- return i > 0 && c !== "." && (a.length - i) % 3 === 0 ? "," + c : c;
361
- });
362
- };
363
- Number.prototype.formatKilobytes = function () {
364
- var n = this / 1024;
365
- return n.toFixed(0).replace(/./g, function (c, i, a) {
366
- return i > 0 && c !== "." && (a.length - i) % 3 === 0 ? "," + c : c;
367
- }) + "Kb";
368
- };
369
- Number.prototype.formatMegabytes = function () {
370
- var n = this / 1024;
371
- n = n / 1024;
372
- return n.toFixed(0).replace(/./g, function (c, i, a) {
373
- return i > 0 && c !== "." && (a.length - i) % 3 === 0 ? "," + c : c;
374
- }) + "Mb";
375
- };
376
-
377
- String.prototype.htmlEncode = function () {
378
- //create a in-memory div, set it's inner text(which jQuery automatically encodes)
379
- //then grab the encoded contents back out. The div never exists on the page.
380
- return $('<div/>').text(this).html();
381
- };
382
- String.prototype.htmlDecode = function () {
383
- return $('<div/>').html(this).text();
384
- };
385
- String.prototype.contains = function (it) {
386
- return this.indexOf(it) !== -1;
387
- };
388
- String.prototype.pick = function (min, max) {
389
- var n, chars = '';
390
- if (typeof max === 'undefined') {
391
- n = min;
392
- }
393
- else {
394
- n = min + Math.floor(Math.random() * (max - min));
395
- }
396
- for (var i = 0; i < n; i++) {
397
- chars += this.charAt(Math.floor(Math.random() * this.length));
398
- }
399
- return chars;
400
- };
401
- // Credit to @Christoph: http://stackoverflow.com/a/962890/464744
402
- String.prototype.shuffle = function () {
403
- var array = this.split('');
404
- var tmp, current, top = array.length;
405
- if (top)
406
- while (--top) {
407
- current = Math.floor(Math.random() * (top + 1));
408
- tmp = array[current];
409
- array[current] = array[top];
410
- array[top] = tmp;
411
- }
412
- return array.join('');
413
- };
414
- String.prototype.toSeoUrl = function () {
415
- var output = this.replace(/[^a-zA-Z0-9]/g, ' ').replace(/\s+/g, "-").toLowerCase();
416
- /* remove first dash */
417
- if (output.charAt(0) === '-')
418
- output = output.substring(1);
419
- /* remove last dash */
420
- var last = output.length - 1;
421
- if (output.charAt(last) === '-')
422
- output = output.substring(0, last);
423
- return output;
424
- };
425
-
426
256
  var ColorPickers = /** @class */ (function () {
427
257
  function ColorPickers() {
428
258
  }
@@ -493,21 +323,6 @@
493
323
  return ColorPickers;
494
324
  }());
495
325
 
496
- var Response = /** @class */ (function () {
497
- function Response() {
498
- }
499
- Response.process = function (data, autoHide) {
500
- if (autoHide === void 0) { autoHide = 5000; }
501
- if (data.success) {
502
- Alerts.success(data.message, data.title, autoHide);
503
- }
504
- else {
505
- Alerts.error(data.errors, data.title, autoHide);
506
- }
507
- };
508
- return Response;
509
- }());
510
-
511
326
  var Inline = /** @class */ (function () {
512
327
  function Inline() {
513
328
  }
@@ -635,6 +450,21 @@
635
450
  return DataList;
636
451
  }());
637
452
 
453
+ var Response = /** @class */ (function () {
454
+ function Response() {
455
+ }
456
+ Response.process = function (data, autoHide) {
457
+ if (autoHide === void 0) { autoHide = 5000; }
458
+ if (data.success) {
459
+ Alerts.success(data.message, data.title, autoHide);
460
+ }
461
+ else {
462
+ Alerts.error(data.errors, data.title, autoHide);
463
+ }
464
+ };
465
+ return Response;
466
+ }());
467
+
638
468
  var ModalController = /** @class */ (function () {
639
469
  function ModalController(options) {
640
470
  if (options === void 0) { options = null; }
@@ -1603,6 +1433,216 @@
1603
1433
  return HoodApi;
1604
1434
  }());
1605
1435
 
1436
+ var Loader = /** @class */ (function () {
1437
+ function Loader() {
1438
+ new CustomEvent('loader-show');
1439
+ new CustomEvent('loader-hide');
1440
+ }
1441
+ Loader.show = function () {
1442
+ $('body').trigger('loader-show');
1443
+ };
1444
+ Loader.hide = function () {
1445
+ $('body').trigger('loader-hide');
1446
+ };
1447
+ return Loader;
1448
+ }());
1449
+ new Loader();
1450
+
1451
+ var RandomStringGenerator = /** @class */ (function () {
1452
+ function RandomStringGenerator(options) {
1453
+ this.options = {
1454
+ specials: '!@#$&*',
1455
+ alpha: 'abcdefghijklmnopqrstuvwxyz',
1456
+ numeric: '0123456789',
1457
+ numSpecial: 2
1458
+ };
1459
+ this.options = __assign(__assign({}, this.options), options);
1460
+ }
1461
+ RandomStringGenerator.prototype.generate = function (length) {
1462
+ var password = '';
1463
+ var len = Math.ceil((length - this.options.numSpecial) / 2);
1464
+ for (var i = 0; i < len; i++) {
1465
+ password += this.options.alpha.charAt(Math.floor(Math.random() * this.options.alpha.length));
1466
+ password += this.options.numeric.charAt(Math.floor(Math.random() * this.options.numeric.length));
1467
+ }
1468
+ for (var j = 0; j < this.options.numSpecial; j++)
1469
+ password += this.options.specials.charAt(Math.floor(Math.random() * this.options.specials.length));
1470
+ password = password.split('').sort(function () { return 0.5 - Math.random(); }).join('');
1471
+ return password;
1472
+ };
1473
+ return RandomStringGenerator;
1474
+ }());
1475
+
1476
+ $.fn.exists = function () {
1477
+ return $(this).length;
1478
+ };
1479
+ $.fn.restrictToSlug = function (restrictPattern) {
1480
+ if (restrictPattern === void 0) { restrictPattern = /[^0-9a-zA-Z]*/g; }
1481
+ var targets = $(this);
1482
+ // The characters inside this pattern are accepted
1483
+ // and everything else will be 'cleaned'
1484
+ // For example 'ABCdEfGhI5' become 'ABCEGI5'
1485
+ var restrictHandler = function () {
1486
+ var val = $(this).val();
1487
+ var newVal = val.replace(restrictPattern, '');
1488
+ // This condition is to prevent selection and keyboard navigation issues
1489
+ if (val !== newVal) {
1490
+ $(this).val(newVal);
1491
+ }
1492
+ };
1493
+ targets.on('keyup', restrictHandler);
1494
+ targets.on('paste', restrictHandler);
1495
+ targets.on('change', restrictHandler);
1496
+ };
1497
+ $.fn.restrictToPageSlug = function (restrictPattern) {
1498
+ if (restrictPattern === void 0) { restrictPattern = /[^0-9a-zA-Z-//]*/g; }
1499
+ var targets = $(this);
1500
+ // The characters inside this pattern are accepted
1501
+ // and everything else will be 'cleaned'
1502
+ var restrictHandler = function () {
1503
+ var val = $(this).val();
1504
+ var newVal = val.replace(restrictPattern, '');
1505
+ if ((newVal.match(new RegExp("/", "g")) || []).length > 4) {
1506
+ var pos = newVal.lastIndexOf('/');
1507
+ newVal = newVal.substring(0, pos) + newVal.substring(pos + 1);
1508
+ Alerts.warning("You can only have up to 4 '/' characters in a url slug.");
1509
+ }
1510
+ // This condition is to prevent selection and keyboard navigation issues
1511
+ if (val !== newVal) {
1512
+ $(this).val(newVal);
1513
+ }
1514
+ };
1515
+ targets.on('keyup', restrictHandler);
1516
+ targets.on('paste', restrictHandler);
1517
+ targets.on('change', restrictHandler);
1518
+ };
1519
+ $.fn.restrictToMetaSlug = function (restrictPattern) {
1520
+ if (restrictPattern === void 0) { restrictPattern = /[^0-9a-zA-Z.]*/g; }
1521
+ var targets = $(this);
1522
+ // The characters inside this pattern are accepted
1523
+ // and everything else will be 'cleaned'
1524
+ var restrictHandler = function () {
1525
+ var val = $(this).val();
1526
+ var newVal = val.replace(restrictPattern, '');
1527
+ if ((newVal.match(new RegExp(".", "g")) || []).length > 1) {
1528
+ var pos = newVal.lastIndexOf('.');
1529
+ newVal = newVal.substring(0, pos) + newVal.substring(pos + 1);
1530
+ Alerts.warning("You can only have up to 1 '.' characters in a meta slug.");
1531
+ }
1532
+ // This condition is to prevent selection and keyboard navigation issues
1533
+ if (val !== newVal) {
1534
+ $(this).val(newVal);
1535
+ }
1536
+ };
1537
+ targets.on('keyup', restrictHandler);
1538
+ targets.on('paste', restrictHandler);
1539
+ targets.on('change', restrictHandler);
1540
+ };
1541
+ $.fn.characterCounter = function () {
1542
+ var targets = $(this);
1543
+ var characterCounterHandler = function () {
1544
+ var counter = $(this).data('counter');
1545
+ var max = Number($(this).attr('maxlength'));
1546
+ var len = $(this).val().length;
1547
+ $(counter).text(max - len);
1548
+ var cls = "text-success";
1549
+ if (max - len < max / 10)
1550
+ cls = "text-danger";
1551
+ $(counter).parent().removeClass('text-success').removeClass('text-danger').addClass(cls);
1552
+ };
1553
+ targets.on('keyup', characterCounterHandler);
1554
+ targets.on('paste', characterCounterHandler);
1555
+ targets.on('change', characterCounterHandler);
1556
+ };
1557
+ $.fn.warningAlert = function () {
1558
+ var targets = $(this);
1559
+ var warningAlertHandler = function (e) {
1560
+ e.preventDefault();
1561
+ var warningAlertCallback = function (result) {
1562
+ if (result.isConfirmed) {
1563
+ var url = $(e.currentTarget).attr('href');
1564
+ window.location.href = url;
1565
+ }
1566
+ };
1567
+ Alerts.confirm({
1568
+ title: $(e.currentTarget).data('title'),
1569
+ html: $(e.currentTarget).data('warning'),
1570
+ footer: $(e.currentTarget).data('footer'),
1571
+ icon: 'warning'
1572
+ }, warningAlertCallback);
1573
+ return false;
1574
+ };
1575
+ targets.on('click', warningAlertHandler);
1576
+ };
1577
+
1578
+ Number.prototype.formatCurrency = function (currency) {
1579
+ return currency + " " + this.toFixed(2).replace(/./g, function (c, i, a) {
1580
+ return i > 0 && c !== "." && (a.length - i) % 3 === 0 ? "," + c : c;
1581
+ });
1582
+ };
1583
+ Number.prototype.formatKilobytes = function () {
1584
+ var n = this / 1024;
1585
+ return n.toFixed(0).replace(/./g, function (c, i, a) {
1586
+ return i > 0 && c !== "." && (a.length - i) % 3 === 0 ? "," + c : c;
1587
+ }) + "Kb";
1588
+ };
1589
+ Number.prototype.formatMegabytes = function () {
1590
+ var n = this / 1024;
1591
+ n = n / 1024;
1592
+ return n.toFixed(0).replace(/./g, function (c, i, a) {
1593
+ return i > 0 && c !== "." && (a.length - i) % 3 === 0 ? "," + c : c;
1594
+ }) + "Mb";
1595
+ };
1596
+
1597
+ String.prototype.htmlEncode = function () {
1598
+ //create a in-memory div, set it's inner text(which jQuery automatically encodes)
1599
+ //then grab the encoded contents back out. The div never exists on the page.
1600
+ return $('<div/>').text(this).html();
1601
+ };
1602
+ String.prototype.htmlDecode = function () {
1603
+ return $('<div/>').html(this).text();
1604
+ };
1605
+ String.prototype.contains = function (it) {
1606
+ return this.indexOf(it) !== -1;
1607
+ };
1608
+ String.prototype.pick = function (min, max) {
1609
+ var n, chars = '';
1610
+ if (typeof max === 'undefined') {
1611
+ n = min;
1612
+ }
1613
+ else {
1614
+ n = min + Math.floor(Math.random() * (max - min));
1615
+ }
1616
+ for (var i = 0; i < n; i++) {
1617
+ chars += this.charAt(Math.floor(Math.random() * this.length));
1618
+ }
1619
+ return chars;
1620
+ };
1621
+ // Credit to @Christoph: http://stackoverflow.com/a/962890/464744
1622
+ String.prototype.shuffle = function () {
1623
+ var array = this.split('');
1624
+ var tmp, current, top = array.length;
1625
+ if (top)
1626
+ while (--top) {
1627
+ current = Math.floor(Math.random() * (top + 1));
1628
+ tmp = array[current];
1629
+ array[current] = array[top];
1630
+ array[top] = tmp;
1631
+ }
1632
+ return array.join('');
1633
+ };
1634
+ String.prototype.toSeoUrl = function () {
1635
+ var output = this.replace(/[^a-zA-Z0-9]/g, ' ').replace(/\s+/g, "-").toLowerCase();
1636
+ /* remove first dash */
1637
+ if (output.charAt(0) === '-')
1638
+ output = output.substring(1);
1639
+ /* remove last dash */
1640
+ var last = output.length - 1;
1641
+ if (output.charAt(last) === '-')
1642
+ output = output.substring(0, last);
1643
+ return output;
1644
+ };
1645
+
1606
1646
  var HomeController = /** @class */ (function () {
1607
1647
  function HomeController() {
1608
1648
  if ($('#admin-chart-area').length) {
@@ -2039,31 +2079,6 @@
2039
2079
  return PropertyController;
2040
2080
  }());
2041
2081
 
2042
- var RandomStringGenerator = /** @class */ (function () {
2043
- function RandomStringGenerator(options) {
2044
- this.options = {
2045
- specials: '!@#$&*',
2046
- alpha: 'abcdefghijklmnopqrstuvwxyz',
2047
- numeric: '0123456789',
2048
- numSpecial: 2
2049
- };
2050
- this.options = __assign(__assign({}, this.options), options);
2051
- }
2052
- RandomStringGenerator.prototype.generate = function (length) {
2053
- var password = '';
2054
- var len = Math.ceil((length - this.options.numSpecial) / 2);
2055
- for (var i = 0; i < len; i++) {
2056
- password += this.options.alpha.charAt(Math.floor(Math.random() * this.options.alpha.length));
2057
- password += this.options.numeric.charAt(Math.floor(Math.random() * this.options.numeric.length));
2058
- }
2059
- for (var j = 0; j < this.options.numSpecial; j++)
2060
- password += this.options.specials.charAt(Math.floor(Math.random() * this.options.specials.length));
2061
- password = password.split('').sort(function () { return 0.5 - Math.random(); }).join('');
2062
- return password;
2063
- };
2064
- return RandomStringGenerator;
2065
- }());
2066
-
2067
2082
  var UsersController = /** @class */ (function () {
2068
2083
  function UsersController() {
2069
2084
  this.initLists();
@@ -2515,7 +2530,6 @@
2515
2530
  return PropertyImporter;
2516
2531
  }());
2517
2532
 
2518
- /// <reference types="jquery.slimscroll" />
2519
2533
  var Admin = /** @class */ (function (_super) {
2520
2534
  __extends(Admin, _super);
2521
2535
  function Admin() {
@@ -2576,10 +2590,6 @@
2576
2590
  }(HoodApi));
2577
2591
  window.hood = new Admin();
2578
2592
 
2579
- exports.Alerts = Alerts;
2580
-
2581
- Object.defineProperty(exports, '__esModule', { value: true });
2582
-
2583
2593
  }));
2584
2594
  if (typeof this !== 'undefined' && this.hood){ this.hoodCMS = this.Hood = this.hoodCMS = this.HoodCMS = this.hood }
2585
2595
  //# sourceMappingURL=admin.js.map