EasyFormGenerator-StepWay-DEMO.html 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192
  1. <!DOCTYPE html>
  2. <html lang="en" ng-app="appDemo">
  3. <head>
  4. <title>Easy form generator</title>
  5. <meta charset="utf-8">
  6. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  7. <meta name="viewport" content="width=device-width, initial-scale=1">
  8. <meta name="author" content="Erwan Datin (MacKentoch)">
  9. <!-- head dep. : all css -->
  10. <link href="../bootstrap/dist/css/bootstrap.min.css" rel="stylesheet">
  11. <link href="../bootswatch/paper/bootstrap.min.css" rel="stylesheet">
  12. <link href="../font-awesome/css/font-awesome.min.css" rel="stylesheet">
  13. <link href="../animate.css/animate.min.css" rel="stylesheet">
  14. <!--textAngular css is broken since 1.4.4-->
  15. <!--<link href='../textAngular/dist/textAngular.css' rel='stylesheet'> -->
  16. <!--use own to avoid bad surprise-->
  17. <link href='../easy-form-generator/dist/css/eda.textAngular.min.css' rel='stylesheet'>
  18. <link href='../angularjs-toaster/toaster.min.css' rel='stylesheet' >
  19. <link href='../nya-bootstrap-select/dist/css/nya-bs-select.min.css' rel='stylesheet' >
  20. <link href="../easy-form-generator/dist/css/eda.stepway.min.css" rel="stylesheet">
  21. <head>
  22. <body ng-controller="demoController as demoCtrl" ng-cloak>
  23. <!-- navigation : just for decoration it is not easy form generator
  24. =============================================================-->
  25. <header id="pageHeader" >
  26. <div class="navbar navbar-default navbar-fixed-top">
  27. <div class="container">
  28. <div class="navbar-header">
  29. <a class="navbar-brand" href="#">Easy form generator</a>
  30. <button class="navbar-toggle" type="button" data-toggle="collapse" data-target="#navbar-main">
  31. <span class="icon-bar"></span>
  32. <span class="icon-bar"></span>
  33. <span class="icon-bar"></span>
  34. </button>
  35. </div>
  36. <div class="navbar-collapse collapse" id="navbar-main">
  37. <ul class="nav navbar-nav">
  38. </ul>
  39. <ul class="nav navbar-nav navbar-left">
  40. <li class="dropdown">
  41. <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">
  42. Switch language
  43. <span class="caret"></span></a>
  44. <ul class="dropdown-menu" role="menu">
  45. <li><a href="#" ng-click="demoCtrl.switchLanguage('en')">English</a></li>
  46. <li><a href="#" ng-click="demoCtrl.switchLanguage('fr')">French</a></li>
  47. <li><a href="#" ng-click="demoCtrl.switchLanguage('es')">Spanish</a></li>
  48. <li><a href="#" ng-click="demoCtrl.switchLanguage('de')">German</a></li>
  49. <li><a href="#" ng-click="demoCtrl.switchLanguage('jp')">Japanese</a></li>
  50. <li><a href="#" ng-click="demoCtrl.switchLanguage('tr')">Turkish</a></li>
  51. </ul>
  52. </li>
  53. </ul>
  54. <ul class="nav navbar-nav navbar-right">
  55. <li><a class="socialIcon" target="_blank" href="https://github.com/MacKentoch"><span class="text-center"><i class="fa fa-github"></i></span></a></li>
  56. </ul>
  57. </div>
  58. </div>
  59. </div>
  60. </header>
  61. <!-- Easy form generator: Step Way -->
  62. <eda-step-way-easy-form-gen
  63. eda-easy-form-generator-model="demoCtrl.easyFormGeneratorModel"
  64. eda-save-form-event="demoCtrl.saveForm(edaEasyFormGeneratorModel)">
  65. </eda-step-way-easy-form-gen>
  66. <!-- at the end of the body : all js -->
  67. <script type="text/javascript" src="../angular/angular.min.js"></script>
  68. <!-- YOUR APPLICATION WILL REPLACE THIS : -->
  69. <script type="text/javascript">
  70. (function(angular){
  71. 'use strict';
  72. angular
  73. .module('appDemo', ['eda.easyformGen.stepway'])
  74. .config(configFct)
  75. .controller('demoController', demoController);
  76. /**
  77. * config
  78. */
  79. configFct.$inject = ['easyFormSteWayConfigProvider'];
  80. function configFct(easyFormSteWayConfigProvider){
  81. //example get current language (by default = english)
  82. console.info('- from config - language is ' + easyFormSteWayConfigProvider.getCurrentLanguage());
  83. //set language to french :
  84. //easyFormSteWayConfigProvider.setLanguage('fr');
  85. //show/hide preview panel => default is true
  86. easyFormSteWayConfigProvider.showPreviewPanel(true);
  87. //show/hide models in preview panel => default is true
  88. easyFormSteWayConfigProvider.showPreviewModels(true);
  89. }
  90. /**
  91. * controller
  92. **/
  93. demoController.$inject = ['$timeout', 'easyFormSteWayConfig'];
  94. function demoController($timeout, easyFormSteWayConfig){
  95. var demoCtrl = this;
  96. demoCtrl.easyFormGeneratorModel = {}; // TIP : save a form then look at the console to get a better idea of this model
  97. demoCtrl.saveForm = saveForm;
  98. demoCtrl.currentLangue = refreshCurrentLanguage();
  99. demoCtrl.switchLanguage = switchLanguage;
  100. //get current language
  101. console.info('Current language is ' + demoCtrl.currentLangue);
  102. function switchLanguage(toLanguage){
  103. if(angular.isString){
  104. easyFormSteWayConfig.setLanguage(toLanguage);
  105. refreshCurrentLanguage();
  106. console.info('language changed to ' + demoCtrl.currentLangue);
  107. }
  108. }
  109. function refreshCurrentLanguage(){
  110. return easyFormSteWayConfig.getCurrentLanguage();
  111. }
  112. /**
  113. * when click on save form, will call your save form function :
  114. */
  115. function saveForm(easyFormGeneratorModel){
  116. console.info('-> from here : you can save models to database (your controller)');
  117. console.dir({
  118. 'What is it?' : 'this log shows you easy form returned model on save event',
  119. 'easyFormGeneratorModel' : easyFormGeneratorModel
  120. });
  121. }
  122. }
  123. /**
  124. *
  125. * MORE DETAILS ON 'easyFormGeneratorModel'
  126. * ----------------------------------------
  127. *
  128. * easy form generator model properties:
  129. *
  130. * - formName : {string} (at save step you name your form)
  131. * - btnSubmitText : {string} (if 'Submit' does not suits to you change submit button name)
  132. * - btnCancelText : {string} (if 'Cancel' does not suits to you change cancel button name)
  133. * - edaFieldsModel : {array} - easy form generator model that describe form
  134. * - edaFieldsModelStringified : {string} - exactly same as edaFieldsModel it is just stringified
  135. * - formlyFieldsModel : {object} - easy form generator model translate by itself 'edaFieldsModel' to 'angular formly fields model' -> usefull is you just need a formly directive
  136. * - dataModel : {object} - this object is filled when filling form.
  137. */
  138. })(angular);
  139. </script>
  140. <script type="text/javascript" src="../jquery/dist/jquery.min.js"></script>
  141. <script type="text/javascript" src="../bootstrap/dist/js/bootstrap.min.js"></script>
  142. <script type="text/javascript" src="../angular-bootstrap/ui-bootstrap-tpls.min.js"></script>
  143. <script type="text/javascript" src="../easy-form-generator/dist/js/eda.stepway.min.js"></script>
  144. <script type="text/javascript" src='../textAngular/dist/textAngular-rangy.min.js'></script>
  145. <script type="text/javascript" src='../textAngular/dist/textAngular-sanitize.min.js'></script>
  146. <script type="text/javascript" src='../textAngular/dist/textAngular.min.js'></script>
  147. <script type="text/javascript" src='../lodash/lodash.min.js'></script>
  148. <script type="text/javascript" src="../angular-animate/angular-animate.min.js"></script>
  149. <script type="text/javascript" src="../angular-translate/angular-translate.min.js"></script>
  150. <script type="text/javascript" src="../angularjs-toaster/toaster.min.js"></script>
  151. <script type="text/javascript" src="../nya-bootstrap-select/dist/js/nya-bs-select.min.js"></script>
  152. <script type="text/javascript" src="../api-check/dist/api-check.min.js"></script>
  153. <script type="text/javascript" src="../angular-formly/dist/formly.min.js"></script>
  154. <script type="text/javascript" src="../angular-formly-templates-bootstrap/dist/angular-formly-templates-bootstrap.min.js"></script>
  155. </body>
  156. </html>