PATH:
home
/
letacommog
/
letaweb
/
admin
/
modules
/
contactform
define(['module/base'],function(base) { return createModuleDefinition([base], function($file_manager,$dialog) { this.initializeData = { forms: [ {name:'Name', type:'name', required:true}, {name:'Email', type:'email', required:true}, {name:'Message', type:'textarea', required:true} ], mailto:'abc@example.com', success:'Enter form success message here', require:'Enter form require message here', error:'Enter form error message here', submit:'Submit', reset:'Reset', }; this.subModules = [{type:'button',uniqueName:'submit',selector:'.submit_button'},{type:'button',uniqueName:'reset',selector:'.reset_button'}]; this.getFormFieldElement = function(index) { var form = jQuery('form', this.getElement()); return jQuery('.form_field:nth-child(' + (index + 1) + ')', this.getElement()); }; this.controller = function($scope, $moduleInstance) { $scope.fields = { text:'text', name:'text', email:'text', textarea:'textarea', file:'file', checkbox:'radio', radio:'radio', address:'text', phone:'text', password:'password', address:'text' }; $scope.default_fields = { name:{name:'New Field'}, text:{name:'New Field'}, email:{name:'New Field'}, textarea:{name:'New Field'}, file:{name:'New File'}, checkbox:{name:'New Field', options:'Options 1\t\nOptions 2'}, radio:{name:'New Field', options:'Options 1\t\nOptions 2'}, password:{name:'New Field'}, phone:{name:'New Field'}, address:{name:'New Field'}, line:{name:'New Line'}, spacer:{name:'New Line'} }; $scope.add_mode = false; for(var i = 0;i < $scope.data.forms.length;i++) { $scope.data.forms[i].edit_type = $scope.fields[$scope.data.forms[i].type]; $scope.data.forms[i].edit_mode = false; } $scope.deleteField = function(index) { $moduleInstance.getFormFieldElement(index).remove(); $scope.data.forms.splice(index,1); } $scope.editField = function(index) { $scope.data.forms[index].edit_mode = !$scope.data.forms[index].edit_mode; } $scope.insertField = function(type) { $scope.add_mode = false; var n = angular.copy($scope.default_fields[type]); n.type = type; n.required = false n.edit_mode = true; n.edit_type = $scope.fields[type]; $scope.data.forms.push(n); $moduleInstance.loadHtml(); } $scope.addField = function() { $scope.add_mode =true; } $scope.changeName = function(index) { var name = $scope.data.forms[index].name; var required = $scope.data.forms[index].required; var fieldElement = $moduleInstance.getFormFieldElement(index); var label = jQuery('label:first', fieldElement); label.html(name); if(required) label.append('*'); } $scope.changeRequired = function(index) { var name = $scope.data.forms[index].name; var required = $scope.data.forms[index].required; var fieldElement = $moduleInstance.getFormFieldElement(index); var label = jQuery('label:first', fieldElement); label.html(name); if(required) label.append('*'); } $scope.changeRequired = function(index) { var name = $scope.data.forms[index].name; var required = $scope.data.forms[index].required; var fieldElement = $moduleInstance.getFormFieldElement(index); var label = jQuery('label:first', fieldElement); label.html(name); if(required) label.append('*'); } $scope.changePlaceholder = function(index) { var placeholder = $scope.data.forms[index].placeholder; var type = $scope.data.forms[index].type; var selector = type == 'textarea' ? 'textarea' : ((type == 'email' || type== 'text') ? 'input[type="text"]': 'input'); var required = $scope.data.forms[index].required; var fieldElement = $moduleInstance.getFormFieldElement(index); var input = jQuery(selector,fieldElement); input.attr('placeholder',placeholder); } $scope.changeDescription = function(index) { var instruction = $scope.data.forms[index].instruction; var fieldElement = $moduleInstance.getFormFieldElement(index); var label = jQuery('label', fieldElement); var descriptionElement; if(label.next('p.description').length > 0) descriptionElement = label.next('p.description'); else { descriptionElement = jQuery('<p class="description"></p>') label.after(descriptionElement); } descriptionElement.html(instruction); } }; }); });
[+]
..
[-] backend.php
[edit]
[-] backend.js
[edit]
[-] frontend_class.php
[edit]
[-] frontend_script.php
[edit]
[-] frontend_view.php
[edit]