mirror of http://localhost:9400/cloud/cms
				
				
				
			
							parent
							
								
									ec3b8680df
								
							
						
					
					
						commit
						cbf63d3f56
					
				@ -0,0 +1,60 @@
 | 
				
			|||||||
 | 
					/***
 | 
				
			||||||
 | 
					 * 
 | 
				
			||||||
 | 
					 * This file build forms from a given set of specifications (in JSON) format
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					var _form =function(_id,_data) {
 | 
				
			||||||
 | 
					    this._data  = _data // {input,defaults,choices}
 | 
				
			||||||
 | 
					    this._id    = _id
 | 
				
			||||||
 | 
					    //
 | 
				
			||||||
 | 
					    // let's clean up the data :
 | 
				
			||||||
 | 
					    this._data.defaults = (this._data.defaults == null)? {}:this._data.defaults
 | 
				
			||||||
 | 
					    this._data.choices = (this._data.choices == null)?{}: this._data.choices
 | 
				
			||||||
 | 
					    this.render = function (){
 | 
				
			||||||
 | 
					        _title = $('<div></div>').html(this._id).addClass(this._id)
 | 
				
			||||||
 | 
					        var _input = this._data.input
 | 
				
			||||||
 | 
					        var _defaults = this._data.defaults
 | 
				
			||||||
 | 
					        var _choices = this._data.choices
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        _input.forEach (_label=>{
 | 
				
			||||||
 | 
					            _value = _defaults[_label]
 | 
				
			||||||
 | 
					            if (_choices[_label]){
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            }else{
 | 
				
			||||||
 | 
					                //
 | 
				
			||||||
 | 
					                // This 
 | 
				
			||||||
 | 
					                
 | 
				
			||||||
 | 
					                _input = this.get.input(_label,_value)
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            
 | 
				
			||||||
 | 
					        })         
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    this.get = {}
 | 
				
			||||||
 | 
					    this.get.input = function (label,value){
 | 
				
			||||||
 | 
					        _frame = $('<div></div>')
 | 
				
			||||||
 | 
					        _label = $('<div></div>').html(label)
 | 
				
			||||||
 | 
					        _input =  $('<input type="text"/>').attr('placeholder',label.0.replace(/_/,' ').trim()).addClass("input-"+label)
 | 
				
			||||||
 | 
					        $(_input)[0].data = label
 | 
				
			||||||
 | 
					        if (value){
 | 
				
			||||||
 | 
					            $(_input).val(value)
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        _frame.append(_label,_input)
 | 
				
			||||||
 | 
					        return _frame
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    this.get.choice= function (label,_default,choices) {
 | 
				
			||||||
 | 
					        var _input = this.get.input(label,_default)
 | 
				
			||||||
 | 
					        $(input).addClass("hidden-input")
 | 
				
			||||||
 | 
					        $(_input).on('click',function (){
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        })
 | 
				
			||||||
 | 
					        _pane = $('<div class="choices"></div>')
 | 
				
			||||||
 | 
					        choices.forEach(_value=>{
 | 
				
			||||||
 | 
					            _option = $('<div><div>').addClass("option").addClass("option-"+_value)
 | 
				
			||||||
 | 
					            $(_pane).append(_option)
 | 
				
			||||||
 | 
					        })
 | 
				
			||||||
 | 
					        _pane.append(_input,choices)
 | 
				
			||||||
 | 
					        _frame = $('<div></div>').append(_pane)
 | 
				
			||||||
 | 
					        return _frame
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
					Loading…
					
					
				
		Reference in new issue