jcms
Version:
un cms utilisant node.js et mongoDB
242 lines (221 loc) • 5.73 kB
JavaScript
function Form(div) {
"use strict";
var defaultAttribut = {
"type": "",
"title": "",
"validators": [],
"help": "",
"editorClass": "",
"editorAttrs": "",
"fieldClass": "",
"fieldAttrs": "",
"template": "",
};
this.data = {
"Text": {
"type": "",
"title": "",
"validators": [],
"help": "",
"editorClass": "",
"editorAttrs": "",
"fieldClass": "",
"fieldAttrs": "",
"template": "",
"dataType": ""
},
"Number": {
"type": "",
"title": "",
"validators": [],
"help": "",
"editorClass": "",
"editorAttrs": "",
"fieldClass": "",
"fieldAttrs": "",
"template": "",
},
"Password": {
"type": "",
"title": "",
"validators": [],
"help": "",
"editorClass": "",
"editorAttrs": "",
"fieldClass": "",
"fieldAttrs": "",
"template": "",
},
"TextArea": {
"type": "",
"title": "",
"validators": [],
"help": "",
"editorClass": "",
"editorAttrs": "",
"fieldClass": "",
"fieldAttrs": "",
"template": "",
},
"Checkbox": {
"type": "",
"title": "",
"validators": [],
"help": "",
"editorClass": "",
"editorAttrs": "",
"fieldClass": "",
"fieldAttrs": "",
"template": "",
},
"Checkboxes": {
"type": "",
"title": "",
"validators": [],
"help": "",
"editorClass": "",
"editorAttrs": "",
"fieldClass": "",
"fieldAttrs": "",
"template": "",
},
"Hidden": {
"type": "",
"title": "",
"validators": [],
"help": "",
"editorClass": "",
"editorAttrs": "",
"fieldClass": "",
"fieldAttrs": "",
"template": "",
},
"Select": {
"type": "",
"title": "",
"validators": [],
"help": "",
"editorClass": "",
"editorAttrs": "",
"fieldClass": "",
"fieldAttrs": "",
"template": "",
"options": ""
},
"Radio": {
"type": "",
"title": "",
"validators": [],
"help": "",
"editorClass": "",
"editorAttrs": "",
"fieldClass": "",
"fieldAttrs": "",
"template": "",
},
"Object": {
"type": "",
"title": "",
"validators": [],
"help": "",
"editorClass": "",
"editorAttrs": "",
"fieldClass": "",
"fieldAttrs": "",
"template": "",
},
"NestedModel": {
"type": "",
"title": "",
"validators": [],
"help": "",
"editorClass": "",
"editorAttrs": "",
"fieldClass": "",
"fieldAttrs": "",
"template": "",
},
"Date": {
"type": "",
"title": "",
"validators": [],
"help": "",
"editorClass": "",
"editorAttrs": "",
"fieldClass": "",
"fieldAttrs": "",
"template": "",
},
"DateTime": {
"type": "",
"title": "",
"validators": [],
"help": "",
"editorClass": "",
"editorAttrs": "",
"fieldClass": "",
"fieldAttrs": "",
"template": "",
},
"List": {
"type": "",
"title": "",
"validators": [],
"help": "",
"editorClass": "",
"editorAttrs": "",
"fieldClass": "",
"fieldAttrs": "",
"template": "",
}
};
this.div = div; // le div du form
this.typeInput = ["test", "textarea", "number", "checkbox", "select"]; // liste des input disponible
this.input = []; // liste des inputs créer
this.data = {}; // le formulaire en json
}
Form.prototype.init = function () {
"use strict";
window.console.log("test");
};
Form.prototype.charger = function (formulaire) { // json --> formulaire
"use strict";
/**
* effacer tout le formulaire
* faire une boucle sur l'objet
* si c'est une option de balise select
* sinon on ajoute simplement
*
**/
};
Form.prototype.transfrom = function () {
"use strict";
/**
* parcourire tous les enfants
* ajouter le nom de la balise comme clé
* et le reste dans la valeur
* stocker dans this.data
**/
};
Form.prototype.envoyer = function () {
"use strict";
window.jcms.socket.emit("modele", {
nomModel: this.data.nom,
data: this.data
});
};
Form.prototype.addInput = function (type) { // créer un input
"use strict";
var input = document.CreateElement(type);
this.input.push(input);
};
Form.prototype.addOption = function (select) {
"use strict";
// je sais plus
};
Form.prototype.demander = function (input) {
"use strict";
input.name = window.prompt("quelle nom pour la balise");
input.value = window.prompt("quelle valeur par defaut");
var obligatoire = 0; // je sais plus
};