gina 0.1.6-alpha.8 → 0.1.6-alpha.81

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.81/VERSION +1 -0
  6. package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/asset/plugin/README.md +1 -0
  7. package/framework/v0.1.6-alpha.81/core/asset/plugin/dist/vendor/gina/css/gina.min.css.map +1 -0
  8. package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/asset/plugin/dist/vendor/gina/js/gina.js +422 -128
  9. package/framework/v0.1.6-alpha.81/core/asset/plugin/dist/vendor/gina/js/gina.min.js +777 -0
  10. package/framework/v0.1.6-alpha.81/core/asset/plugin/dist/vendor/gina/js/gina.min.js.map +8 -0
  11. package/framework/v0.1.6-alpha.81/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +8 -0
  12. package/framework/v0.1.6-alpha.81/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.map +8 -0
  13. package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/config.js +117 -51
  14. package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/connectors/couchbase/lib/connector.v4.js +28 -22
  15. package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/controller/controller.js +329 -56
  16. package/framework/v0.1.6-alpha.81/core/deps/busboy-1.6.0/.github/workflows/ci.yml +24 -0
  17. package/framework/v0.1.6-alpha.81/core/deps/busboy-1.6.0/.github/workflows/lint.yml +23 -0
  18. package/framework/v0.1.6-alpha.81/core/deps/busboy-1.6.0/LICENSE +19 -0
  19. package/framework/v0.1.6-alpha.81/core/deps/busboy-1.6.0/README.md +191 -0
  20. package/framework/v0.1.6-alpha.81/core/deps/busboy-1.6.0/bench/bench-multipart-fields-100mb-big.js +149 -0
  21. package/framework/v0.1.6-alpha.81/core/deps/busboy-1.6.0/bench/bench-multipart-fields-100mb-small.js +143 -0
  22. package/framework/v0.1.6-alpha.81/core/deps/busboy-1.6.0/bench/bench-multipart-files-100mb-big.js +154 -0
  23. package/framework/v0.1.6-alpha.81/core/deps/busboy-1.6.0/bench/bench-multipart-files-100mb-small.js +148 -0
  24. package/framework/v0.1.6-alpha.81/core/deps/busboy-1.6.0/bench/bench-urlencoded-fields-100pairs-small.js +101 -0
  25. package/framework/v0.1.6-alpha.81/core/deps/busboy-1.6.0/bench/bench-urlencoded-fields-900pairs-small-alt.js +84 -0
  26. package/framework/v0.1.6-alpha.81/core/deps/busboy-1.6.0/lib/index.js +57 -0
  27. package/framework/v0.1.6-alpha.81/core/deps/busboy-1.6.0/lib/types/multipart.js +680 -0
  28. package/framework/v0.1.6-alpha.81/core/deps/busboy-1.6.0/lib/types/urlencoded.js +350 -0
  29. package/framework/v0.1.6-alpha.81/core/deps/busboy-1.6.0/lib/utils.js +596 -0
  30. package/framework/v0.1.6-alpha.81/core/deps/busboy-1.6.0/package.json +22 -0
  31. package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/gna.js +97 -18
  32. package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/model/index.js +28 -24
  33. package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/plugins/lib/validator/src/form-validator.js +38 -26
  34. package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/plugins/lib/validator/src/main.js +296 -70
  35. package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/router.js +75 -40
  36. package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/server.isaac.js +46 -8
  37. package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/server.js +31 -5
  38. package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/template/boilerplate/bundle/controllers/setup.js +2 -2
  39. package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/template/conf/templates.json +4 -2
  40. package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/helpers/context.js +16 -11
  41. package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/helpers/path.js +25 -9
  42. package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/bundle/add.js +2 -1
  43. package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/bundle/start.js +21 -8
  44. package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/framework/build.js +1 -1
  45. package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/framework/init.js +18 -0
  46. package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/framework/link-node-modules.js +2 -3
  47. package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/framework/link.js +1 -0
  48. package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/framework/tail.js +28 -11
  49. package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/framework/version.js +15 -1
  50. package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/helper.js +6 -2
  51. package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/project/add.js +3 -2
  52. package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/project/build.js +4 -4
  53. package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/protocol/list.js +71 -50
  54. package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/collection/src/main.js +19 -13
  55. package/framework/v0.1.6-alpha.81/lib/domain/exemples/backend.js +12 -0
  56. package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/domain/src/main.js +3 -1
  57. package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/merge/package.json +1 -1
  58. package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/model.js +1 -1
  59. package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/routing/src/main.js +58 -11
  60. package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/session-store.js +2 -2
  61. package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/swig-filters/src/main.js +64 -9
  62. package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/validator.js +2 -2
  63. package/framework/v0.1.6-alpha.81/package.json +12 -0
  64. package/package.json +2 -2
  65. package/utils/helper.js +24 -0
  66. package/framework/v0.1.6-alpha.8/VERSION +0 -1
  67. package/framework/v0.1.6-alpha.8/core/asset/plugin/dist/vendor/gina/css/gina.min.css.map +0 -1
  68. package/framework/v0.1.6-alpha.8/core/asset/plugin/dist/vendor/gina/js/gina.min.js +0 -766
  69. package/framework/v0.1.6-alpha.8/core/asset/plugin/dist/vendor/gina/js/gina.min.js.map +0 -8
  70. package/framework/v0.1.6-alpha.8/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +0 -7
  71. package/framework/v0.1.6-alpha.8/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.map +0 -8
  72. package/framework/v0.1.6-alpha.8/lib/domain/exemples/backend.js +0 -0
  73. package/framework/v0.1.6-alpha.8/package.json +0 -14
  74. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/AUTHORS +0 -0
  75. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/LICENSE +0 -0
  76. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/asset/html/nolayout.html +0 -0
  77. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/asset/html/static.html +0 -0
  78. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/asset/img/android-chrome-192x192.png +0 -0
  79. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/asset/img/android-chrome-512x512.png +0 -0
  80. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/asset/img/apple-touch-icon.png +0 -0
  81. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/asset/img/favicon-16x16.png +0 -0
  82. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/asset/img/favicon-32x32.png +0 -0
  83. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/asset/img/favicon.ico +0 -0
  84. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/asset/plugin/dist/vendor/gina/css/gina.min.css +0 -0
  85. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/asset/plugin/dist/vendor/gina/html/toolbar.html +0 -0
  86. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/asset/plugin/uuid.json +0 -0
  87. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/connectors/couchbase/index.js +0 -0
  88. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/connectors/couchbase/lib/connector.js +0 -0
  89. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/connectors/couchbase/lib/connector.v2.js +0 -0
  90. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/connectors/couchbase/lib/connector.v3.js +0 -0
  91. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/connectors/couchbase/lib/n1ql.js +0 -0
  92. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/connectors/couchbase/lib/session-store.js +0 -0
  93. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/connectors/couchbase/lib/session-store.v2.js +0 -0
  94. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/connectors/couchbase/lib/session-store.v3.js +0 -0
  95. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/connectors/couchbase/lib/session-store.v4.js +0 -0
  96. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/controller/controller.framework.js +0 -0
  97. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/controller/index.js +0 -0
  98. /package/framework/{v0.1.6-alpha.8/core/deps/busboy → v0.1.6-alpha.81/core/deps/busboy-0.2.14}/.travis.yml +0 -0
  99. /package/framework/{v0.1.6-alpha.8/core/deps/busboy → v0.1.6-alpha.81/core/deps/busboy-0.2.14}/LICENSE +0 -0
  100. /package/framework/{v0.1.6-alpha.8/core/deps/busboy → v0.1.6-alpha.81/core/deps/busboy-0.2.14}/README.md +0 -0
  101. /package/framework/{v0.1.6-alpha.8/core/deps/busboy → v0.1.6-alpha.81/core/deps/busboy-0.2.14}/deps/encoding/encoding-indexes.js +0 -0
  102. /package/framework/{v0.1.6-alpha.8/core/deps/busboy → v0.1.6-alpha.81/core/deps/busboy-0.2.14}/deps/encoding/encoding.js +0 -0
  103. /package/framework/{v0.1.6-alpha.8/core/deps/busboy → v0.1.6-alpha.81/core/deps/busboy-0.2.14}/lib/main.js +0 -0
  104. /package/framework/{v0.1.6-alpha.8/core/deps/busboy → v0.1.6-alpha.81/core/deps/busboy-0.2.14}/lib/types/multipart.js +0 -0
  105. /package/framework/{v0.1.6-alpha.8/core/deps/busboy → v0.1.6-alpha.81/core/deps/busboy-0.2.14}/lib/types/urlencoded.js +0 -0
  106. /package/framework/{v0.1.6-alpha.8/core/deps/busboy → v0.1.6-alpha.81/core/deps/busboy-0.2.14}/lib/utils.js +0 -0
  107. /package/framework/{v0.1.6-alpha.8/core/deps/busboy → v0.1.6-alpha.81/core/deps/busboy-0.2.14}/package.json +0 -0
  108. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/deps/swig-client/swig-2.0.0.min.js +0 -0
  109. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/dev/index.js +0 -0
  110. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/dev/lib/class.js +0 -0
  111. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/dev/lib/factory.js +0 -0
  112. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/dev/lib/tools.js +0 -0
  113. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/locales/README.md +0 -0
  114. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/locales/currency.json +0 -0
  115. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/locales/dist/language/en.json +0 -0
  116. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/locales/dist/language/fr.json +0 -0
  117. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/locales/dist/region/en.json +0 -0
  118. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/locales/dist/region/fr.json +0 -0
  119. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/locales/index.js +0 -0
  120. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/locales/src/make.js +0 -0
  121. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/locales/src/resources/currency.csv +0 -0
  122. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/locales/src/resources/region.csv +0 -0
  123. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/locales/src/resources/region.mapping.json +0 -0
  124. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/mime.types +0 -0
  125. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/model/entity.js +0 -0
  126. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/model/template/entityFactory.js +0 -0
  127. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/model/template/index.js +0 -0
  128. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/plugins/README.md +0 -0
  129. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/plugins/index.js +0 -0
  130. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/plugins/lib/file/README.md +0 -0
  131. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/plugins/lib/file/build.json +0 -0
  132. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/plugins/lib/file/package.json +0 -0
  133. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/plugins/lib/intl/README.md +0 -0
  134. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/plugins/lib/intl/build.json +0 -0
  135. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/plugins/lib/intl/package.json +0 -0
  136. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/plugins/lib/intl/src/main.js +0 -0
  137. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/plugins/lib/storage/README.md +0 -0
  138. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/plugins/lib/storage/build.json +0 -0
  139. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/plugins/lib/storage/package.json +0 -0
  140. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/plugins/lib/storage/src/main.js +0 -0
  141. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/plugins/lib/validator/README.md +0 -0
  142. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/plugins/lib/validator/build.json +0 -0
  143. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/plugins/lib/validator/package.json +0 -0
  144. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/server.express.js +0 -0
  145. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/status.codes +0 -0
  146. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/template/_gitignore +0 -0
  147. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/template/boilerplate/bundle/config/app.json +0 -0
  148. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/template/boilerplate/bundle/config/routing.json +0 -0
  149. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/template/boilerplate/bundle/config/settings.json +0 -0
  150. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/template/boilerplate/bundle/config/settings.server.json +0 -0
  151. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/template/boilerplate/bundle/config/templates.json +0 -0
  152. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/template/boilerplate/bundle/controllers/controller.content.js +0 -0
  153. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/template/boilerplate/bundle/controllers/controller.js +0 -0
  154. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/template/boilerplate/bundle/index.js +0 -0
  155. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/template/boilerplate/bundle_namespace/controllers/controller.js +0 -0
  156. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/template/boilerplate/bundle_public/css/default.css +0 -0
  157. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/template/boilerplate/bundle_public/css/vendor/readme.md +0 -0
  158. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/template/boilerplate/bundle_public/favicon.ico +0 -0
  159. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/template/boilerplate/bundle_public/js/vendor/readme.md +0 -0
  160. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/template/boilerplate/bundle_public/readme.md +0 -0
  161. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/template/boilerplate/bundle_templates/handlers/main.js +0 -0
  162. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/template/boilerplate/bundle_templates/html/content/homepage.html +0 -0
  163. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/template/boilerplate/bundle_templates/html/includes/error-msg-noscript.html +0 -0
  164. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/template/boilerplate/bundle_templates/html/includes/error-msg-outdated-browser.html +0 -0
  165. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/template/boilerplate/bundle_templates/html/layouts/main.html +0 -0
  166. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/template/command/gina.bat.tpl +0 -0
  167. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/template/command/gina.tpl +0 -0
  168. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/template/conf/env.json +0 -0
  169. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/template/conf/manifest.json +0 -0
  170. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/template/conf/package.json +0 -0
  171. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/template/conf/settings.json +0 -0
  172. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/template/conf/statics.json +0 -0
  173. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/template/error/client/json/401.json +0 -0
  174. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/template/error/client/json/403.json +0 -0
  175. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/template/error/client/json/404.json +0 -0
  176. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/template/error/server/html/50x.html +0 -0
  177. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/template/error/server/json/500.json +0 -0
  178. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/template/error/server/json/503.json +0 -0
  179. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/core/template/extensions/logger/config.json +0 -0
  180. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/helpers/console.js +0 -0
  181. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/helpers/data/LICENSE +0 -0
  182. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/helpers/data/README.md +0 -0
  183. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/helpers/data/package.json +0 -0
  184. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/helpers/data/src/main.js +0 -0
  185. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/helpers/dateFormat.js +0 -0
  186. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/helpers/index.js +0 -0
  187. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/helpers/json/LICENSE +0 -0
  188. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/helpers/json/README.md +0 -0
  189. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/helpers/json/package.json +0 -0
  190. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/helpers/json/src/main.js +0 -0
  191. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/helpers/plugins/README.md +0 -0
  192. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/helpers/plugins/package.json +0 -0
  193. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/helpers/plugins/src/api-error.js +0 -0
  194. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/helpers/plugins/src/main.js +0 -0
  195. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/helpers/prototypes.js +0 -0
  196. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/helpers/task.js +0 -0
  197. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/helpers/text.js +0 -0
  198. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/archiver/README.md +0 -0
  199. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/archiver/build.json +0 -0
  200. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/archiver/package.json +0 -0
  201. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/archiver/src/dep/jszip.min.js +0 -0
  202. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/archiver/src/main.js +0 -0
  203. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/aliases.json +0 -0
  204. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/bundle/arguments.json +0 -0
  205. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/bundle/copy.js +0 -0
  206. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/bundle/cp.js +0 -0
  207. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/bundle/help.js +0 -0
  208. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/bundle/help.txt +0 -0
  209. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/bundle/list.js +0 -0
  210. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/bundle/remove.js +0 -0
  211. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/bundle/rename.js +0 -0
  212. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/bundle/restart.js +0 -0
  213. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/bundle/rm.js +0 -0
  214. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/bundle/status.js +0 -0
  215. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/bundle/stop.js +0 -0
  216. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/env/add.js +0 -0
  217. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/env/get.js +0 -0
  218. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/env/help.js +0 -0
  219. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/env/help.txt +0 -0
  220. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/env/link-dev.js +0 -0
  221. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/env/list.js +0 -0
  222. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/env/remove.js +0 -0
  223. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/env/rm.js +0 -0
  224. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/env/set.js +0 -0
  225. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/env/unset.js +0 -0
  226. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/env/use.js +0 -0
  227. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/framework/dot.js +0 -0
  228. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/framework/get.js +0 -0
  229. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/framework/help.js +0 -0
  230. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/framework/help.txt +0 -0
  231. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/framework/msg.json +0 -0
  232. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/framework/open.js +0 -0
  233. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/framework/restart.js +0 -0
  234. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/framework/set.js +0 -0
  235. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/framework/start.js +0 -0
  236. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/framework/status.js +0 -0
  237. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/framework/stop.js +0 -0
  238. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/framework/update.js +0 -0
  239. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/gina-dev.1.md +0 -0
  240. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/gina-framework.1.md +0 -0
  241. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/gina.1.md +0 -0
  242. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/index.js +0 -0
  243. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/msg.json +0 -0
  244. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/port/help.js +0 -0
  245. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/port/help.txt +0 -0
  246. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/port/inc/scan.js +0 -0
  247. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/port/list.js +0 -0
  248. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/port/reset.js +0 -0
  249. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/port/set.js +0 -0
  250. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/project/arguments.json +0 -0
  251. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/project/help.js +0 -0
  252. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/project/help.txt +0 -0
  253. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/project/import.js +0 -0
  254. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/project/list.js +0 -0
  255. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/project/move.js +0 -0
  256. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/project/remove.js +0 -0
  257. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/project/rename.js +0 -0
  258. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/project/restart.js +0 -0
  259. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/project/rm.js +0 -0
  260. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/project/start.js +0 -0
  261. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/project/status.js +0 -0
  262. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/project/stop.js +0 -0
  263. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/protocol/help.js +0 -0
  264. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/protocol/help.txt +0 -0
  265. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/protocol/set.js +0 -0
  266. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/scope/add.js +0 -0
  267. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/scope/help.js +0 -0
  268. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/scope/help.txt +0 -0
  269. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/scope/link-local.js +0 -0
  270. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/scope/link-production.js +0 -0
  271. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/scope/list.js +0 -0
  272. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/scope/remove.js +0 -0
  273. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/scope/rm.js +0 -0
  274. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/scope/use.js +0 -0
  275. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cmd/view/add.js +0 -0
  276. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/collection/README.md +0 -0
  277. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/collection/build.json +0 -0
  278. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/collection/package.json +0 -0
  279. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/config.js +0 -0
  280. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cron/README.md +0 -0
  281. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cron/package.json +0 -0
  282. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/cron/src/main.js +0 -0
  283. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/domain/LICENSE +0 -0
  284. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/domain/README.md +0 -0
  285. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/domain/dist/public_suffix_list.dat +0 -0
  286. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/domain/exemples/frontend.html +0 -0
  287. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/domain/package.json +0 -0
  288. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/generator/index.js +0 -0
  289. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/index.js +0 -0
  290. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/inherits/LICENSE +0 -0
  291. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/inherits/README.md +0 -0
  292. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/inherits/example/inheriting_eventemitter.js +0 -0
  293. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/inherits/example/protected_inheritance.js +0 -0
  294. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/inherits/example/simple_inheritance.js +0 -0
  295. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/inherits/example/super_attribute_overridden_by_child_on_init.js +0 -0
  296. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/inherits/package.json +0 -0
  297. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/inherits/src/main.js +0 -0
  298. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/logger/README.md +0 -0
  299. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/logger/package.json +0 -0
  300. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/logger/src/containers/default/index.js +0 -0
  301. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/logger/src/containers/file/index.js +0 -0
  302. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/logger/src/containers/file/lib/logrotator/README.md +0 -0
  303. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/logger/src/containers/file/lib/logrotator/index.js +0 -0
  304. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/logger/src/containers/mq/index.js +0 -0
  305. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/logger/src/containers/mq/listener.js +0 -0
  306. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/logger/src/containers/mq/speaker.js +0 -0
  307. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/logger/src/helper.js +0 -0
  308. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/logger/src/main.js +0 -0
  309. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/math/index.js +0 -0
  310. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/merge/README.md +0 -0
  311. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/merge/example/merge.js +0 -0
  312. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/merge/example/merge_2_literal objects.js +0 -0
  313. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/merge/example/merge_and_preserve_first.js +0 -0
  314. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/merge/src/main.js +0 -0
  315. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/proc.js +0 -0
  316. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/routing/README.md +0 -0
  317. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/routing/build.json +0 -0
  318. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/routing/package.json +0 -0
  319. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/shell.js +0 -0
  320. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/swig-filters/README.md +0 -0
  321. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/swig-filters/package.json +0 -0
  322. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/url/README.md +0 -0
  323. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/url/index.js +0 -0
  324. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/url/mocks.json +0 -0
  325. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/url/routing.json +0 -0
  326. /package/framework/{v0.1.6-alpha.8 → v0.1.6-alpha.81}/lib/url/test.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 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 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 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
 
@@ -981,7 +1055,8 @@
981
1055
  // In case the user is also redirecting
982
1056
  var redirectDelay = (/Google Inc/i.test(navigator.vendor)) ? 50 : 0;
983
1057
 
984
- if (xhr.readyState == 2) { // responseType interception
1058
+ // responseType interception
1059
+ if (xhr.readyState == 2) {
985
1060
  isAttachment = ( /^attachment\;/.test( xhr.getResponseHeader("Content-Disposition") ) ) ? true : false;
986
1061
  // force blob response type
987
1062
  if ( !xhr.responseType && isAttachment ) {
@@ -1034,7 +1109,9 @@
1034
1109
  size : blob.size
1035
1110
  }
1036
1111
 
1037
- } else { // normal case
1112
+ }
1113
+ // normal case
1114
+ else {
1038
1115
  result = xhr.responseText;
1039
1116
  }
1040
1117
 
@@ -1043,9 +1120,14 @@
1043
1120
  if ( /\/json/.test( contentType ) ) {
1044
1121
  result = JSON.parse(xhr.responseText);
1045
1122
 
1046
- if ( typeof(result.status) == 'undefined' )
1123
+ if ( typeof(result.status) == 'undefined' ) {
1047
1124
  result.status = xhr.status;
1048
-
1125
+ }
1126
+ // Fixed on 2025-03-13 Allowing toolbar to ubdate after xhr results
1127
+ // TODO - Allowing to revert to previously loaded data via a close button
1128
+ if (gina && envIsDev && typeof(window.ginaToolbar) && typeof(result) != 'undefined') {
1129
+ window.ginaToolbar.update('data-xhr', result);
1130
+ }
1049
1131
  }
1050
1132
 
1051
1133
  if ( /\/html/.test( contentType ) ) {
@@ -1276,6 +1358,13 @@
1276
1358
  // } else { // external - need to remove `X-Requested-With` from `options.headers`
1277
1359
  result.location = (!/^http/.test(result.location) && !/^\//.test(result.location) ) ? location.protocol +'//' + result.location : result.location;
1278
1360
  //}
1361
+ // isProxyHost ?
1362
+ if (
1363
+ result.location.replace(/^http(.*)\:\d+/, '$1').replace(/^\:\/\//, '').split(/\//g)[0] == gina.config.hostname
1364
+ && gina.config.hostname == window.location.host
1365
+ ) {
1366
+ result.location = location.protocol + result.location.replace(/^http(.*)\:\d+/, '$1').replace(/^\:/, '')
1367
+ }
1279
1368
 
1280
1369
  return setTimeout(() => {
1281
1370
  window.location.href = result.location;
@@ -3099,6 +3188,8 @@
3099
3188
  return false;
3100
3189
  }
3101
3190
 
3191
+
3192
+
3102
3193
  if (
3103
3194
  typeof(instance.$forms[event.target.form.getAttribute('id')].isSubmitting) != 'undefined'
3104
3195
  && /true/i.test(instance.$forms[event.target.form.getAttribute('id')].isSubmitting)
@@ -3126,7 +3217,6 @@
3126
3217
  } else {
3127
3218
  handleErrorsDisplay(event.target.form, errors, null, event.target.name);
3128
3219
  }
3129
- //return cancelEvent(event);
3130
3220
  }
3131
3221
 
3132
3222
 
@@ -3162,7 +3252,7 @@
3162
3252
  instance.$forms[formId].isValidating = true;
3163
3253
  validate($gForm, gFields, $gFields, gRules, function onSilentGlobalLiveValidation(gResult){
3164
3254
  instance.$forms[formId].isValidating = false;
3165
- console.debug('['+ formId +'] onSilentGlobalLiveValidation: '+ gResult.isValid(), gResult);
3255
+ console.debug('['+ formId +'] onSilentGlobalLiveValidation: '+ gResult.isValid(), gResult, gFields);
3166
3256
  var isFormValid = gResult.isValid();
3167
3257
  if ( envIsDev && isGFFCtx && typeof(window.ginaToolbar) != 'undefined' && window.ginaToolbar ) {
3168
3258
  // update toolbar
@@ -3178,6 +3268,25 @@
3178
3268
  }
3179
3269
 
3180
3270
 
3271
+ if ( !isFormValid && gResult.error ) {
3272
+ instance.$forms[ $el.form.getAttribute('id') ].errors = gResult.error;
3273
+ // Fixed on 2025-03-09
3274
+ // for (let eField in gResult.error) {
3275
+ // refreshWarning($gFields[eField]);
3276
+ // // handleErrorsDisplay($gForm, gResult.error, gResult.data, eField);
3277
+ // }
3278
+ }
3279
+ // Fixed on 2025-03-10
3280
+ // Eg.: input select change impacting another element: solve `no more errors`
3281
+ else if (isFormValid) {
3282
+ //resetting error display
3283
+ instance.$forms[ formId ].errors = {};
3284
+ console.debug('resetting field: '+ $el.name);
3285
+ liveCheckErrors[formId] = {};
3286
+ // $form.dataset.ginaFormIsResetting = true;
3287
+ handleErrorsDisplay($gForm, {}, null, $el.name);
3288
+ }
3289
+
3181
3290
  updateSubmitTriggerState( $gForm, isFormValid);
3182
3291
 
3183
3292
  once = false;
@@ -3211,13 +3320,17 @@
3211
3320
  // other inputs & textareas
3212
3321
  else if ( /^focusin\./i.test(event.type) ) {
3213
3322
  if ( /\-error/.test($el.parentNode.className) ) {
3214
- console.debug('#1 you just focusin ....'+$el.id, $el.value);
3323
+ console.debug('#1 you just focusin ....'+$el.id, $el.value, instance.$forms[ $el.form.getAttribute('id') ].isValidating);
3215
3324
  refreshWarning($el);
3216
3325
  }
3217
3326
  }
3218
3327
  else if ( /^focusout\./i.test(event.type) ) {
3219
3328
  if ( /\-warning/.test($el.parentNode.className) ) {
3220
3329
  console.debug('#1 you just focusout ....'+$el.id, $el.value);
3330
+ // event.target.form.getAttribute('id');
3331
+ // $el.form.id
3332
+ // $el.form.getAttribute('id')
3333
+ instance.$forms[ $el.form.getAttribute('id') ].isValidating = false;
3221
3334
  refreshWarning($el);
3222
3335
  // in case error context is changed by another task
3223
3336
  handleErrorsDisplay($el.form, instance.$forms[ $el.form.getAttribute('id') ].errors, null, $el.name);
@@ -3226,12 +3339,30 @@
3226
3339
  else if ( /^keyup\./i.test(event.type) ) {
3227
3340
  $el.ginaFormValidatorTestedValue = $el.value;
3228
3341
  liveCheckTimer = setTimeout( function onLiveCheckTimer() {
3229
- // do not trigger for copy/paste event
3230
- if ( ['91', '17'].indexOf(''+event.keyCode) > -1 && keyboardMapping.count() == 0) {
3342
+ // Do not trigger for copy/paste event
3343
+ if ( ['91', '17', '16'].indexOf(''+event.keyCode) > -1 && keyboardMapping.count() == 0) {
3231
3344
  //console.debug('mapping ', keyboardMapping);
3232
3345
  return;
3233
3346
  }
3234
- console.debug(' keyup ('+ event.keyCode +') .... '+$el.id, $el.value, ' VS ',$el.ginaFormValidatorTestedValue + '(old)');
3347
+
3348
+ // Fixed on 2025-03-05:
3349
+ // Treat TAB as focus in/out
3350
+ if ( ['9'].indexOf(''+event.keyCode) > -1 ) {
3351
+ var $previeousEl = document.getElementById(instance.$forms[ $el.form.getAttribute('id') ].lastFocused[1].id);
3352
+ var errors = instance.$forms[ $previeousEl.form.getAttribute('id') ].errors;
3353
+ var isFormValid = true;
3354
+ console.debug('[TAB] you just focusout from "'+ instance.$forms[ $el.form.getAttribute('id') ].lastFocused[1].id +'" to "'+ $el.id +'"', "errors: ", errors);
3355
+ if (errors && errors.count() > 0 ) {
3356
+ instance.$forms[ $previeousEl.form.getAttribute('id') ].isValidating = false;
3357
+ isFormValid = false;
3358
+ }
3359
+ refreshWarning($previeousEl);
3360
+ // in case error context is changed by another task
3361
+ handleErrorsDisplay($previeousEl.form, errors, null, $previeousEl.name);
3362
+ updateSubmitTriggerState( $el.form, isFormValid);
3363
+ return;
3364
+ }
3365
+ console.debug('[A]['+keyboardMapping.count()+'] keyup ('+ event.keyCode +') .... '+$el.id, $el.value, ' VS ',$el.ginaFormValidatorTestedValue + '(old)');
3235
3366
  processEvent();
3236
3367
  }, 1000);
3237
3368
  }
@@ -3577,24 +3708,53 @@
3577
3708
  }
3578
3709
 
3579
3710
  /**
3580
- * reBindForm - This is a WIP
3711
+ * reBindForm
3712
+ * Allows form rebinding: it is like reseting validation
3581
3713
  *
3582
- * @param {object} HTMLElement
3583
- * @param {object} rules
3584
- * @returns {object} formValidatorInstance
3714
+ * E.g.:
3715
+ * $validator
3716
+ * .getFormById('my-form-id')
3717
+ * .reBind();
3718
+ *
3719
+ * @param {string} [formId]
3720
+ * @param {string} [rules]
3721
+ * @param {callback} [cb]
3585
3722
  */
3586
- var reBindForm = function($target, rules, cb) {
3587
- // Unbind form
3588
- var formInstance = unbindForm($target);
3723
+ var reBindForm = function(formId, rules, cb) {
3724
+ var $form = null
3725
+ , _id = null
3726
+ ;
3727
+ if (
3728
+ typeof(this.target) != 'undefined'
3729
+ && /FORM/i.test(this.target.tagName)
3730
+ ) {
3731
+ _id = formId = this.target.id || this.target.getAttribute('id')
3732
+ } else if ( /string/i.test(typeof(formId)) ) {
3733
+ _id = formId
3734
+ }
3735
+
3736
+ if ( typeof(instance.$forms[_id]) != 'undefined') {
3737
+ $form = instance.$forms[_id];
3738
+ } else {
3739
+ throw new Error('form instance `'+ _id +'` not found');
3740
+ }
3741
+
3589
3742
  // reset errors
3590
- //resetErrorsDisplay(formInstance.id);
3743
+ resetErrorsDisplay(_id);
3744
+ // Unbind form
3745
+ unbindForm($form.target);
3591
3746
  // Bind
3592
- bindForm(formInstance.target, rules);
3747
+ if ( typeof(rule) != 'undefined' ) {
3748
+ bindForm($form.target, rules);
3749
+ } else {
3750
+ bindForm($form.target);
3751
+ }
3593
3752
 
3594
3753
  if ( cb ) {
3595
- return cb(formInstance);
3754
+ return cb($form);
3596
3755
  }
3597
- return formInstance;
3756
+
3757
+ return $form;
3598
3758
  }
3599
3759
 
3600
3760
  var unbindForm = function($target) {
@@ -3651,7 +3811,7 @@
3651
3811
  // submit buttons
3652
3812
  $elTMP = $form.target.getElementsByTagName('button');
3653
3813
  if ( $elTMP.length > 0 ) {
3654
- for(let i = 0, len = $elTMP.length; i < len; ++i) {
3814
+ for (let i = 0, len = $elTMP.length; i < len; ++i) {
3655
3815
  // if button is != type="submit", you will need to provide : data-gina-form-submit
3656
3816
  // TODO - On button binding, you can then provide data-gina-form-action & data-gina-form-method
3657
3817
  $els.push($elTMP[i])
@@ -3661,7 +3821,7 @@
3661
3821
  // submit links
3662
3822
  $elTMP = $form.target.getElementsByTagName('a');
3663
3823
  if ( $elTMP.length > 0 ) {
3664
- for(let i = 0, len = $elTMP.length; i < len; ++i) {
3824
+ for (let i = 0, len = $elTMP.length; i < len; ++i) {
3665
3825
  $els.push($elTMP[i])
3666
3826
  }
3667
3827
  }
@@ -3717,7 +3877,7 @@
3717
3877
  // textarea
3718
3878
  $elTMP = $form.target.getElementsByTagName('textarea');
3719
3879
  if ( $elTMP.length > 0 ) {
3720
- for(let i = 0, len = $elTMP.length; i < len; ++i) {
3880
+ for (let i = 0, len = $elTMP.length; i < len; ++i) {
3721
3881
  $els.push( $elTMP[i] )
3722
3882
  }
3723
3883
  }
@@ -3726,7 +3886,7 @@
3726
3886
  // forms inside main form
3727
3887
  $elTMP = $form.target.getElementsByTagName('form');
3728
3888
  if ( $elTMP.length > 0 ) {
3729
- for(let i = 0, len = $elTMP.length; i < len; ++i) {
3889
+ for (let i = 0, len = $elTMP.length; i < len; ++i) {
3730
3890
  $els.push( $elTMP[i] )
3731
3891
  }
3732
3892
  }
@@ -4535,7 +4695,16 @@
4535
4695
  validate($gForm, gFields, $gFields, gRules, function onSilentGlobalLiveValidation(gResult){
4536
4696
  instance.$forms[formId].isValidating = false;
4537
4697
  console.debug('[updateSelect]: onSilentGlobalLiveValidation: '+ gResult.isValid(), gResult);
4698
+ // Fixed on 2025-03-09
4538
4699
  var isFormValid = gResult.isValid();
4700
+ if (!isFormValid) {
4701
+ instance.$forms[formId].errors = gResult.error;
4702
+ for (let eField in gResult.error) {
4703
+ // refreshWarning($gFields[eField]);
4704
+ handleErrorsDisplay($gForm, gResult.error, gResult.data, eField);
4705
+ }
4706
+ }
4707
+
4539
4708
  updateSubmitTriggerState( $gForm, isFormValid);
4540
4709
  once = false;
4541
4710
  })
@@ -5129,6 +5298,25 @@
5129
5298
  if (gina.events[_evt]) {
5130
5299
  cancelEvent(event);
5131
5300
 
5301
+ // Fixed on 2025-03-05 - "last focus" vs "current focus"
5302
+ // To get active element: document.activeElement
5303
+ var formId = event.target.form.getAttribute('id') || event.currentTarget.getAttribute('id');
5304
+ var lastFocused = {
5305
+ id : $el.id,
5306
+ name: $el.name
5307
+ };
5308
+ if (!instance.$forms[formId].lastFocused.length) {
5309
+ instance.$forms[formId].lastFocused[0] = lastFocused;
5310
+ } else {
5311
+ instance.$forms[formId].lastFocused.splice(0,0,lastFocused);
5312
+ }
5313
+ lastFocused = ( typeof(instance.$forms[formId].lastFocused[1]) != 'undefined' ) ? instance.$forms[formId].lastFocused[1].id : null;
5314
+
5315
+ // cleanup
5316
+ instance.$forms[formId].lastFocused.splice(2);
5317
+
5318
+ // console.debug('lastFocused: ', lastFocused, ' VS current: ', $el.id);
5319
+
5132
5320
  triggerEvent(gina, $el, _evt, event.detail);
5133
5321
  }
5134
5322
  });
@@ -5445,7 +5633,7 @@
5445
5633
  ;
5446
5634
  $buttonsTMP = $target.getElementsByTagName('button');
5447
5635
  if ( $buttonsTMP.length > 0 ) {
5448
- for(let b = 0, len = $buttonsTMP.length; b < len; ++b) {
5636
+ for (let b = 0, len = $buttonsTMP.length; b < len; ++b) {
5449
5637
  if ($buttonsTMP[b].type == 'submit') {
5450
5638
  $buttons.push($buttonsTMP[b])
5451
5639
  }
@@ -5455,7 +5643,7 @@
5455
5643
  // binding links
5456
5644
  $buttonsTMP = $target.getElementsByTagName('a');
5457
5645
  if ( $buttonsTMP.length > 0 ) {
5458
- for(let b = 0, len = $buttonsTMP.length; b < len; ++b) {
5646
+ for (let b = 0, len = $buttonsTMP.length; b < len; ++b) {
5459
5647
  if ( $buttonsTMP[b].attributes.getNamedItem('data-gina-form-submit') ) {
5460
5648
  $buttons.push($buttonsTMP[b])
5461
5649
  } else if (
@@ -6175,7 +6363,8 @@
6175
6363
  if ( !/^form$/i.test($formOrElement.tagName) ) {
6176
6364
  $currentForm = $formOrElement.form;
6177
6365
  }
6178
- var formId = $currentForm.getAttribute('id');
6366
+ var formId = $currentForm.getAttribute('id');
6367
+ var isFormValid = null;
6179
6368
 
6180
6369
  if (
6181
6370
  hasParsedAllRules
@@ -6190,49 +6379,80 @@
6190
6379
 
6191
6380
  cb._data = d['toData']();
6192
6381
  cb._errors = d['getErrors'](field);
6193
- // console.debug('query callbakc triggered ', cb._errors, '\nisValidating: ', instance.$forms[formId].isValidating);
6382
+ isFormValid = ( cb._errors.count() > 0 ) ? false : true;
6383
+ console.debug('[A] query callback triggered ', cb._errors, 'isFormValid: '+isFormValid, '\nisValidating: '+ instance.$forms[formId].isValidating);
6194
6384
  // update instance form errors
6195
- if ( cb._errors && cb._errors.count() > 0) {
6385
+ if ( cb._errors /**&& cb._errors.count() > 0*/) {
6196
6386
  if ( typeof(instance.$forms[formId].errors) == 'undefined' ) {
6197
6387
  instance.$forms[formId].errors = {}
6198
6388
  }
6199
6389
 
6200
6390
  instance.$forms[formId].errors[field] = cb._errors[field];
6201
6391
 
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
- }
6392
+ // if (!isFormValid && /^true|false$/i.test(instance.$forms[formId].isValidating) || d[field].target.value != '' ) {
6393
+ // if ( typeof($allFields[field]._cancelled) == 'undefined' ) {
6394
+ // refreshWarning($allFields[field]);
6395
+ // }
6396
+ // handleErrorsDisplay($currentForm, cb._errors, cb._data, field);
6397
+ // updateSubmitTriggerState( $currentForm, isFormValid);
6398
+ // }
6207
6399
 
6208
- if ( envIsDev && isGFFCtx && typeof(window.ginaToolbar) != 'undefined' && window.ginaToolbar ) {
6209
- // update toolbar
6210
- if (!gina.forms.errors)
6211
- gina.forms.errors = {};
6400
+ // if ( envIsDev && isGFFCtx && typeof(window.ginaToolbar) != 'undefined' && window.ginaToolbar ) {
6401
+ // // update toolbar
6402
+ // if (!gina.forms.errors)
6403
+ // gina.forms.errors = {};
6212
6404
 
6213
- var objCallback = {
6214
- id : formId,
6215
- errors : instance.$forms[formId].errors || {}
6216
- };
6405
+ // var objCallback = {
6406
+ // id : formId,
6407
+ // errors : instance.$forms[formId].errors || {}
6408
+ // };
6217
6409
 
6218
- window.ginaToolbar.update('forms', objCallback);
6410
+ // window.ginaToolbar.update('forms', objCallback);
6411
+ // }
6412
+
6413
+
6414
+ // triggerEvent(gina, $currentForm, 'validated.' + formId, cb);
6415
+ // return;
6416
+ }
6417
+ // Fixed on 2025-03-06
6418
+ if (!isFormValid && /^true|false$/i.test(instance.$forms[formId].isValidating) || d[field].target.value != '' ) {
6419
+ console.debug('[A] Refreshing warning/error on field '+ field);
6420
+ // if ( typeof($allFields[field]._cancelled) == 'undefined' ) {
6421
+ refreshWarning($allFields[field]);
6422
+ // }
6423
+ handleErrorsDisplay($currentForm, cb._errors, cb._data, field);
6424
+ updateSubmitTriggerState( $currentForm, isFormValid);
6425
+ }
6426
+
6427
+ if ( envIsDev && isGFFCtx && typeof(window.ginaToolbar) != 'undefined' && window.ginaToolbar ) {
6428
+ // update toolbar
6429
+ if (!gina.forms.errors) {
6430
+ gina.forms.errors = {};
6219
6431
  }
6220
6432
 
6433
+ var objCallback = {
6434
+ id : formId,
6435
+ errors : instance.$forms[formId].errors || {}
6436
+ };
6221
6437
 
6222
- triggerEvent(gina, $currentForm, 'validated.' + formId, cb);
6223
- return;
6438
+ window.ginaToolbar.update('forms', objCallback);
6224
6439
  }
6440
+
6441
+
6442
+ triggerEvent(gina, $currentForm, 'validated.' + formId, cb);
6443
+ return;
6225
6444
  }
6226
6445
 
6227
6446
  // is this the last or the only field to be validated ?
6228
- var needsGlobalReValidation = false, isFormValid = null;
6447
+ var needsGlobalReValidation = false;
6229
6448
  if ( listedFields.length == 1 || listedFields[listedFields.length-1] == field) {
6230
6449
  // trigger end of validation
6231
6450
  // console.debug(field +' is the last element to be validated for formId: '+ formId, cb._errors, instance.$forms[formId].errors);
6232
6451
  isFormValid = ( cb._errors.count() > 0 ) ? false : true;
6233
6452
  if (!isFormValid && /^true|false$/i.test(instance.$forms[formId].isValidating)) {
6234
- //console.debug('should update error display now ', cb._errors);
6453
+ console.debug('[1] Should update error display now ', cb._errors);
6235
6454
  instance.$forms[formId].errors = merge(cb._errors, instance.$forms[formId].errors);
6455
+ console.debug('[2] Should update error display now ', instance.$forms[formId].errors);
6236
6456
  refreshWarning($allFields[field]);
6237
6457
  handleErrorsDisplay($currentForm, cb._errors, cb._data, field);
6238
6458
  updateSubmitTriggerState( $currentForm, isFormValid);
@@ -6263,8 +6483,6 @@
6263
6483
  window.ginaToolbar.update('forms', objCallback);
6264
6484
  }
6265
6485
 
6266
-
6267
-
6268
6486
  handleErrorsDisplay($currentForm, gResult.error, gResult.data, field);
6269
6487
  updateSubmitTriggerState( $currentForm, isFormValid);
6270
6488
  })
@@ -6408,7 +6626,7 @@
6408
6626
 
6409
6627
  for (var c in rules) {
6410
6628
  if (!/^\_case\_/.test(c) ) continue;
6411
- if ( typeof(rules[c].conditions) == 'undefined' || Array.isArray(rules[c].conditions) && !rules[c].conditions.length ) continue;
6629
+ if ( typeof(rules[c].conditions) == 'undefined' || Array.isArray(rules[c].conditions) && !rules[c].conditions.length ) continue;
6412
6630
  if ( typeof(rules[c].conditions[0].rules) == 'undefined' ) continue;
6413
6631
 
6414
6632
 
@@ -6590,7 +6808,14 @@
6590
6808
  // filtering conditions
6591
6809
  for (var _c = 0, _cLen = rules[c].conditions.length; _c < _cLen; ++_c) {
6592
6810
 
6593
- if (rules[c].conditions[_c].case != caseValue) {
6811
+ if (
6812
+ Array.isArray(rules[c].conditions[_c].case)
6813
+ && rules[c].conditions[_c].case.indexOf(caseValue) == -1
6814
+ ||
6815
+ !Array.isArray(rules[c].conditions[_c].case)
6816
+ && rules[c].conditions[_c].case != caseValue
6817
+
6818
+ ) {
6594
6819
  continue;
6595
6820
  }
6596
6821
 
@@ -6735,7 +6960,8 @@
6735
6960
  if (
6736
6961
  conditions[c]['case'] === caseValue
6737
6962
  ||
6738
- Array.isArray(conditions[c]['case']) && conditions[c]['case'].indexOf(caseValue) > -1
6963
+ Array.isArray(conditions[c]['case'])
6964
+ && conditions[c]['case'].indexOf(caseValue) > -1
6739
6965
  ||
6740
6966
  /^\//.test(conditions[c]['case'])
6741
6967
  ) {
@@ -6852,8 +7078,6 @@
6852
7078
  }
6853
7079
  --i;
6854
7080
  }
6855
-
6856
-
6857
7081
  } // EO for
6858
7082
  }
6859
7083
 
@@ -6945,6 +7169,8 @@
6945
7169
  'data' : formatData( _data )
6946
7170
  });
6947
7171
  removeListener(gina, event.target, 'validated.' + event.target.id);
7172
+
7173
+
6948
7174
  return
6949
7175
  }
6950
7176
  });