mirror of
https://github.com/esiur/iui.git
synced 2026-04-04 15:08:21 +00:00
67 lines
1.4 KiB
JavaScript
67 lines
1.4 KiB
JavaScript
import IUIElement from "../Core/IUIElement.js";
|
|
import { IUI } from "../Core/IUI.js";
|
|
import Modifiable from "./Modifiable.js";
|
|
|
|
export default IUI.module(class Form extends IUIElement {
|
|
constructor() {
|
|
super();
|
|
}
|
|
|
|
static _copy(val){
|
|
if (typeof val === 'object' && val !== null)
|
|
{
|
|
let rt = {};
|
|
for(var i in val)
|
|
if (val[i] instanceof Array)
|
|
// copy array
|
|
rt[i] = [...val[i]];
|
|
else
|
|
rt[i] = val[i];
|
|
|
|
return rt;
|
|
}
|
|
else
|
|
return val;
|
|
}
|
|
|
|
async create() {
|
|
|
|
}
|
|
|
|
async setData(value) {
|
|
this.original = value;
|
|
super.setData(new Modifiable(this.original, true));
|
|
|
|
}
|
|
|
|
|
|
async reset() {
|
|
//super.setData({ ...this.original });
|
|
super.setData(new Modifiable(this.original));//Form._copy(this.original));
|
|
return this;
|
|
}
|
|
|
|
|
|
|
|
get diff() {
|
|
|
|
return this._data._diff;
|
|
|
|
if (this.original == null)
|
|
return this._data;
|
|
|
|
|
|
var rt = {};
|
|
for (var i in this._data)
|
|
if (this._data[i] != this.original[i])
|
|
{
|
|
if (this._data[i] instanceof Array && Form._areEqual(this._data[i], this.original[i]))
|
|
continue;
|
|
else
|
|
rt[i] = this._data[i];
|
|
}
|
|
|
|
return rt;
|
|
}
|
|
|
|
}); |