updates
This commit is contained in:
+44
-83
@@ -514,27 +514,36 @@ export class Render {
|
||||
*/
|
||||
static setInputAttr(input, field) {
|
||||
|
||||
input.name = field.name;
|
||||
Ut.each(field, (val, key) => {
|
||||
|
||||
if (field.title) {
|
||||
input.title = field.title;
|
||||
if (key == 'readonly') {
|
||||
key = 'readOnly';
|
||||
val = Boolean(val);
|
||||
}
|
||||
|
||||
if (field.id) {
|
||||
input.id = field.id;
|
||||
if (field.maxlength) {
|
||||
key = 'maxLength';
|
||||
val = Boolean(val);
|
||||
}
|
||||
|
||||
if (field.dataid) {
|
||||
if (key === 'required' || key === 'disabled') {
|
||||
val = Boolean(val);
|
||||
}
|
||||
|
||||
if (input.constructor.prototype) {
|
||||
|
||||
if (key === 'type') {
|
||||
return;
|
||||
}
|
||||
|
||||
if (key === 'dataid') {
|
||||
input.dataset.id = field.dataid;
|
||||
return;
|
||||
}
|
||||
|
||||
if (field.readonly == '1') {
|
||||
input.readOnly = true;
|
||||
}
|
||||
|
||||
if (field.required == '1') {
|
||||
input.required = true;
|
||||
input[ key ] = val;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -609,35 +618,22 @@ export class Render {
|
||||
|
||||
const input = El('input', { type: field.type, className: 'sp-form-control' });
|
||||
|
||||
if (field.value) {
|
||||
input.value = field.value;
|
||||
}
|
||||
|
||||
if (field.type != 'hidden' && field.placeholder) {
|
||||
if (field.type !== 'hidden' && field.placeholder) {
|
||||
input.placeholder = field.placeholder;
|
||||
}
|
||||
|
||||
if (field.type != 'hidden' && field.autocomplete) {
|
||||
if (field.type !== 'hidden' && field.autocomplete) {
|
||||
input.setAttribute('autocomplete', field.autocomplete || 'off');
|
||||
}
|
||||
|
||||
if (field.disabled == '1') {
|
||||
input.disabled = true;
|
||||
}
|
||||
|
||||
Render.setInputAttr(input, field);
|
||||
|
||||
let wrapper = Render.makeFieldWrapper(field, parent);
|
||||
wrapper.appendChild(input);
|
||||
Render.makeFieldWrapper(field, parent).append(input);
|
||||
|
||||
if (field.cancelable == '1') {
|
||||
if (field.cancelable === '1') {
|
||||
new Cancelable(input);
|
||||
}
|
||||
|
||||
if (field.maxlength) {
|
||||
input.maxLength = field.maxlength;
|
||||
}
|
||||
|
||||
if (field['max-chars']) {
|
||||
input.Counter({ limit: field['max-chars'] });
|
||||
}
|
||||
@@ -652,9 +648,7 @@ export class Render {
|
||||
|
||||
let elem = El('input', { type: 'password', className: 'sp-form-control' });
|
||||
|
||||
if (field.placeholder) {
|
||||
elem.placeholder = field.placeholder;
|
||||
}
|
||||
|
||||
|
||||
Render.setInputAttr(elem, field);
|
||||
|
||||
@@ -747,36 +741,6 @@ export class Render {
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Make Range Element
|
||||
*/
|
||||
static makeInputRangeElement(field, parent) {
|
||||
|
||||
let elem = El('input', { type: 'range' });
|
||||
|
||||
if (field.min) {
|
||||
elem.setAttribute('min', field.min);
|
||||
}
|
||||
|
||||
if (field.max) {
|
||||
elem.setAttribute('max', field.max);
|
||||
}
|
||||
|
||||
if (field.step) {
|
||||
elem.setAttribute('step', field.step);
|
||||
}
|
||||
|
||||
if (field.value) {
|
||||
elem.value = field.value;
|
||||
}
|
||||
|
||||
Render.setInputAttr(elem, field);
|
||||
|
||||
Render.makeFieldWrapper(field, parent).append(elem);
|
||||
|
||||
return elem;
|
||||
}
|
||||
|
||||
/**
|
||||
* Make Input Color Element
|
||||
*/
|
||||
@@ -809,6 +773,18 @@ export class Render {
|
||||
return input;
|
||||
}
|
||||
|
||||
/**
|
||||
* Make Default Input Element
|
||||
*/
|
||||
static makeDefaultInputElement(field, parent) {
|
||||
|
||||
const input = El('input', { type: field.type, className: 'sp-form-control' });
|
||||
|
||||
Render.setInputAttr(input, field);
|
||||
|
||||
return Render.makeFieldWrapper(field, parent).appendChild(input);
|
||||
}
|
||||
|
||||
/**
|
||||
* Make Select Element
|
||||
*/
|
||||
@@ -816,15 +792,13 @@ export class Render {
|
||||
|
||||
let elem = El('select', { className: 'sp-form-control' });
|
||||
|
||||
if (field.multiple == '1') {
|
||||
if (field.multiple === '1') {
|
||||
elem.multiple = true;
|
||||
}
|
||||
|
||||
if (field.option) {
|
||||
|
||||
Ut.each (field.option, (text, val) => {
|
||||
elem.append(new Option(text, val, val == field.value));
|
||||
});
|
||||
Ut.each (field.option, (text, val) => elem.append(new Option(text, val, val == field.value)) );
|
||||
|
||||
if (field.value) {
|
||||
elem.value = field.value;
|
||||
@@ -833,10 +807,6 @@ export class Render {
|
||||
|
||||
Render.setInputAttr(elem, field);
|
||||
|
||||
if (field.cancelable == '1') {
|
||||
new Cancelable(elem);
|
||||
}
|
||||
|
||||
Render.makeFieldWrapper(field, parent).append(elem);
|
||||
|
||||
return elem;
|
||||
@@ -996,17 +966,7 @@ export class Render {
|
||||
|
||||
const input = parent.appendChild(El('input', { type: 'hidden' }));
|
||||
|
||||
if (field.name) {
|
||||
input.name = field.name;
|
||||
}
|
||||
|
||||
if (field.id) {
|
||||
input.id = field.id;
|
||||
}
|
||||
|
||||
if (field.value) {
|
||||
input.value = field.value;
|
||||
}
|
||||
Ut.each(field, (val, key) => (key in HTMLInputElement.prototype) && (input[ key ] = val))
|
||||
|
||||
return input;
|
||||
}
|
||||
@@ -1042,9 +1002,10 @@ export class Render {
|
||||
|
||||
switch (field.type) {
|
||||
case 'text': return Render.makeInputElement(field, parent);
|
||||
case 'password': return Render.makeInputPwdElement(field, parent);
|
||||
case 'password': return Render.makeDefaultInputElement(field, parent);
|
||||
case 'textarea': return Render.makeTextareaElement(field, parent);
|
||||
case 'range': return Render.makeInputRangeElement(field, parent);
|
||||
case 'number': return Render.makeDefaultInputElement(field, parent);
|
||||
case 'range': return Render.makeDefaultInputElement(field, parent);
|
||||
case 'color': return Render.makeInputColorElement(field, parent);
|
||||
case 'datepicker': return Render.makeDatePickerElement(field, parent);
|
||||
case 'twodatepicker': return Render.makeTwoDatePickerElement(field, parent);
|
||||
|
||||
Reference in New Issue
Block a user