gina 0.1.6-alpha.7 → 0.1.6-alpha.71

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (326) hide show
  1. package/README-4Contributors.md +14 -8
  2. package/README.md +3 -3
  3. package/bin/cli +13 -0
  4. package/bin/gina +29 -1
  5. package/framework/v0.1.6-alpha.71/VERSION +1 -0
  6. package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/asset/plugin/README.md +1 -0
  7. package/framework/v0.1.6-alpha.71/core/asset/plugin/dist/vendor/gina/css/gina.min.css.map +1 -0
  8. package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/asset/plugin/dist/vendor/gina/js/gina.js +370 -75
  9. package/framework/v0.1.6-alpha.71/core/asset/plugin/dist/vendor/gina/js/gina.min.js +775 -0
  10. package/framework/v0.1.6-alpha.71/core/asset/plugin/dist/vendor/gina/js/gina.min.js.map +8 -0
  11. package/framework/v0.1.6-alpha.71/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +8 -0
  12. package/framework/v0.1.6-alpha.71/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.map +8 -0
  13. package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/config.js +116 -33
  14. package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/connectors/couchbase/lib/connector.v4.js +28 -22
  15. package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/controller/controller.js +357 -42
  16. package/framework/v0.1.6-alpha.71/core/deps/busboy-1.6.0/.github/workflows/ci.yml +24 -0
  17. package/framework/v0.1.6-alpha.71/core/deps/busboy-1.6.0/.github/workflows/lint.yml +23 -0
  18. package/framework/v0.1.6-alpha.71/core/deps/busboy-1.6.0/LICENSE +19 -0
  19. package/framework/v0.1.6-alpha.71/core/deps/busboy-1.6.0/README.md +191 -0
  20. package/framework/v0.1.6-alpha.71/core/deps/busboy-1.6.0/bench/bench-multipart-fields-100mb-big.js +149 -0
  21. package/framework/v0.1.6-alpha.71/core/deps/busboy-1.6.0/bench/bench-multipart-fields-100mb-small.js +143 -0
  22. package/framework/v0.1.6-alpha.71/core/deps/busboy-1.6.0/bench/bench-multipart-files-100mb-big.js +154 -0
  23. package/framework/v0.1.6-alpha.71/core/deps/busboy-1.6.0/bench/bench-multipart-files-100mb-small.js +148 -0
  24. package/framework/v0.1.6-alpha.71/core/deps/busboy-1.6.0/bench/bench-urlencoded-fields-100pairs-small.js +101 -0
  25. package/framework/v0.1.6-alpha.71/core/deps/busboy-1.6.0/bench/bench-urlencoded-fields-900pairs-small-alt.js +84 -0
  26. package/framework/v0.1.6-alpha.71/core/deps/busboy-1.6.0/lib/index.js +57 -0
  27. package/framework/v0.1.6-alpha.71/core/deps/busboy-1.6.0/lib/types/multipart.js +680 -0
  28. package/framework/v0.1.6-alpha.71/core/deps/busboy-1.6.0/lib/types/urlencoded.js +350 -0
  29. package/framework/v0.1.6-alpha.71/core/deps/busboy-1.6.0/lib/utils.js +596 -0
  30. package/framework/v0.1.6-alpha.71/core/deps/busboy-1.6.0/package.json +22 -0
  31. package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/gna.js +97 -18
  32. package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/model/index.js +28 -24
  33. package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/plugins/lib/validator/src/form-validator.js +5 -3
  34. package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/plugins/lib/validator/src/main.js +240 -53
  35. package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/router.js +75 -40
  36. package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/server.isaac.js +35 -8
  37. package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/server.js +31 -5
  38. package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/template/boilerplate/bundle/controllers/setup.js +2 -2
  39. package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/template/conf/templates.json +4 -2
  40. package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/helpers/context.js +16 -11
  41. package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/helpers/path.js +25 -9
  42. package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/bundle/add.js +2 -1
  43. package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/bundle/start.js +21 -8
  44. package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/framework/build.js +1 -1
  45. package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/framework/init.js +18 -0
  46. package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/framework/link-node-modules.js +2 -3
  47. package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/framework/link.js +1 -0
  48. package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/framework/tail.js +28 -11
  49. package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/framework/version.js +15 -1
  50. package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/helper.js +6 -2
  51. package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/project/add.js +3 -2
  52. package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/project/build.js +4 -4
  53. package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/protocol/list.js +71 -50
  54. package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/collection/src/main.js +8 -0
  55. package/framework/v0.1.6-alpha.71/lib/domain/exemples/backend.js +12 -0
  56. package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/domain/src/main.js +59 -1
  57. package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/merge/package.json +1 -1
  58. package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/model.js +1 -1
  59. package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/routing/src/main.js +50 -11
  60. package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/session-store.js +2 -2
  61. package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/swig-filters/src/main.js +64 -9
  62. package/framework/v0.1.6-alpha.71/package.json +12 -0
  63. package/package.json +2 -2
  64. package/utils/helper.js +24 -0
  65. package/framework/v0.1.6-alpha.7/VERSION +0 -1
  66. package/framework/v0.1.6-alpha.7/core/asset/plugin/dist/vendor/gina/css/gina.min.css.map +0 -1
  67. package/framework/v0.1.6-alpha.7/core/asset/plugin/dist/vendor/gina/js/gina.min.js +0 -765
  68. package/framework/v0.1.6-alpha.7/core/asset/plugin/dist/vendor/gina/js/gina.min.js.map +0 -8
  69. package/framework/v0.1.6-alpha.7/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +0 -7
  70. package/framework/v0.1.6-alpha.7/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.map +0 -8
  71. package/framework/v0.1.6-alpha.7/lib/domain/exemples/backend.js +0 -0
  72. package/framework/v0.1.6-alpha.7/package.json +0 -14
  73. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/AUTHORS +0 -0
  74. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/LICENSE +0 -0
  75. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/asset/html/nolayout.html +0 -0
  76. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/asset/html/static.html +0 -0
  77. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/asset/img/android-chrome-192x192.png +0 -0
  78. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/asset/img/android-chrome-512x512.png +0 -0
  79. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/asset/img/apple-touch-icon.png +0 -0
  80. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/asset/img/favicon-16x16.png +0 -0
  81. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/asset/img/favicon-32x32.png +0 -0
  82. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/asset/img/favicon.ico +0 -0
  83. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/asset/plugin/dist/vendor/gina/css/gina.min.css +0 -0
  84. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/asset/plugin/dist/vendor/gina/html/toolbar.html +0 -0
  85. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/asset/plugin/uuid.json +0 -0
  86. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/connectors/couchbase/index.js +0 -0
  87. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/connectors/couchbase/lib/connector.js +0 -0
  88. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/connectors/couchbase/lib/connector.v2.js +0 -0
  89. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/connectors/couchbase/lib/connector.v3.js +0 -0
  90. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/connectors/couchbase/lib/n1ql.js +0 -0
  91. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/connectors/couchbase/lib/session-store.js +0 -0
  92. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/connectors/couchbase/lib/session-store.v2.js +0 -0
  93. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/connectors/couchbase/lib/session-store.v3.js +0 -0
  94. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/connectors/couchbase/lib/session-store.v4.js +0 -0
  95. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/controller/controller.framework.js +0 -0
  96. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/controller/index.js +0 -0
  97. /package/framework/{v0.1.6-alpha.7/core/deps/busboy → v0.1.6-alpha.71/core/deps/busboy-0.2.14}/.travis.yml +0 -0
  98. /package/framework/{v0.1.6-alpha.7/core/deps/busboy → v0.1.6-alpha.71/core/deps/busboy-0.2.14}/LICENSE +0 -0
  99. /package/framework/{v0.1.6-alpha.7/core/deps/busboy → v0.1.6-alpha.71/core/deps/busboy-0.2.14}/README.md +0 -0
  100. /package/framework/{v0.1.6-alpha.7/core/deps/busboy → v0.1.6-alpha.71/core/deps/busboy-0.2.14}/deps/encoding/encoding-indexes.js +0 -0
  101. /package/framework/{v0.1.6-alpha.7/core/deps/busboy → v0.1.6-alpha.71/core/deps/busboy-0.2.14}/deps/encoding/encoding.js +0 -0
  102. /package/framework/{v0.1.6-alpha.7/core/deps/busboy → v0.1.6-alpha.71/core/deps/busboy-0.2.14}/lib/main.js +0 -0
  103. /package/framework/{v0.1.6-alpha.7/core/deps/busboy → v0.1.6-alpha.71/core/deps/busboy-0.2.14}/lib/types/multipart.js +0 -0
  104. /package/framework/{v0.1.6-alpha.7/core/deps/busboy → v0.1.6-alpha.71/core/deps/busboy-0.2.14}/lib/types/urlencoded.js +0 -0
  105. /package/framework/{v0.1.6-alpha.7/core/deps/busboy → v0.1.6-alpha.71/core/deps/busboy-0.2.14}/lib/utils.js +0 -0
  106. /package/framework/{v0.1.6-alpha.7/core/deps/busboy → v0.1.6-alpha.71/core/deps/busboy-0.2.14}/package.json +0 -0
  107. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/deps/swig-client/swig-2.0.0.min.js +0 -0
  108. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/dev/index.js +0 -0
  109. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/dev/lib/class.js +0 -0
  110. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/dev/lib/factory.js +0 -0
  111. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/dev/lib/tools.js +0 -0
  112. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/locales/README.md +0 -0
  113. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/locales/currency.json +0 -0
  114. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/locales/dist/language/en.json +0 -0
  115. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/locales/dist/language/fr.json +0 -0
  116. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/locales/dist/region/en.json +0 -0
  117. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/locales/dist/region/fr.json +0 -0
  118. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/locales/index.js +0 -0
  119. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/locales/src/make.js +0 -0
  120. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/locales/src/resources/currency.csv +0 -0
  121. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/locales/src/resources/region.csv +0 -0
  122. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/locales/src/resources/region.mapping.json +0 -0
  123. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/mime.types +0 -0
  124. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/model/entity.js +0 -0
  125. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/model/template/entityFactory.js +0 -0
  126. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/model/template/index.js +0 -0
  127. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/plugins/README.md +0 -0
  128. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/plugins/index.js +0 -0
  129. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/plugins/lib/file/README.md +0 -0
  130. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/plugins/lib/file/build.json +0 -0
  131. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/plugins/lib/file/package.json +0 -0
  132. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/plugins/lib/intl/README.md +0 -0
  133. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/plugins/lib/intl/build.json +0 -0
  134. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/plugins/lib/intl/package.json +0 -0
  135. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/plugins/lib/intl/src/main.js +0 -0
  136. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/plugins/lib/storage/README.md +0 -0
  137. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/plugins/lib/storage/build.json +0 -0
  138. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/plugins/lib/storage/package.json +0 -0
  139. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/plugins/lib/storage/src/main.js +0 -0
  140. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/plugins/lib/validator/README.md +0 -0
  141. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/plugins/lib/validator/build.json +0 -0
  142. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/plugins/lib/validator/package.json +0 -0
  143. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/server.express.js +0 -0
  144. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/status.codes +0 -0
  145. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/template/_gitignore +0 -0
  146. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/template/boilerplate/bundle/config/app.json +0 -0
  147. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/template/boilerplate/bundle/config/routing.json +0 -0
  148. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/template/boilerplate/bundle/config/settings.json +0 -0
  149. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/template/boilerplate/bundle/config/settings.server.json +0 -0
  150. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/template/boilerplate/bundle/config/templates.json +0 -0
  151. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/template/boilerplate/bundle/controllers/controller.content.js +0 -0
  152. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/template/boilerplate/bundle/controllers/controller.js +0 -0
  153. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/template/boilerplate/bundle/index.js +0 -0
  154. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/template/boilerplate/bundle_namespace/controllers/controller.js +0 -0
  155. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/template/boilerplate/bundle_public/css/default.css +0 -0
  156. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/template/boilerplate/bundle_public/css/vendor/readme.md +0 -0
  157. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/template/boilerplate/bundle_public/favicon.ico +0 -0
  158. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/template/boilerplate/bundle_public/js/vendor/readme.md +0 -0
  159. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/template/boilerplate/bundle_public/readme.md +0 -0
  160. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/template/boilerplate/bundle_templates/handlers/main.js +0 -0
  161. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/template/boilerplate/bundle_templates/html/content/homepage.html +0 -0
  162. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/template/boilerplate/bundle_templates/html/includes/error-msg-noscript.html +0 -0
  163. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/template/boilerplate/bundle_templates/html/includes/error-msg-outdated-browser.html +0 -0
  164. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/template/boilerplate/bundle_templates/html/layouts/main.html +0 -0
  165. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/template/command/gina.bat.tpl +0 -0
  166. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/template/command/gina.tpl +0 -0
  167. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/template/conf/env.json +0 -0
  168. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/template/conf/manifest.json +0 -0
  169. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/template/conf/package.json +0 -0
  170. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/template/conf/settings.json +0 -0
  171. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/template/conf/statics.json +0 -0
  172. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/template/error/client/json/401.json +0 -0
  173. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/template/error/client/json/403.json +0 -0
  174. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/template/error/client/json/404.json +0 -0
  175. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/template/error/server/html/50x.html +0 -0
  176. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/template/error/server/json/500.json +0 -0
  177. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/template/error/server/json/503.json +0 -0
  178. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/core/template/extensions/logger/config.json +0 -0
  179. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/helpers/console.js +0 -0
  180. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/helpers/data/LICENSE +0 -0
  181. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/helpers/data/README.md +0 -0
  182. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/helpers/data/package.json +0 -0
  183. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/helpers/data/src/main.js +0 -0
  184. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/helpers/dateFormat.js +0 -0
  185. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/helpers/index.js +0 -0
  186. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/helpers/json/LICENSE +0 -0
  187. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/helpers/json/README.md +0 -0
  188. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/helpers/json/package.json +0 -0
  189. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/helpers/json/src/main.js +0 -0
  190. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/helpers/plugins/README.md +0 -0
  191. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/helpers/plugins/package.json +0 -0
  192. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/helpers/plugins/src/api-error.js +0 -0
  193. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/helpers/plugins/src/main.js +0 -0
  194. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/helpers/prototypes.js +0 -0
  195. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/helpers/task.js +0 -0
  196. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/helpers/text.js +0 -0
  197. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/archiver/README.md +0 -0
  198. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/archiver/build.json +0 -0
  199. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/archiver/package.json +0 -0
  200. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/archiver/src/dep/jszip.min.js +0 -0
  201. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/archiver/src/main.js +0 -0
  202. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/aliases.json +0 -0
  203. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/bundle/arguments.json +0 -0
  204. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/bundle/copy.js +0 -0
  205. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/bundle/cp.js +0 -0
  206. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/bundle/help.js +0 -0
  207. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/bundle/help.txt +0 -0
  208. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/bundle/list.js +0 -0
  209. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/bundle/remove.js +0 -0
  210. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/bundle/rename.js +0 -0
  211. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/bundle/restart.js +0 -0
  212. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/bundle/rm.js +0 -0
  213. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/bundle/status.js +0 -0
  214. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/bundle/stop.js +0 -0
  215. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/env/add.js +0 -0
  216. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/env/get.js +0 -0
  217. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/env/help.js +0 -0
  218. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/env/help.txt +0 -0
  219. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/env/link-dev.js +0 -0
  220. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/env/list.js +0 -0
  221. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/env/remove.js +0 -0
  222. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/env/rm.js +0 -0
  223. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/env/set.js +0 -0
  224. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/env/unset.js +0 -0
  225. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/env/use.js +0 -0
  226. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/framework/dot.js +0 -0
  227. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/framework/get.js +0 -0
  228. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/framework/help.js +0 -0
  229. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/framework/help.txt +0 -0
  230. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/framework/msg.json +0 -0
  231. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/framework/open.js +0 -0
  232. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/framework/restart.js +0 -0
  233. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/framework/set.js +0 -0
  234. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/framework/start.js +0 -0
  235. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/framework/status.js +0 -0
  236. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/framework/stop.js +0 -0
  237. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/framework/update.js +0 -0
  238. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/gina-dev.1.md +0 -0
  239. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/gina-framework.1.md +0 -0
  240. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/gina.1.md +0 -0
  241. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/index.js +0 -0
  242. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/msg.json +0 -0
  243. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/port/help.js +0 -0
  244. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/port/help.txt +0 -0
  245. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/port/inc/scan.js +0 -0
  246. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/port/list.js +0 -0
  247. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/port/reset.js +0 -0
  248. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/port/set.js +0 -0
  249. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/project/arguments.json +0 -0
  250. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/project/help.js +0 -0
  251. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/project/help.txt +0 -0
  252. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/project/import.js +0 -0
  253. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/project/list.js +0 -0
  254. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/project/move.js +0 -0
  255. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/project/remove.js +0 -0
  256. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/project/rename.js +0 -0
  257. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/project/restart.js +0 -0
  258. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/project/rm.js +0 -0
  259. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/project/start.js +0 -0
  260. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/project/status.js +0 -0
  261. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/project/stop.js +0 -0
  262. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/protocol/help.js +0 -0
  263. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/protocol/help.txt +0 -0
  264. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/protocol/set.js +0 -0
  265. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/scope/add.js +0 -0
  266. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/scope/help.js +0 -0
  267. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/scope/help.txt +0 -0
  268. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/scope/link-local.js +0 -0
  269. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/scope/link-production.js +0 -0
  270. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/scope/list.js +0 -0
  271. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/scope/remove.js +0 -0
  272. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/scope/rm.js +0 -0
  273. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/scope/use.js +0 -0
  274. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cmd/view/add.js +0 -0
  275. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/collection/README.md +0 -0
  276. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/collection/build.json +0 -0
  277. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/collection/package.json +0 -0
  278. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/config.js +0 -0
  279. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cron/README.md +0 -0
  280. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cron/package.json +0 -0
  281. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/cron/src/main.js +0 -0
  282. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/domain/LICENSE +0 -0
  283. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/domain/README.md +0 -0
  284. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/domain/dist/public_suffix_list.dat +0 -0
  285. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/domain/exemples/frontend.html +0 -0
  286. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/domain/package.json +0 -0
  287. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/generator/index.js +0 -0
  288. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/index.js +0 -0
  289. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/inherits/LICENSE +0 -0
  290. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/inherits/README.md +0 -0
  291. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/inherits/example/inheriting_eventemitter.js +0 -0
  292. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/inherits/example/protected_inheritance.js +0 -0
  293. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/inherits/example/simple_inheritance.js +0 -0
  294. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/inherits/example/super_attribute_overridden_by_child_on_init.js +0 -0
  295. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/inherits/package.json +0 -0
  296. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/inherits/src/main.js +0 -0
  297. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/logger/README.md +0 -0
  298. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/logger/package.json +0 -0
  299. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/logger/src/containers/default/index.js +0 -0
  300. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/logger/src/containers/file/index.js +0 -0
  301. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/logger/src/containers/file/lib/logrotator/README.md +0 -0
  302. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/logger/src/containers/file/lib/logrotator/index.js +0 -0
  303. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/logger/src/containers/mq/index.js +0 -0
  304. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/logger/src/containers/mq/listener.js +0 -0
  305. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/logger/src/containers/mq/speaker.js +0 -0
  306. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/logger/src/helper.js +0 -0
  307. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/logger/src/main.js +0 -0
  308. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/math/index.js +0 -0
  309. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/merge/README.md +0 -0
  310. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/merge/example/merge.js +0 -0
  311. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/merge/example/merge_2_literal objects.js +0 -0
  312. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/merge/example/merge_and_preserve_first.js +0 -0
  313. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/merge/src/main.js +0 -0
  314. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/proc.js +0 -0
  315. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/routing/README.md +0 -0
  316. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/routing/build.json +0 -0
  317. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/routing/package.json +0 -0
  318. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/shell.js +0 -0
  319. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/swig-filters/README.md +0 -0
  320. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/swig-filters/package.json +0 -0
  321. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/url/README.md +0 -0
  322. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/url/index.js +0 -0
  323. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/url/mocks.json +0 -0
  324. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/url/routing.json +0 -0
  325. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/url/test.js +0 -0
  326. /package/framework/{v0.1.6-alpha.7 → v0.1.6-alpha.71}/lib/validator.js +0 -0
@@ -128,6 +128,7 @@
128
128
  'eventData' : {},
129
129
  'target' : (isGFFCtx) ? document : null, // by default
130
130
  'cachedErrors' : {},
131
+ 'lastFocused' : (isGFFCtx) ? [] : null,
131
132
  'binded' : false,
132
133
  'unbinded' : false,
133
134
  'withUserBindings' : false,
@@ -409,12 +410,12 @@
409
410
 
410
411
  var refreshWarning = function($el) {
411
412
  var formId = $el.form.getAttribute('id');
412
- if ( /^true$/i.test(instance.$forms[formId].isValidating) ) {
413
- return;
414
- }
415
413
 
416
- var $parent = $el.parentNode, isErrorMessageHidden = false;
417
- var $children = $parent.getElementsByTagName('div');
414
+
415
+ var $parent = $el.parentNode
416
+ , isErrorMessageHidden = false
417
+ , $children = $parent.getElementsByTagName('div')
418
+ ;
418
419
 
419
420
  if ( /form\-item\-warning/.test($parent.className) ) {
420
421
  $parent.className = $parent.className.replace(/form\-item\-warning/, 'form-item-error');
@@ -424,6 +425,14 @@
424
425
  isErrorMessageHidden = true;
425
426
  }
426
427
 
428
+ // Fixed added on 2025-03-07
429
+ if (
430
+ /^true$/i.test(instance.$forms[formId].isValidating)
431
+ && !isErrorMessageHidden
432
+ ) {
433
+ return;
434
+ }
435
+
427
436
 
428
437
  for (var c = 0, cLen = $children.length; c<cLen; ++c) {
429
438
  if ( /form\-item\-error\-message/.test($children[c].className) ) {
@@ -445,7 +454,7 @@
445
454
  * @param {object} $form - Target (HTMLFormElement)
446
455
  * @param {object} errors
447
456
  * @param {object|null} data
448
- * @param {object|null} [fileName]
457
+ * @param {string|null} [fileName]
449
458
  */
450
459
  var liveCheckErrors = {}; // Per Form & Per Element
451
460
  var handleErrorsDisplay = function($form, errors, data, fieldName) {
@@ -476,7 +485,7 @@
476
485
  if ( typeof(liveCheckErrors[formId]) == 'undefined') {
477
486
  liveCheckErrors[formId] = {};
478
487
  }
479
- if (errors.count() > 0) {
488
+ if (errors && errors.count() > 0) {
480
489
  // reset field name
481
490
  liveCheckErrors[formId][fieldName] = {};
482
491
  // override
@@ -486,8 +495,29 @@
486
495
  }
487
496
  errors = liveCheckErrors[formId];
488
497
  // only if the form has not been sent yet
489
- if (!instance.$forms[formId].sent || instance.$forms[formId].isValidating) {
498
+ if (
499
+ !instance.$forms[formId].sent
500
+ ||
501
+ instance.$forms[formId].isValidating
502
+ ) {
490
503
  isWarning = true;
504
+ // Fixed on 2025-03-07
505
+ var lastFocused = instance.$forms[formId].lastFocused;
506
+ // console.debug('fieldName: '+ fieldName + '\nactiveElement: '+ document.activeElement.getAttribute('name') +'\nlastFocused: ', lastFocused);
507
+ if (
508
+ lastFocused.length > 0
509
+ && typeof(lastFocused[1]) != 'undefined'
510
+ && lastFocused[1].name == fieldName
511
+ ||
512
+ lastFocused.length > 0
513
+ && !lastFocused[1]
514
+ && document.activeElement.getAttribute('name') != lastFocused[0].name
515
+ ||
516
+ document.activeElement.getAttribute('name') != fieldName
517
+ ) {
518
+ isWarning = false;
519
+ }
520
+ // console.debug('isWarning: '+isWarning);
491
521
  }
492
522
  } else {
493
523
  if ( typeof(liveCheckErrors[formId][fieldName]) != 'undefined') {
@@ -551,7 +581,11 @@
551
581
 
552
582
  if (!name) continue;
553
583
 
554
- if ( typeof(errors[name]) != 'undefined' && !/(form\-item\-error|form\-item\-warning)/.test($parent.className) ) {
584
+ if (
585
+ errors
586
+ && typeof(errors[name]) != 'undefined'
587
+ && !/(form\-item\-error|form\-item\-warning)/.test($parent.className)
588
+ ) {
555
589
 
556
590
  if (isWarning) {
557
591
  // adding warning class
@@ -592,7 +626,24 @@
592
626
 
593
627
 
594
628
 
595
- } else if ( typeof(errors[name]) == 'undefined' && /(form\-item\-error|form\-item\-warning)/.test($parent.className) || typeof(errors[name]) != 'undefined' && errors[name].count() == 0 && /(form\-item\-error|form\-item\-warning)/.test($parent.className) ) {
629
+ } else if (
630
+ errors
631
+ && typeof(errors[name]) == 'undefined'
632
+ && /(form\-item\-error|form\-item\-warning)/.test($parent.className)
633
+ ||
634
+ errors
635
+ && typeof(errors[name]) != 'undefined' && errors[name].count() == 0
636
+ && /(form\-item\-error|form\-item\-warning)/.test($parent.className)
637
+ ) {
638
+ // Fixed on 2025-03-10
639
+ // targeted field must be the active element
640
+ if (
641
+ document.activeElement.getAttribute('name') != fieldName
642
+ && errors.count() > 0
643
+ ) {
644
+ break
645
+ }
646
+ console.debug('[handleErrorsDisplay] Resetting when not in error');
596
647
  // reset when not in error
597
648
  // remove child elements
598
649
  var $children = $parent.getElementsByTagName('div');
@@ -606,16 +657,34 @@
606
657
 
607
658
  $parent.className = $parent.className.replace(/(\s+form\-item\-error|form\-item\-error|\s+form\-item\-warning|form\-item\-warning)/, '');
608
659
 
609
- } else if ( typeof(errors[name]) != 'undefined' && errAttr) {
660
+ } else if (
661
+ errors.count() > 0
662
+ && typeof(errors[name]) != 'undefined'
663
+ && errAttr
664
+ ) {
610
665
  // refreshing already displayed error on msg update
611
666
  var $divs = $parent.getElementsByTagName('div');
612
667
  for (var d = 0, dLen = $divs.length; d<dLen; ++d) {
613
- if ($divs[d].className == 'form-item-error-message') {
668
+ // Fixed added on 2025-03-05: className can have more than one !!
669
+ let foundMessage = $divs[d].className.match("form-item-error-message");
670
+ if (
671
+ foundMessage
672
+ && typeof(foundMessage.length) != 'undefined'
673
+ && foundMessage.length > 0
674
+ ) {
614
675
 
615
676
  $divs[d].parentElement.removeChild($divs[d]);
616
677
  $err = document.createElement('div');
617
678
  $err.setAttribute('class', 'form-item-error-message');
618
679
 
680
+ // Fixed added on 2025-03-09: className cleanup
681
+ if (
682
+ !isWarning
683
+ && /(\s+form\-item\-warning|form\-item\-warning)/.test($parent.className)
684
+ ) {
685
+ $parent.className = $parent.className.replace(/(\s+form\-item\-warning|form\-item\-warning)/, ' form-item-error');
686
+ }
687
+
619
688
  // injecting error messages
620
689
  // {
621
690
  // field: {
@@ -640,12 +709,17 @@
640
709
  }
641
710
  }
642
711
 
643
- if ($err && $target.type != 'hidden')
712
+ if ($err && $target.type != 'hidden') {
644
713
  insertAfter($target, $err);
645
-
714
+ }
646
715
  }
647
716
 
648
- if (typeof(fieldName) != 'undefined' && fieldName === $el.name) break;
717
+ if (
718
+ typeof(fieldName) != 'undefined'
719
+ && fieldName === $el.name
720
+ ) {
721
+ break;
722
+ }
649
723
  }
650
724
 
651
725
 
@@ -1276,6 +1350,13 @@
1276
1350
  // } else { // external - need to remove `X-Requested-With` from `options.headers`
1277
1351
  result.location = (!/^http/.test(result.location) && !/^\//.test(result.location) ) ? location.protocol +'//' + result.location : result.location;
1278
1352
  //}
1353
+ // isProxyHost ?
1354
+ if (
1355
+ result.location.replace(/^http(.*)\:\d+/, '$1').replace(/^\:\/\//, '').split(/\//g)[0] == gina.config.hostname
1356
+ && gina.config.hostname == window.location.host
1357
+ ) {
1358
+ result.location = location.protocol + result.location.replace(/^http(.*)\:\d+/, '$1').replace(/^\:/, '')
1359
+ }
1279
1360
 
1280
1361
  return setTimeout(() => {
1281
1362
  window.location.href = result.location;
@@ -3126,7 +3207,6 @@
3126
3207
  } else {
3127
3208
  handleErrorsDisplay(event.target.form, errors, null, event.target.name);
3128
3209
  }
3129
- //return cancelEvent(event);
3130
3210
  }
3131
3211
 
3132
3212
 
@@ -3162,7 +3242,7 @@
3162
3242
  instance.$forms[formId].isValidating = true;
3163
3243
  validate($gForm, gFields, $gFields, gRules, function onSilentGlobalLiveValidation(gResult){
3164
3244
  instance.$forms[formId].isValidating = false;
3165
- console.debug('['+ formId +'] onSilentGlobalLiveValidation: '+ gResult.isValid(), gResult);
3245
+ console.debug('['+ formId +'] onSilentGlobalLiveValidation: '+ gResult.isValid(), gResult, gFields);
3166
3246
  var isFormValid = gResult.isValid();
3167
3247
  if ( envIsDev && isGFFCtx && typeof(window.ginaToolbar) != 'undefined' && window.ginaToolbar ) {
3168
3248
  // update toolbar
@@ -3178,6 +3258,24 @@
3178
3258
  }
3179
3259
 
3180
3260
 
3261
+ if ( !isFormValid && gResult.error ) {
3262
+ instance.$forms[ $el.form.getAttribute('id') ].errors = gResult.error;
3263
+ // Fixed on 2025-03-09
3264
+ // for (let eField in gResult.error) {
3265
+ // refreshWarning($gFields[eField]);
3266
+ // // handleErrorsDisplay($gForm, gResult.error, gResult.data, eField);
3267
+ // }
3268
+ }
3269
+ // Fixed on 2025-03-10
3270
+ // Eg.: input select change impacting another element: solve `no more errors`
3271
+ else if (isFormValid) {
3272
+ //resetting error display
3273
+ instance.$forms[ formId ].errors = {};
3274
+ console.debug('resetting field: '+ $el.name);
3275
+ liveCheckErrors[formId] = {};
3276
+ handleErrorsDisplay($gForm, {}, null, $el.name);
3277
+ }
3278
+
3181
3279
  updateSubmitTriggerState( $gForm, isFormValid);
3182
3280
 
3183
3281
  once = false;
@@ -3211,13 +3309,17 @@
3211
3309
  // other inputs & textareas
3212
3310
  else if ( /^focusin\./i.test(event.type) ) {
3213
3311
  if ( /\-error/.test($el.parentNode.className) ) {
3214
- console.debug('#1 you just focusin ....'+$el.id, $el.value);
3312
+ console.debug('#1 you just focusin ....'+$el.id, $el.value, instance.$forms[ $el.form.getAttribute('id') ].isValidating);
3215
3313
  refreshWarning($el);
3216
3314
  }
3217
3315
  }
3218
3316
  else if ( /^focusout\./i.test(event.type) ) {
3219
3317
  if ( /\-warning/.test($el.parentNode.className) ) {
3220
3318
  console.debug('#1 you just focusout ....'+$el.id, $el.value);
3319
+ // event.target.form.getAttribute('id');
3320
+ // $el.form.id
3321
+ // $el.form.getAttribute('id')
3322
+ instance.$forms[ $el.form.getAttribute('id') ].isValidating = false;
3221
3323
  refreshWarning($el);
3222
3324
  // in case error context is changed by another task
3223
3325
  handleErrorsDisplay($el.form, instance.$forms[ $el.form.getAttribute('id') ].errors, null, $el.name);
@@ -3226,12 +3328,30 @@
3226
3328
  else if ( /^keyup\./i.test(event.type) ) {
3227
3329
  $el.ginaFormValidatorTestedValue = $el.value;
3228
3330
  liveCheckTimer = setTimeout( function onLiveCheckTimer() {
3229
- // do not trigger for copy/paste event
3230
- if ( ['91', '17'].indexOf(''+event.keyCode) > -1 && keyboardMapping.count() == 0) {
3331
+ // Do not trigger for copy/paste event
3332
+ if ( ['91', '17', '16'].indexOf(''+event.keyCode) > -1 && keyboardMapping.count() == 0) {
3231
3333
  //console.debug('mapping ', keyboardMapping);
3232
3334
  return;
3233
3335
  }
3234
- console.debug(' keyup ('+ event.keyCode +') .... '+$el.id, $el.value, ' VS ',$el.ginaFormValidatorTestedValue + '(old)');
3336
+
3337
+ // Fixed added on 2025-03-05:
3338
+ // Treat TAB as focus in/out
3339
+ if ( ['9'].indexOf(''+event.keyCode) > -1 ) {
3340
+ var $previeousEl = document.getElementById(instance.$forms[ $el.form.getAttribute('id') ].lastFocused[1].id);
3341
+ var errors = instance.$forms[ $previeousEl.form.getAttribute('id') ].errors;
3342
+ var isFormValid = true;
3343
+ console.debug('[TAB] you just focusout from "'+ instance.$forms[ $el.form.getAttribute('id') ].lastFocused[1].id +'" to "'+ $el.id +'"', "errors: ", errors);
3344
+ if (errors && errors.count() > 0 ) {
3345
+ instance.$forms[ $previeousEl.form.getAttribute('id') ].isValidating = false;
3346
+ isFormValid = false;
3347
+ }
3348
+ refreshWarning($previeousEl);
3349
+ // in case error context is changed by another task
3350
+ handleErrorsDisplay($previeousEl.form, errors, null, $previeousEl.name);
3351
+ updateSubmitTriggerState( $el.form, isFormValid);
3352
+ return;
3353
+ }
3354
+ console.debug('[A]['+keyboardMapping.count()+'] keyup ('+ event.keyCode +') .... '+$el.id, $el.value, ' VS ',$el.ginaFormValidatorTestedValue + '(old)');
3235
3355
  processEvent();
3236
3356
  }, 1000);
3237
3357
  }
@@ -3651,7 +3771,7 @@
3651
3771
  // submit buttons
3652
3772
  $elTMP = $form.target.getElementsByTagName('button');
3653
3773
  if ( $elTMP.length > 0 ) {
3654
- for(let i = 0, len = $elTMP.length; i < len; ++i) {
3774
+ for (let i = 0, len = $elTMP.length; i < len; ++i) {
3655
3775
  // if button is != type="submit", you will need to provide : data-gina-form-submit
3656
3776
  // TODO - On button binding, you can then provide data-gina-form-action & data-gina-form-method
3657
3777
  $els.push($elTMP[i])
@@ -3661,7 +3781,7 @@
3661
3781
  // submit links
3662
3782
  $elTMP = $form.target.getElementsByTagName('a');
3663
3783
  if ( $elTMP.length > 0 ) {
3664
- for(let i = 0, len = $elTMP.length; i < len; ++i) {
3784
+ for (let i = 0, len = $elTMP.length; i < len; ++i) {
3665
3785
  $els.push($elTMP[i])
3666
3786
  }
3667
3787
  }
@@ -3717,7 +3837,7 @@
3717
3837
  // textarea
3718
3838
  $elTMP = $form.target.getElementsByTagName('textarea');
3719
3839
  if ( $elTMP.length > 0 ) {
3720
- for(let i = 0, len = $elTMP.length; i < len; ++i) {
3840
+ for (let i = 0, len = $elTMP.length; i < len; ++i) {
3721
3841
  $els.push( $elTMP[i] )
3722
3842
  }
3723
3843
  }
@@ -3726,7 +3846,7 @@
3726
3846
  // forms inside main form
3727
3847
  $elTMP = $form.target.getElementsByTagName('form');
3728
3848
  if ( $elTMP.length > 0 ) {
3729
- for(let i = 0, len = $elTMP.length; i < len; ++i) {
3849
+ for (let i = 0, len = $elTMP.length; i < len; ++i) {
3730
3850
  $els.push( $elTMP[i] )
3731
3851
  }
3732
3852
  }
@@ -4535,7 +4655,16 @@
4535
4655
  validate($gForm, gFields, $gFields, gRules, function onSilentGlobalLiveValidation(gResult){
4536
4656
  instance.$forms[formId].isValidating = false;
4537
4657
  console.debug('[updateSelect]: onSilentGlobalLiveValidation: '+ gResult.isValid(), gResult);
4658
+ // Fixed on 2025-03-09
4538
4659
  var isFormValid = gResult.isValid();
4660
+ if (!isFormValid) {
4661
+ instance.$forms[formId].errors = gResult.error;
4662
+ for (let eField in gResult.error) {
4663
+ // refreshWarning($gFields[eField]);
4664
+ handleErrorsDisplay($gForm, gResult.error, gResult.data, eField);
4665
+ }
4666
+ }
4667
+
4539
4668
  updateSubmitTriggerState( $gForm, isFormValid);
4540
4669
  once = false;
4541
4670
  })
@@ -5058,7 +5187,7 @@
5058
5187
  ) {
5059
5188
  return false;
5060
5189
  }
5061
- // Fixed on 2021/06/08 - because of radio reset
5190
+ // Fixed added on 2021/06/08 - because of radio reset
5062
5191
  event.preventDefault();
5063
5192
 
5064
5193
  var _evt = $el.id;
@@ -5129,6 +5258,25 @@
5129
5258
  if (gina.events[_evt]) {
5130
5259
  cancelEvent(event);
5131
5260
 
5261
+ // Fixed added on 2025-03-05 - "last focus" vs "current focus"
5262
+ // To get active element: document.activeElement
5263
+ var formId = event.target.form.getAttribute('id') || event.currentTarget.getAttribute('id');
5264
+ var lastFocused = {
5265
+ id : $el.id,
5266
+ name: $el.name
5267
+ };
5268
+ if (!instance.$forms[formId].lastFocused.length) {
5269
+ instance.$forms[formId].lastFocused[0] = lastFocused;
5270
+ } else {
5271
+ instance.$forms[formId].lastFocused.splice(0,0,lastFocused);
5272
+ }
5273
+ lastFocused = ( typeof(instance.$forms[formId].lastFocused[1]) != 'undefined' ) ? instance.$forms[formId].lastFocused[1].id : null;
5274
+
5275
+ // cleanup
5276
+ instance.$forms[formId].lastFocused.splice(2);
5277
+
5278
+ // console.debug('lastFocused: ', lastFocused, ' VS current: ', $el.id);
5279
+
5132
5280
  triggerEvent(gina, $el, _evt, event.detail);
5133
5281
  }
5134
5282
  });
@@ -5445,7 +5593,7 @@
5445
5593
  ;
5446
5594
  $buttonsTMP = $target.getElementsByTagName('button');
5447
5595
  if ( $buttonsTMP.length > 0 ) {
5448
- for(let b = 0, len = $buttonsTMP.length; b < len; ++b) {
5596
+ for (let b = 0, len = $buttonsTMP.length; b < len; ++b) {
5449
5597
  if ($buttonsTMP[b].type == 'submit') {
5450
5598
  $buttons.push($buttonsTMP[b])
5451
5599
  }
@@ -5455,7 +5603,7 @@
5455
5603
  // binding links
5456
5604
  $buttonsTMP = $target.getElementsByTagName('a');
5457
5605
  if ( $buttonsTMP.length > 0 ) {
5458
- for(let b = 0, len = $buttonsTMP.length; b < len; ++b) {
5606
+ for (let b = 0, len = $buttonsTMP.length; b < len; ++b) {
5459
5607
  if ( $buttonsTMP[b].attributes.getNamedItem('data-gina-form-submit') ) {
5460
5608
  $buttons.push($buttonsTMP[b])
5461
5609
  } else if (
@@ -6175,7 +6323,8 @@
6175
6323
  if ( !/^form$/i.test($formOrElement.tagName) ) {
6176
6324
  $currentForm = $formOrElement.form;
6177
6325
  }
6178
- var formId = $currentForm.getAttribute('id');
6326
+ var formId = $currentForm.getAttribute('id');
6327
+ var isFormValid = null;
6179
6328
 
6180
6329
  if (
6181
6330
  hasParsedAllRules
@@ -6190,49 +6339,79 @@
6190
6339
 
6191
6340
  cb._data = d['toData']();
6192
6341
  cb._errors = d['getErrors'](field);
6193
- // console.debug('query callbakc triggered ', cb._errors, '\nisValidating: ', instance.$forms[formId].isValidating);
6342
+ isFormValid = ( cb._errors.count() > 0 ) ? false : true;
6343
+ console.debug('[A] query callback triggered ', cb._errors, 'isFormValid: '+isFormValid, '\nisValidating: '+ instance.$forms[formId].isValidating);
6194
6344
  // update instance form errors
6195
- if ( cb._errors && cb._errors.count() > 0) {
6345
+ if ( cb._errors /**&& cb._errors.count() > 0*/) {
6196
6346
  if ( typeof(instance.$forms[formId].errors) == 'undefined' ) {
6197
6347
  instance.$forms[formId].errors = {}
6198
6348
  }
6199
6349
 
6200
6350
  instance.$forms[formId].errors[field] = cb._errors[field];
6201
6351
 
6202
- if (!isFormValid && /^true|false$/i.test(instance.$forms[formId].isValidating) || d[field].target.value != '' ) {
6203
- refreshWarning($allFields[field]);
6204
- handleErrorsDisplay($currentForm, cb._errors, cb._data, field);
6205
- updateSubmitTriggerState( $currentForm, isFormValid);
6206
- }
6352
+ // if (!isFormValid && /^true|false$/i.test(instance.$forms[formId].isValidating) || d[field].target.value != '' ) {
6353
+ // if ( typeof($allFields[field]._cancelled) == 'undefined' ) {
6354
+ // refreshWarning($allFields[field]);
6355
+ // }
6356
+ // handleErrorsDisplay($currentForm, cb._errors, cb._data, field);
6357
+ // updateSubmitTriggerState( $currentForm, isFormValid);
6358
+ // }
6207
6359
 
6208
- if ( envIsDev && isGFFCtx && typeof(window.ginaToolbar) != 'undefined' && window.ginaToolbar ) {
6209
- // update toolbar
6210
- if (!gina.forms.errors)
6211
- gina.forms.errors = {};
6360
+ // if ( envIsDev && isGFFCtx && typeof(window.ginaToolbar) != 'undefined' && window.ginaToolbar ) {
6361
+ // // update toolbar
6362
+ // if (!gina.forms.errors)
6363
+ // gina.forms.errors = {};
6212
6364
 
6213
- var objCallback = {
6214
- id : formId,
6215
- errors : instance.$forms[formId].errors || {}
6216
- };
6365
+ // var objCallback = {
6366
+ // id : formId,
6367
+ // errors : instance.$forms[formId].errors || {}
6368
+ // };
6217
6369
 
6218
- window.ginaToolbar.update('forms', objCallback);
6219
- }
6370
+ // window.ginaToolbar.update('forms', objCallback);
6371
+ // }
6220
6372
 
6221
6373
 
6222
- triggerEvent(gina, $currentForm, 'validated.' + formId, cb);
6223
- return;
6374
+ // triggerEvent(gina, $currentForm, 'validated.' + formId, cb);
6375
+ // return;
6224
6376
  }
6377
+ // Fixed on 2025-03-06
6378
+ if (!isFormValid && /^true|false$/i.test(instance.$forms[formId].isValidating) || d[field].target.value != '' ) {
6379
+ console.debug('[A] Refreshing warning/error on field '+ field);
6380
+ // if ( typeof($allFields[field]._cancelled) == 'undefined' ) {
6381
+ refreshWarning($allFields[field]);
6382
+ // }
6383
+ handleErrorsDisplay($currentForm, cb._errors, cb._data, field);
6384
+ updateSubmitTriggerState( $currentForm, isFormValid);
6385
+ }
6386
+
6387
+ if ( envIsDev && isGFFCtx && typeof(window.ginaToolbar) != 'undefined' && window.ginaToolbar ) {
6388
+ // update toolbar
6389
+ if (!gina.forms.errors)
6390
+ gina.forms.errors = {};
6391
+
6392
+ var objCallback = {
6393
+ id : formId,
6394
+ errors : instance.$forms[formId].errors || {}
6395
+ };
6396
+
6397
+ window.ginaToolbar.update('forms', objCallback);
6398
+ }
6399
+
6400
+
6401
+ triggerEvent(gina, $currentForm, 'validated.' + formId, cb);
6402
+ return;
6225
6403
  }
6226
6404
 
6227
6405
  // is this the last or the only field to be validated ?
6228
- var needsGlobalReValidation = false, isFormValid = null;
6406
+ var needsGlobalReValidation = false;
6229
6407
  if ( listedFields.length == 1 || listedFields[listedFields.length-1] == field) {
6230
6408
  // trigger end of validation
6231
6409
  // console.debug(field +' is the last element to be validated for formId: '+ formId, cb._errors, instance.$forms[formId].errors);
6232
6410
  isFormValid = ( cb._errors.count() > 0 ) ? false : true;
6233
6411
  if (!isFormValid && /^true|false$/i.test(instance.$forms[formId].isValidating)) {
6234
- //console.debug('should update error display now ', cb._errors);
6412
+ console.debug('[1] Should update error display now ', cb._errors);
6235
6413
  instance.$forms[formId].errors = merge(cb._errors, instance.$forms[formId].errors);
6414
+ console.debug('[2] Should update error display now ', instance.$forms[formId].errors);
6236
6415
  refreshWarning($allFields[field]);
6237
6416
  handleErrorsDisplay($currentForm, cb._errors, cb._data, field);
6238
6417
  updateSubmitTriggerState( $currentForm, isFormValid);
@@ -6408,7 +6587,7 @@
6408
6587
 
6409
6588
  for (var c in rules) {
6410
6589
  if (!/^\_case\_/.test(c) ) continue;
6411
- if ( typeof(rules[c].conditions) == 'undefined' || Array.isArray(rules[c].conditions) && !rules[c].conditions.length ) continue;
6590
+ if ( typeof(rules[c].conditions) == 'undefined' || Array.isArray(rules[c].conditions) && !rules[c].conditions.length ) continue;
6412
6591
  if ( typeof(rules[c].conditions[0].rules) == 'undefined' ) continue;
6413
6592
 
6414
6593
 
@@ -6590,7 +6769,14 @@
6590
6769
  // filtering conditions
6591
6770
  for (var _c = 0, _cLen = rules[c].conditions.length; _c < _cLen; ++_c) {
6592
6771
 
6593
- if (rules[c].conditions[_c].case != caseValue) {
6772
+ if (
6773
+ Array.isArray(rules[c].conditions[_c].case)
6774
+ && rules[c].conditions[_c].case.indexOf(caseValue) == -1
6775
+ ||
6776
+ !Array.isArray(rules[c].conditions[_c].case)
6777
+ && rules[c].conditions[_c].case != caseValue
6778
+
6779
+ ) {
6594
6780
  continue;
6595
6781
  }
6596
6782
 
@@ -6735,7 +6921,8 @@
6735
6921
  if (
6736
6922
  conditions[c]['case'] === caseValue
6737
6923
  ||
6738
- Array.isArray(conditions[c]['case']) && conditions[c]['case'].indexOf(caseValue) > -1
6924
+ Array.isArray(conditions[c]['case'])
6925
+ && conditions[c]['case'].indexOf(caseValue) > -1
6739
6926
  ||
6740
6927
  /^\//.test(conditions[c]['case'])
6741
6928
  ) {