mirror of
https://gitlab.com/CIEFWorldwideSdnBhd/unity.git
synced 2026-08-19 20:34:01 +00:00
170 lines
5.5 KiB
JavaScript
Vendored
170 lines
5.5 KiB
JavaScript
Vendored
import Errors from './errors';
|
|
|
|
class Form {
|
|
|
|
constructor(data) {
|
|
this.originalData = data;
|
|
|
|
for (let field in data) {
|
|
this[field] = data[field];
|
|
}
|
|
|
|
this.errors = new Errors();
|
|
}
|
|
|
|
data() {
|
|
let data = {};
|
|
|
|
for (let property in this.originalData) {
|
|
data[property] = this[property];
|
|
}
|
|
|
|
return data;
|
|
}
|
|
|
|
reset() {
|
|
for (let field in this.originalData) {
|
|
this[field] = '';
|
|
}
|
|
|
|
this.errors.clear();
|
|
}
|
|
|
|
get(url, header) {
|
|
return this.submit('get', url, header);
|
|
}
|
|
|
|
post(url, header) {
|
|
return this.submit('post', url, header);
|
|
}
|
|
|
|
put(url, header) {
|
|
return this.submit('put', url, header);
|
|
}
|
|
|
|
patch(url, header) {
|
|
return this.submit('patch', url, header);
|
|
}
|
|
|
|
delete(url, header) {
|
|
return this.submit('delete', url, header);
|
|
}
|
|
|
|
submit(method, url, header) {
|
|
let vm = this;
|
|
let params = vm.data();
|
|
|
|
let set = {};
|
|
|
|
if (method == 'get') {
|
|
set = {
|
|
method: method,
|
|
url: url,
|
|
params: params,
|
|
headers: header
|
|
}
|
|
}
|
|
else {
|
|
set = {
|
|
method: method,
|
|
url: url,
|
|
data: params,
|
|
headers: header
|
|
}
|
|
}
|
|
|
|
return new Promise((resolve, reject) => {
|
|
axios(set)
|
|
.then(response => {
|
|
vm.onSuccess(response.data);
|
|
resolve(response.data);
|
|
})
|
|
.catch(error => {
|
|
if (error.response.data.errors) {
|
|
let error_return = error.response.data.errors;
|
|
Object.keys(error_return).forEach(function (key) {
|
|
error.response.data.errors[key] = vm.errorCodeConvert(error_return[key], key);
|
|
});
|
|
|
|
vm.onFail(error.response.data.errors)
|
|
return reject(error.response.data.errors)
|
|
}
|
|
return reject(error)
|
|
});
|
|
});
|
|
}
|
|
|
|
onSuccess(data) {
|
|
// this.reset();
|
|
}
|
|
|
|
onFail(errors) {
|
|
this.errors.record(errors);
|
|
}
|
|
|
|
errorCodeConvert(code = [], key) {
|
|
let value = {
|
|
att: General.lang(key)
|
|
}
|
|
let return_message = [];
|
|
for (var i = 0; i < code.length; i++) {
|
|
if(code[i] == 'LOGIN_ERROR') {
|
|
return_message.push(General.lang('incorrect_account_or_password'));
|
|
}
|
|
else if (code[i] == 'REQUIRED') {
|
|
return_message.push(Sprintf(General.lang('this_field_required'), value));
|
|
}
|
|
else if(code[i] == 'EMAIL_ERROR') {
|
|
return_message.push(General.lang('incorrect_email_format'));
|
|
}
|
|
else if(code[i] == 'UNIQUE_ERRO') {
|
|
return_message.push(Sprintf(General.lang('the_content_has_already_been_taken'), value));
|
|
}
|
|
else if(code[i] == 'CONFIRM_ERROR') {
|
|
return_message.push(Sprintf(General.lang('the_content_confirmation_does_not_match'), value));
|
|
}
|
|
else if(code[i] == 'IMG_ERROR') {
|
|
return_message.push(Sprintf(General.lang('incorrect_image_format'), value));
|
|
}
|
|
else if(code[i] == 'EXCEL_ERROR') {
|
|
return_message.push(Sprintf(General.lang('incorrect_excel_format'), value));
|
|
}
|
|
else if(code[i] == 'NUMERIC_ERROR') {
|
|
return_message.push(Sprintf(General.lang('the_content_must_be_a_number'), value));
|
|
}
|
|
else if(code[i] == 'GREATER_ERROR_0') {
|
|
return_message.push(Sprintf(General.lang('the_content_must_be_greater_than_0'), value));
|
|
}
|
|
else if(code[i] == 'GREATER_ERROR_-1') {
|
|
return_message.push(Sprintf(General.lang('the_content_must_be_greater_than_0'), value));
|
|
}
|
|
else if(code[i] == 'LESS_ERROR_100') {
|
|
return_message.push(Sprintf(General.lang('the_content_must_be_less_than_100'), value));
|
|
}
|
|
else if(code[i] == 'MIN_ERROR_10') {
|
|
return_message.push(Sprintf(General.lang('the_content_must_be_at_least_10_characters'), value));
|
|
}
|
|
else if(code[i] == 'EXIST_ERROR') {
|
|
return_message.push(Sprintf(General.lang('the_content_not_exist'), value));
|
|
}
|
|
else if(code[i] == 'STATUS_ERROR') {
|
|
return_message.push(Sprintf(General.lang('status_error'), value));
|
|
}
|
|
else if(code[i] == 'CURRENT_PASSWORD_NOT_MATCH') {
|
|
return_message.push(Sprintf(General.lang('current_password_not_match'), value));
|
|
}
|
|
else if(code[i] == 'OBLIGATION_DEPEND_ERROR') {
|
|
return_message.push(Sprintf(General.lang('obligation_depend_error'), value));
|
|
}
|
|
else if(code[i] == 'UNDER_ERROR') {
|
|
return_message.push(Sprintf(General.lang('under_error'), value));
|
|
}
|
|
else {
|
|
return_message.push(code[i]);
|
|
}
|
|
}
|
|
return return_message;
|
|
}
|
|
}
|
|
|
|
export default Form;
|