mtl-js-sdk
Version:
ynf-fw-mtl-api
62 lines (60 loc) • 1.91 kB
JavaScript
import {invokeSuccess, invokeFail} from '../callback'
import {localizedString} from '../localization'
import {execUpesnBridgeify,canExecUpesnBridge} from '../bridge/index'
export function chooseCity(param = {}) {
let obj = api.require('mtlCityPicker');
if (!obj) {
if (canExecUpesnBridge()) {
execUpesnBridgeify('chooseCity', param);
return;
}
invokeFail(param, {msg:'module mtlCityPicker not added'});
return;
}
obj.chooseCity(param, function(ret, err) {
if (ret) {
invokeSuccess(param, ret);
} else {
invokeFail(param, err);
}
});
}
export function dateTimePicker(param = {}) {
function b(n) {
if (n < 10) {
return '0' + n;
}
return n;
}
let {format, currentDate} = param;
let type = 'date';
if (format == 'HH:mm') {
type = 'time';
} else if (format == 'yyyy-MM-dd HH:mm' && api.systemType == 'ios') {
type = 'date_time';
}
api.openPicker({
type:type,
date:currentDate,
cancelText:localizedString('cancel'),
doneText:localizedString('done')
}, function(ret, err){
if (ret) {
let str;
if (format == 'HH:mm') {
str = `${b(ret.hour)}:${b(ret.minute)}`;
} else if (format == 'yyyy-MM-dd HH:mm') {
str = `${ret.year}-${b(ret.month)}-${b(ret.day)} ${b(ret.hour)}:${b(ret.minute)}`;
} else if (format == 'yyyy-MM') {
str = `${ret.year}-${b(ret.month)}`;
} else if (format == 'yyyy') {
str = `${ret.year}`;
} else {
str = `${ret.year}-${b(ret.month)}-${b(ret.day)}`;
}
invokeSuccess(param, {dateTime:str, time:str});
} else {
invokeFail(param, err);
}
});
}