mini-vodacom-components
Version:
Vodacom mini app components
72 lines (66 loc) • 1.88 kB
JavaScript
Component({
mixins: [],
data: {
inputContainsText: false,
isDropDownExpanded: false,
},
props: {
value: "",
dropDownEnabled: false,
inputDisabled: false,
onInput: (value) => {},
onDropDownTapped: (isDropDownExpanded) => {},
onDropDownItemSelected: (selectedItem) => {},
didUpdate: (value) => {}
},
didMount() {},
didUpdate(prevProps, prevData) {
},
didUnmount() {},
methods: {
onInput(e) {
const value = e.detail.value;
if (value === "") {
this.data.inputContainsText = false;
} else {
this.data.inputContainsText = true;
}
this.setData({inputContainsText: this.data.inputContainsText});
this.props.onInput(value);
},
onConfirm() {
console.log("onConfirm");
},
onDropDownTapped() {
if (this.props.dropDownEnabled && !this.props.inputDisabled) {
this.data.isDropDownExpanded = !this.data.isDropDownExpanded;
this.setData({
isDropDownExpanded: this.data.isDropDownExpanded
});
}
},
onInputFieldTapped() {
if (this.props.dropDownEnabled && this.props.inputDisabled) {
this.data.isDropDownExpanded = !this.data.isDropDownExpanded;
this.setData({
isDropDownExpanded: this.data.isDropDownExpanded
});
}
},
onActionSheetItemTapped(e) {
const value = e.currentTarget.id;
this.data.isDropDownExpanded = false;
this.setData({
value: value,
isDropDownExpanded: this.data.isDropDownExpanded
});
this.props.onDropDownItemSelected(value);
},
onActionSheetCancelTapped() {
this.data.isDropDownExpanded = false;
this.setData({
isDropDownExpanded: this.data.isDropDownExpanded
});
}
},
});