Skip to content

Commit

Permalink
[Issue-178] More string length delimiter
Browse files Browse the repository at this point in the history
  • Loading branch information
nosir committed Jun 24, 2017
1 parent eb8dc0a commit f17ae43
Show file tree
Hide file tree
Showing 11 changed files with 27 additions and 23 deletions.
2 changes: 1 addition & 1 deletion bower.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
"form",
"input"
],
"version": "0.7.20",
"version": "0.7.21",
"author": {
"name": "Max Huang",
"email": "[email protected]",
Expand Down
7 changes: 4 additions & 3 deletions dist/cleave-angular.js
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,7 @@ return /******/ (function(modules) { // webpackBootstrap
owner.lastInputValue = currentValue;

// hit backspace when last character is delimiter
if (charCode === 8 && Util.isDelimiter(currentValue.slice(-1), pps.delimiter, pps.delimiters)) {
if (charCode === 8 && Util.isDelimiter(currentValue.slice(-pps.delimiterLength), pps.delimiter, pps.delimiters)) {
pps.backspace = true;

return;
Expand Down Expand Up @@ -234,8 +234,8 @@ return /******/ (function(modules) { // webpackBootstrap
// case 2: last character is not delimiter which is:
// 12|34* -> hit backspace -> 1|34*
// note: no need to apply this for numeral mode
if (!pps.numeral && pps.backspace && !Util.isDelimiter(value.slice(-1), pps.delimiter, pps.delimiters)) {
value = Util.headStr(value, value.length - 1);
if (!pps.numeral && pps.backspace && !Util.isDelimiter(value.slice(-pps.delimiterLength), pps.delimiter, pps.delimiters)) {
value = Util.headStr(value, value.length - pps.delimiterLength);
}

// phone formatter
Expand Down Expand Up @@ -978,6 +978,7 @@ return /******/ (function(modules) { // webpackBootstrap
(opts.numeral ? ',' :
(opts.phone ? ' ' :
' ')));
target.delimiterLength = target.delimiter.length;
target.delimiters = opts.delimiters || [];

target.blocks = opts.blocks || [];
Expand Down
4 changes: 2 additions & 2 deletions dist/cleave-angular.min.js

Large diffs are not rendered by default.

7 changes: 4 additions & 3 deletions dist/cleave-react.js
Original file line number Diff line number Diff line change
Expand Up @@ -209,7 +209,7 @@ return /******/ (function(modules) { // webpackBootstrap
charCode = event.which || event.keyCode;

// hit backspace when last character is delimiter
if (charCode === 8 && Util.isDelimiter(pps.result.slice(-1), pps.delimiter, pps.delimiters)) {
if (charCode === 8 && Util.isDelimiter(pps.result.slice(-pps.delimiterLength), pps.delimiter, pps.delimiters)) {
pps.backspace = true;
} else {
pps.backspace = false;
Expand Down Expand Up @@ -253,8 +253,8 @@ return /******/ (function(modules) { // webpackBootstrap
// case 2: last character is not delimiter which is:
// 12|34* -> hit backspace -> 1|34*

if (!pps.numeral && pps.backspace && !Util.isDelimiter(value.slice(-1), pps.delimiter, pps.delimiters)) {
value = Util.headStr(value, value.length - 1);
if (!pps.numeral && pps.backspace && !Util.isDelimiter(value.slice(-pps.delimiterLength), pps.delimiter, pps.delimiters)) {
value = Util.headStr(value, value.length - pps.delimiterLength);
}

// phone formatter
Expand Down Expand Up @@ -2124,6 +2124,7 @@ return /******/ (function(modules) { // webpackBootstrap
target.initValue = opts.initValue === undefined ? '' : opts.initValue.toString();

target.delimiter = opts.delimiter || opts.delimiter === '' ? opts.delimiter : opts.date ? '/' : opts.numeral ? ',' : opts.phone ? ' ' : ' ';
target.delimiterLength = target.delimiter.length;
target.delimiters = opts.delimiters || [];

target.blocks = opts.blocks || [];
Expand Down
4 changes: 2 additions & 2 deletions dist/cleave-react.min.js

Large diffs are not rendered by default.

7 changes: 4 additions & 3 deletions dist/cleave.js
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,7 @@ return /******/ (function(modules) { // webpackBootstrap
owner.lastInputValue = currentValue;

// hit backspace when last character is delimiter
if (charCode === 8 && Util.isDelimiter(currentValue.slice(-1), pps.delimiter, pps.delimiters)) {
if (charCode === 8 && Util.isDelimiter(currentValue.slice(-pps.delimiterLength), pps.delimiter, pps.delimiters)) {
pps.backspace = true;

return;
Expand Down Expand Up @@ -234,8 +234,8 @@ return /******/ (function(modules) { // webpackBootstrap
// case 2: last character is not delimiter which is:
// 12|34* -> hit backspace -> 1|34*
// note: no need to apply this for numeral mode
if (!pps.numeral && pps.backspace && !Util.isDelimiter(value.slice(-1), pps.delimiter, pps.delimiters)) {
value = Util.headStr(value, value.length - 1);
if (!pps.numeral && pps.backspace && !Util.isDelimiter(value.slice(-pps.delimiterLength), pps.delimiter, pps.delimiters)) {
value = Util.headStr(value, value.length - pps.delimiterLength);
}

// phone formatter
Expand Down Expand Up @@ -978,6 +978,7 @@ return /******/ (function(modules) { // webpackBootstrap
(opts.numeral ? ',' :
(opts.phone ? ' ' :
' ')));
target.delimiterLength = target.delimiter.length;
target.delimiters = opts.delimiters || [];

target.blocks = opts.blocks || [];
Expand Down
4 changes: 2 additions & 2 deletions dist/cleave.min.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
"form",
"input"
],
"version": "0.7.20",
"version": "0.7.21",
"author": {
"name": "Max Huang",
"url": "http://github.com/nosir",
Expand Down
6 changes: 3 additions & 3 deletions src/Cleave.js
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ Cleave.prototype = {
owner.lastInputValue = currentValue;

// hit backspace when last character is delimiter
if (charCode === 8 && Util.isDelimiter(currentValue.slice(-1), pps.delimiter, pps.delimiters)) {
if (charCode === 8 && Util.isDelimiter(currentValue.slice(-pps.delimiterLength), pps.delimiter, pps.delimiters)) {
pps.backspace = true;

return;
Expand Down Expand Up @@ -178,8 +178,8 @@ Cleave.prototype = {
// case 2: last character is not delimiter which is:
// 12|34* -> hit backspace -> 1|34*
// note: no need to apply this for numeral mode
if (!pps.numeral && pps.backspace && !Util.isDelimiter(value.slice(-1), pps.delimiter, pps.delimiters)) {
value = Util.headStr(value, value.length - 1);
if (!pps.numeral && pps.backspace && !Util.isDelimiter(value.slice(-pps.delimiterLength), pps.delimiter, pps.delimiters)) {
value = Util.headStr(value, value.length - pps.delimiterLength);
}

// phone formatter
Expand Down
6 changes: 3 additions & 3 deletions src/Cleave.react.js
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,7 @@ var Cleave = CreateReactClass({
charCode = event.which || event.keyCode;

// hit backspace when last character is delimiter
if (charCode === 8 && Util.isDelimiter(pps.result.slice(-1), pps.delimiter, pps.delimiters)) {
if (charCode === 8 && Util.isDelimiter(pps.result.slice(-pps.delimiterLength), pps.delimiter, pps.delimiters)) {
pps.backspace = true;
} else {
pps.backspace = false;
Expand Down Expand Up @@ -195,8 +195,8 @@ var Cleave = CreateReactClass({
// case 2: last character is not delimiter which is:
// 12|34* -> hit backspace -> 1|34*

if (!pps.numeral && pps.backspace && !Util.isDelimiter(value.slice(-1), pps.delimiter, pps.delimiters)) {
value = Util.headStr(value, value.length - 1);
if (!pps.numeral && pps.backspace && !Util.isDelimiter(value.slice(-pps.delimiterLength), pps.delimiter, pps.delimiters)) {
value = Util.headStr(value, value.length - pps.delimiterLength);
}

// phone formatter
Expand Down
1 change: 1 addition & 0 deletions src/common/DefaultProperties.js
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ var DefaultProperties = {
(opts.numeral ? ',' :
(opts.phone ? ' ' :
' ')));
target.delimiterLength = target.delimiter.length;
target.delimiters = opts.delimiters || [];

target.blocks = opts.blocks || [];
Expand Down

0 comments on commit f17ae43

Please sign in to comment.