jsuites 4.12.5 → 4.12.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.
@@ -17,7 +17,7 @@
17
17
 
18
18
  var jSuites = function(options) {
19
19
  var obj = {}
20
- var version = '4.12.5';
20
+ var version = '4.12.8';
21
21
 
22
22
  var find = function(DOMElement, component) {
23
23
  if (DOMElement[component.type] && DOMElement[component.type] == component) {
@@ -503,25 +503,27 @@ jSuites.ajax = (function(options, complete) {
503
503
  // Parse object to variables format
504
504
  var parseData = function (value, key) {
505
505
  var vars = [];
506
- var keys = Object.keys(value);
507
- if (keys.length) {
508
- for (var i = 0; i < keys.length; i++) {
509
- if (key) {
510
- var k = key + '[' + keys[i] + ']';
511
- } else {
512
- var k = keys[i];
513
- }
506
+ if (value) {
507
+ var keys = Object.keys(value);
508
+ if (keys.length) {
509
+ for (var i = 0; i < keys.length; i++) {
510
+ if (key) {
511
+ var k = key + '[' + keys[i] + ']';
512
+ } else {
513
+ var k = keys[i];
514
+ }
514
515
 
515
- if (value[k] instanceof FileList) {
516
- vars[k] = value[keys[i]];
517
- } else if (typeof (value[keys[i]]) == 'object') {
518
- var r = parseData(value[keys[i]], k);
519
- var o = Object.keys(r);
520
- for (var j = 0; j < o.length; j++) {
521
- vars[o[j]] = r[o[j]];
516
+ if (value[k] instanceof FileList) {
517
+ vars[k] = value[keys[i]];
518
+ } else if (value[keys[i]] && typeof(value[keys[i]]) == 'object') {
519
+ var r = parseData(value[keys[i]], k);
520
+ var o = Object.keys(r);
521
+ for (var j = 0; j < o.length; j++) {
522
+ vars[o[j]] = r[o[j]];
523
+ }
524
+ } else {
525
+ vars[k] = value[keys[i]];
522
526
  }
523
- } else {
524
- vars[k] = value[keys[i]];
525
527
  }
526
528
  }
527
529
  }
@@ -7292,7 +7294,7 @@ jSuites.mask = (function() {
7292
7294
  if (adjustNumeric) {
7293
7295
  var p = null;
7294
7296
  for (var i = 0; i < n.length; i++) {
7295
- if (n[i].match(/[\-0-9]/g) || n[i] == '.' || n[i] == ',') {
7297
+ if (n[i].match(/[\-0-9]/g) || n[i] == '.' || n[i] == ',') {
7296
7298
  p = i;
7297
7299
  }
7298
7300
  }
@@ -7337,7 +7339,11 @@ jSuites.mask = (function() {
7337
7339
  var Value = function(v, updateCaret, adjustNumeric) {
7338
7340
  if (this.tagName == 'DIV') {
7339
7341
  if (v === undefined) {
7340
- return this.innerText;
7342
+ var v = this.innerText;
7343
+ if (this.value && this.value.length > v.length) {
7344
+ v = this.value;
7345
+ }
7346
+ return v;
7341
7347
  } else {
7342
7348
  if (this.innerText !== v) {
7343
7349
  this.innerText = v;
@@ -8067,16 +8073,21 @@ jSuites.mask = (function() {
8067
8073
 
8068
8074
  // Mask detected start the process
8069
8075
  if (! isFormula(o.value) && (o.mask || o.locale)) {
8070
- // Compatibility ixes
8076
+ // Compatibility fixes
8071
8077
  if (o.mask) {
8072
8078
  // Remove []
8073
8079
  o.mask = o.mask.replace(new RegExp(/\[.*?\]/),'');
8080
+ if (o.mask.indexOf(';') !== -1) {
8081
+ var t = o.mask.split(';');
8082
+ o.mask = t[0];
8083
+ }
8074
8084
  // Excel mask TODO: Improve
8075
8085
  if (o.mask.indexOf('##') !== -1) {
8076
8086
  var d = o.mask.split(';');
8077
8087
  if (d[0]) {
8078
8088
  d[0] = d[0].replace('*', '\t');
8079
8089
  d[0] = d[0].replace(new RegExp(/_-/g), ' ');
8090
+ d[0] = d[0].replace(new RegExp(/_/g), '');
8080
8091
  d[0] = d[0].replace('##0.###','##0.000');
8081
8092
  d[0] = d[0].replace('##0.##','##0.00');
8082
8093
  d[0] = d[0].replace('##0.#','##0.0');
@@ -8225,6 +8236,15 @@ jSuites.mask = (function() {
8225
8236
  options.mask = options.format;
8226
8237
  }
8227
8238
 
8239
+ // Remove []
8240
+ if (options.mask) {
8241
+ if (options.mask.indexOf(';') !== -1) {
8242
+ var t = options.mask.split(';');
8243
+ options.mask = t[0];
8244
+ }
8245
+ options.mask = options.mask.replace(new RegExp(/\[.*?\]/),'');
8246
+ }
8247
+
8228
8248
  // Get decimal
8229
8249
  getDecimal.call(options, options.mask);
8230
8250
 
@@ -8299,7 +8319,13 @@ jSuites.mask = (function() {
8299
8319
  }
8300
8320
 
8301
8321
  // Remove []
8302
- options.mask = options.mask.replace(new RegExp(/\[.*?\]/),'');
8322
+ if (options.mask) {
8323
+ if (options.mask.indexOf(';') !== -1) {
8324
+ var t = options.mask.split(';');
8325
+ options.mask = t[0];
8326
+ }
8327
+ options.mask = options.mask.replace(new RegExp(/\[.*?\]/),'');
8328
+ }
8303
8329
 
8304
8330
  var type = null;
8305
8331
  if (options.type == 'percent' || options.options.style == 'percent') {
package/dist/jsuites.js CHANGED
@@ -17,7 +17,7 @@
17
17
 
18
18
  var jSuites = function(options) {
19
19
  var obj = {}
20
- var version = '4.12.5';
20
+ var version = '4.12.8';
21
21
 
22
22
  var find = function(DOMElement, component) {
23
23
  if (DOMElement[component.type] && DOMElement[component.type] == component) {
@@ -503,25 +503,27 @@ jSuites.ajax = (function(options, complete) {
503
503
  // Parse object to variables format
504
504
  var parseData = function (value, key) {
505
505
  var vars = [];
506
- var keys = Object.keys(value);
507
- if (keys.length) {
508
- for (var i = 0; i < keys.length; i++) {
509
- if (key) {
510
- var k = key + '[' + keys[i] + ']';
511
- } else {
512
- var k = keys[i];
513
- }
506
+ if (value) {
507
+ var keys = Object.keys(value);
508
+ if (keys.length) {
509
+ for (var i = 0; i < keys.length; i++) {
510
+ if (key) {
511
+ var k = key + '[' + keys[i] + ']';
512
+ } else {
513
+ var k = keys[i];
514
+ }
514
515
 
515
- if (value[k] instanceof FileList) {
516
- vars[k] = value[keys[i]];
517
- } else if (typeof (value[keys[i]]) == 'object') {
518
- var r = parseData(value[keys[i]], k);
519
- var o = Object.keys(r);
520
- for (var j = 0; j < o.length; j++) {
521
- vars[o[j]] = r[o[j]];
516
+ if (value[k] instanceof FileList) {
517
+ vars[k] = value[keys[i]];
518
+ } else if (value[keys[i]] && typeof(value[keys[i]]) == 'object') {
519
+ var r = parseData(value[keys[i]], k);
520
+ var o = Object.keys(r);
521
+ for (var j = 0; j < o.length; j++) {
522
+ vars[o[j]] = r[o[j]];
523
+ }
524
+ } else {
525
+ vars[k] = value[keys[i]];
522
526
  }
523
- } else {
524
- vars[k] = value[keys[i]];
525
527
  }
526
528
  }
527
529
  }
@@ -7717,7 +7719,7 @@ jSuites.mask = (function() {
7717
7719
  if (adjustNumeric) {
7718
7720
  var p = null;
7719
7721
  for (var i = 0; i < n.length; i++) {
7720
- if (n[i].match(/[\-0-9]/g) || n[i] == '.' || n[i] == ',') {
7722
+ if (n[i].match(/[\-0-9]/g) || n[i] == '.' || n[i] == ',') {
7721
7723
  p = i;
7722
7724
  }
7723
7725
  }
@@ -7762,7 +7764,11 @@ jSuites.mask = (function() {
7762
7764
  var Value = function(v, updateCaret, adjustNumeric) {
7763
7765
  if (this.tagName == 'DIV') {
7764
7766
  if (v === undefined) {
7765
- return this.innerText;
7767
+ var v = this.innerText;
7768
+ if (this.value && this.value.length > v.length) {
7769
+ v = this.value;
7770
+ }
7771
+ return v;
7766
7772
  } else {
7767
7773
  if (this.innerText !== v) {
7768
7774
  this.innerText = v;
@@ -8492,16 +8498,21 @@ jSuites.mask = (function() {
8492
8498
 
8493
8499
  // Mask detected start the process
8494
8500
  if (! isFormula(o.value) && (o.mask || o.locale)) {
8495
- // Compatibility ixes
8501
+ // Compatibility fixes
8496
8502
  if (o.mask) {
8497
8503
  // Remove []
8498
8504
  o.mask = o.mask.replace(new RegExp(/\[.*?\]/),'');
8505
+ if (o.mask.indexOf(';') !== -1) {
8506
+ var t = o.mask.split(';');
8507
+ o.mask = t[0];
8508
+ }
8499
8509
  // Excel mask TODO: Improve
8500
8510
  if (o.mask.indexOf('##') !== -1) {
8501
8511
  var d = o.mask.split(';');
8502
8512
  if (d[0]) {
8503
8513
  d[0] = d[0].replace('*', '\t');
8504
8514
  d[0] = d[0].replace(new RegExp(/_-/g), ' ');
8515
+ d[0] = d[0].replace(new RegExp(/_/g), '');
8505
8516
  d[0] = d[0].replace('##0.###','##0.000');
8506
8517
  d[0] = d[0].replace('##0.##','##0.00');
8507
8518
  d[0] = d[0].replace('##0.#','##0.0');
@@ -8650,6 +8661,15 @@ jSuites.mask = (function() {
8650
8661
  options.mask = options.format;
8651
8662
  }
8652
8663
 
8664
+ // Remove []
8665
+ if (options.mask) {
8666
+ if (options.mask.indexOf(';') !== -1) {
8667
+ var t = options.mask.split(';');
8668
+ options.mask = t[0];
8669
+ }
8670
+ options.mask = options.mask.replace(new RegExp(/\[.*?\]/),'');
8671
+ }
8672
+
8653
8673
  // Get decimal
8654
8674
  getDecimal.call(options, options.mask);
8655
8675
 
@@ -8724,7 +8744,13 @@ jSuites.mask = (function() {
8724
8744
  }
8725
8745
 
8726
8746
  // Remove []
8727
- options.mask = options.mask.replace(new RegExp(/\[.*?\]/),'');
8747
+ if (options.mask) {
8748
+ if (options.mask.indexOf(';') !== -1) {
8749
+ var t = options.mask.split(';');
8750
+ options.mask = t[0];
8751
+ }
8752
+ options.mask = options.mask.replace(new RegExp(/\[.*?\]/),'');
8753
+ }
8728
8754
 
8729
8755
  var type = null;
8730
8756
  if (options.type == 'percent' || options.options.style == 'percent') {
@@ -11999,10 +12025,10 @@ jSuites.validations = (function() {
11999
12025
  return value >= range[0];
12000
12026
  },
12001
12027
  '=': function(value, range) {
12002
- return value === range[0];
12028
+ return value == range[0];
12003
12029
  },
12004
12030
  '!=': function(value, range) {
12005
- return value !== range[0];
12031
+ return value != range[0];
12006
12032
  },
12007
12033
  }
12008
12034
 
@@ -12040,6 +12066,12 @@ jSuites.validations = (function() {
12040
12066
  'not contains': function(value, range) {
12041
12067
  return !value.includes(range[0]);
12042
12068
  },
12069
+ 'begins with': function(value, range) {
12070
+ return value.startsWith(range[0]);
12071
+ },
12072
+ 'ends with': function(value, range) {
12073
+ return value.endsWith(range[0]);
12074
+ },
12043
12075
  '=': function(value, range) {
12044
12076
  return value === range[0];
12045
12077
  },
@@ -12080,7 +12112,15 @@ jSuites.validations = (function() {
12080
12112
  component.required = function(data) {
12081
12113
  return data.trim() ? true : false;
12082
12114
  }
12083
-
12115
+
12116
+ component.exist = function(data, options) {
12117
+ return !!data.toString();
12118
+ }
12119
+
12120
+ component['not exist'] = function(data, options) {
12121
+ return !data.toString();
12122
+ }
12123
+
12084
12124
  component.number = function(data, options) {
12085
12125
  if (! isNumeric(data)) {
12086
12126
  return false;
@@ -12112,7 +12152,7 @@ jSuites.validations = (function() {
12112
12152
  return false;
12113
12153
  }
12114
12154
 
12115
- var validOption = options.value[0].split(',').findIndex(function name(item) {
12155
+ var validOption = options.value[0].findIndex(function name(item) {
12116
12156
  return item == data;
12117
12157
  });
12118
12158
 
@@ -12155,6 +12195,12 @@ jSuites.validations = (function() {
12155
12195
  return textCriterias[options.criteria](data, options.value);
12156
12196
  }
12157
12197
 
12198
+ component.textLength = function(data, options) {
12199
+ data = data.toString();
12200
+
12201
+ return component.number(data.length, options);
12202
+ }
12203
+
12158
12204
  return component;
12159
12205
  })();
12160
12206
 
package/package.json CHANGED
@@ -19,7 +19,7 @@
19
19
  "javascript plugins"
20
20
  ],
21
21
  "main": "dist/jsuites.js",
22
- "version": "4.12.5",
22
+ "version": "4.12.8",
23
23
  "bugs": "https://github.com/jsuites/jsuites/issues",
24
24
  "homepage": "https://github.com/jsuites/jsuites",
25
25
  "docs": "https://jsuites.net",