Skip to content

Commit d1d3efd

Browse files
author
Dustyn Blackmore
committed
Build for 0.1.3
1 parent 420eec5 commit d1d3efd

3 files changed

Lines changed: 62 additions & 200 deletions

File tree

dist/react-component_input.js

Lines changed: 30 additions & 99 deletions
Original file line numberDiff line numberDiff line change
@@ -330,6 +330,19 @@ var Input = function (_Component) {
330330
valueMask: _this2.props.valueMask || undefined
331331
};
332332

333+
_this2.classFactory = function (element) {
334+
if (element instanceof Array) {
335+
var result = [];
336+
element.forEach(function (element) {
337+
result.push(element + " " + element + "-container " + element + "-" + _this2.props.type + " " + (_this2.state.hasChanged ? element + "-touched" : element + "-untouched") + " " + (_this2.state.hasFocus ? element + "-focus" : element + "-nofocus") + " " + (_this2.props.validation ? _this2.state.isValid ? element + "-validation " + element + "-valid" : element + "-validation " + element + "-invalid" : element + "-novalidation"));
338+
});
339+
340+
return result.join(' ');
341+
}
342+
343+
return element + " " + element + "-container " + element + "-" + _this2.props.type + " " + (_this2.state.hasChanged ? element + "-touched" : element + "-untouched") + " " + (_this2.state.hasFocus ? element + "-focus" : element + "-nofocus") + " " + (_this2.props.validation ? _this2.state.isValid ? element + "-validation " + element + "-valid" : element + "-validation " + element + "-invalid" : element + "-novalidation");
344+
};
345+
333346
// onBlur
334347
_this2.handleBlur = _this2.handleBlur.bind(_this2);
335348
_this2.handleOnBlurCallback = _this2.props.onBlur ? _this2.handleOnBlurCallback.bind(_this2) : function () {
@@ -765,110 +778,19 @@ var Input = function (_Component) {
765778
}, {
766779
key: "render",
767780
value: function render() {
768-
var containerClassNames = "";
769-
var inputClassNames = "";
770-
var labelClassNames = "";
771-
var validationClassNames = "";
772-
773-
if (this.props.containerClassNames) {
774-
if (this.props.containerClassNames instanceof Array) {
775-
containerClassNames += "" + this.props.containerClassNames.join(" ");
776-
} else {
777-
containerClassNames += "" + this.props.containerClassNames;
778-
}
779-
} else {
780-
containerClassNames += "input input-container input-" + this.props.type;
781-
}
782-
783-
if (this.props.inputClassNames) {
784-
if (this.props.inputClassNames instanceof Array) {
785-
inputClassNames += "" + this.props.inputClassNames.join(" ");
786-
} else {
787-
inputClassNames += "" + this.props.inputClassNames;
788-
}
789-
} else {
790-
inputClassNames += this.props.type + " " + this.props.type + "-container";
791-
}
792-
793-
if (this.props.labelClassNames) {
794-
if (this.props.labelClassNames instanceof Array) {
795-
labelClassNames += "" + this.props.labelClassNames.join(" ");
796-
} else {
797-
labelClassNames += "" + this.props.labelClassNames;
798-
}
799-
} else {
800-
labelClassNames += "label label-container label-" + this.props.type;
801-
}
802-
803-
if (this.props.validationClassNames) {
804-
if (this.props.validationClassNames instanceof Array) {
805-
validationClassNames += "" + this.props.validationClassNames.join(" ");
806-
} else {
807-
validationClassNames += "" + this.props.validationClassNames;
808-
}
809-
} else {
810-
validationClassNames += "validation validation-container validation-" + this.props.type;
811-
}
812-
813-
if (this.state.hasChanged) {
814-
containerClassNames += " container-touched";
815-
inputClassNames += " input-touched";
816-
labelClassNames += " label-touched";
817-
validationClassNames += " validation-touched";
818-
} else {
819-
containerClassNames += " container-untouched";
820-
inputClassNames += " input-untouched";
821-
labelClassNames += " label-untouched";
822-
validationClassNames += " validation-untouched";
823-
}
824-
825-
if (this.state.justChanged) {
826-
containerClassNames += " container-justchanged";
827-
inputClassNames += " input-justchanged";
828-
labelClassNames += " label-justchanged";
829-
validationClassNames += " validation-justchanged";
830-
}
831-
832-
if (this.state.hasFocus) {
833-
containerClassNames += " container-focus";
834-
inputClassNames += " input-focus";
835-
labelClassNames += " label-focus";
836-
validationClassNames += " validation-focus";
837-
} else {
838-
containerClassNames += " container-nofocus";
839-
inputClassNames += " input-nofocus";
840-
labelClassNames += " label-nofocus";
841-
validationClassNames += " validation-nofocus";
842-
}
843-
844-
if (this.props.validation) {
845-
if (this.state.isValid) {
846-
containerClassNames += " container-valid";
847-
inputClassNames += " input-valid";
848-
labelClassNames += " label-valid";
849-
validationClassNames += " validation-valid";
850-
} else {
851-
containerClassNames += " container-invalid";
852-
inputClassNames += " input-invalid";
853-
labelClassNames += " label-invalid";
854-
validationClassNames += " validation-invalid";
855-
}
856-
}
857-
858-
var thisValidation = null;
859-
if (this.props.validation) {
860-
thisValidation = _react2.default.createElement(
861-
"p",
862-
{ className: validationClassNames },
863-
this.state.validationErrorMessage || "invalid"
864-
);
865-
}
866-
867781
var thisInput = _react2.default.createElement(
868782
"p",
869783
null,
870784
"Unsupported Input"
871785
);
786+
var containerClassNames = this.props.containerClassNames ? this.classFactory(this.props.containerClassNames) : this.classFactory(this.props.type);
787+
788+
var labelClassNames = this.props.labelClassNames ? this.classFactory(this.props.labelClassNames) : this.classFactory('label');
789+
790+
var inputClassNames = this.props.inputClassNames ? this.classFactory(this.props.inputClassNames) : this.classFactory('input');
791+
792+
var validationClassNames = this.props.validationClassNames ? this.classFactory(this.props.validationClassNames) : this.classFactory('validation');
793+
872794
switch (this.props.type) {
873795
case "button":
874796
thisInput = _react2.default.createElement("input", {
@@ -945,6 +867,15 @@ var Input = function (_Component) {
945867
break;
946868
}
947869

870+
var thisValidation = null;
871+
if (this.props.validation) {
872+
thisValidation = _react2.default.createElement(
873+
"p",
874+
{ className: validationClassNames },
875+
this.state.validationErrorMessage || "invalid"
876+
);
877+
}
878+
948879
return _react2.default.createElement(
949880
"div",
950881
{ className: containerClassNames },

0 commit comments

Comments
 (0)