gina 0.1.1-alpha.160 → 0.1.1-alpha.162
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.
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/AUTHORS +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/LICENSE +0 -0
- package/framework/v0.1.1-alpha.162/VERSION +1 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/asset/html/nolayout.html +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/asset/html/static.html +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/asset/img/android-chrome-192x192.png +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/asset/img/android-chrome-512x512.png +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/asset/img/apple-touch-icon.png +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/asset/img/favicon-16x16.png +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/asset/img/favicon-32x32.png +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/asset/img/favicon.ico +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/asset/plugin/dist/gina.js +383 -284
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/asset/plugin/dist/gina.min.css +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/asset/plugin/dist/gina.min.css.map +0 -0
- package/framework/v0.1.1-alpha.162/core/asset/plugin/dist/gina.min.js +741 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/asset/plugin/dist/gina.min.js.map +5 -5
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/asset/plugin/dist/gina.onload.min.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/asset/plugin/dist/gina.onload.min.js.map +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/asset/plugin/dist/toolbar/css/toolbar-min.css +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/asset/plugin/dist/toolbar/css/toolbar.css +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/asset/plugin/dist/toolbar/css/toolbar.css.map +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/asset/plugin/dist/toolbar/js/jquery-3.1.0.min.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/asset/plugin/dist/toolbar/main.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/asset/plugin/dist/toolbar/toolbar.html +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/asset/plugin/readme.md +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/asset/plugin/uuid.json +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/config.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/connectors/couchbase/index.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/connectors/couchbase/lib/connector.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/connectors/couchbase/lib/connector.v2.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/connectors/couchbase/lib/connector.v3.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/connectors/couchbase/lib/connector.v4.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/connectors/couchbase/lib/n1ql.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/connectors/couchbase/lib/session-store.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/connectors/couchbase/lib/session-store.v2.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/connectors/couchbase/lib/session-store.v3.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/connectors/couchbase/lib/session-store.v4.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/controller/controller.framework.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/controller/controller.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/controller/index.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/deps/busboy/.travis.yml +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/deps/busboy/LICENSE +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/deps/busboy/README.md +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/deps/busboy/deps/encoding/encoding-indexes.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/deps/busboy/deps/encoding/encoding.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/deps/busboy/lib/main.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/deps/busboy/lib/types/multipart.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/deps/busboy/lib/types/urlencoded.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/deps/busboy/lib/utils.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/deps/busboy/package.json +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/deps/swig-client/swig-2.0.0.min.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/dev/index.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/dev/lib/class.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/dev/lib/factory.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/dev/lib/tools.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/gna.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/locales/README.md +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/locales/currency.json +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/locales/dist/language/en.json +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/locales/dist/language/fr.json +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/locales/dist/region/en.json +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/locales/dist/region/fr.json +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/locales/index.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/locales/src/make.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/locales/src/resources/currency.csv +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/locales/src/resources/region.csv +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/locales/src/resources/region.mapping.json +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/mime.types +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/model/entity.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/model/index.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/model/template/entityFactory.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/model/template/index.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/plugins/README.md +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/plugins/index.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/plugins/lib/file/README.md +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/plugins/lib/file/build.json +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/plugins/lib/file/package.json +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/plugins/lib/intl/README.md +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/plugins/lib/intl/build.json +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/plugins/lib/intl/package.json +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/plugins/lib/intl/src/main.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/plugins/lib/storage/README.md +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/plugins/lib/storage/build.json +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/plugins/lib/storage/package.json +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/plugins/lib/storage/src/main.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/plugins/lib/validator/README.md +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/plugins/lib/validator/build.json +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/plugins/lib/validator/package.json +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/plugins/lib/validator/src/form-validator.js +383 -284
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/plugins/lib/validator/src/main.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/router.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/server.express.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/server.isaac.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/server.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/status.codes +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/template/boilerplate/bundle/config/app.json +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/template/boilerplate/bundle/config/routing.json +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/template/boilerplate/bundle/config/settings.json +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/template/boilerplate/bundle/config/settings.server.json +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/template/boilerplate/bundle/config/templates.json +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/template/boilerplate/bundle/controllers/controller.content.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/template/boilerplate/bundle/controllers/controller.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/template/boilerplate/bundle/controllers/setup.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/template/boilerplate/bundle/index.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/template/boilerplate/bundle_namespace/controllers/controller.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/template/boilerplate/bundle_public/css/default.css +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/template/boilerplate/bundle_public/css/vendor/readme.md +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/template/boilerplate/bundle_public/favicon.ico +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/template/boilerplate/bundle_public/js/vendor/readme.md +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/template/boilerplate/bundle_public/readme.md +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/template/boilerplate/bundle_templates/handlers/main.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/template/boilerplate/bundle_templates/html/content/homepage.html +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/template/boilerplate/bundle_templates/html/includes/error-msg-noscript.html +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/template/boilerplate/bundle_templates/html/includes/error-msg-outdated-browser.html +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/template/boilerplate/bundle_templates/html/layouts/main.html +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/template/command/gina.bat.tpl +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/template/command/gina.tpl +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/template/conf/env.json +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/template/conf/manifest.json +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/template/conf/package.json +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/template/conf/settings.json +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/template/conf/statics.json +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/template/conf/templates.json +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/template/error/client/json/401.json +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/template/error/client/json/403.json +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/template/error/client/json/404.json +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/template/error/server/html/50x.html +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/template/error/server/json/500.json +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/template/error/server/json/503.json +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/core/template/extensions/logger/config.json +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/helpers/console.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/helpers/context.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/helpers/dateFormat.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/helpers/index.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/helpers/json/README.md +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/helpers/json/package.json +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/helpers/json/src/main.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/helpers/path.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/helpers/plugins/README.md +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/helpers/plugins/package.json +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/helpers/plugins/src/api-error.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/helpers/plugins/src/main.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/helpers/prototypes.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/helpers/task.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/helpers/text.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/archiver/README.md +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/archiver/build.json +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/archiver/package.json +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/archiver/src/dep/jszip.min.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/archiver/src/main.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/aliases.json +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/bundle/add.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/bundle/arguments.json +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/bundle/copy.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/bundle/cp.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/bundle/help.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/bundle/help.txt +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/bundle/list.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/bundle/remove.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/bundle/rename.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/bundle/restart.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/bundle/rm.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/bundle/start.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/bundle/status.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/bundle/stop.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/env/add.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/env/get.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/env/help.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/env/help.txt +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/env/link-dev.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/env/list.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/env/remove.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/env/rm.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/env/set.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/env/unset.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/env/use.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/framework/build.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/framework/dot.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/framework/get.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/framework/help.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/framework/help.txt +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/framework/init.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/framework/link-node-modules.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/framework/link.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/framework/msg.json +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/framework/open.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/framework/restart.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/framework/set.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/framework/start.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/framework/status.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/framework/stop.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/framework/tail.js +1 -1
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/framework/update.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/framework/version.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/gina-dev.1.md +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/gina-framework.1.md +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/gina.1.md +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/helper.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/index.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/msg.json +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/port/help.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/port/help.txt +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/port/inc/scan.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/port/list.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/port/reset.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/port/set.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/project/add.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/project/arguments.json +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/project/build.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/project/help.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/project/help.txt +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/project/import.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/project/list.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/project/move.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/project/remove.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/project/rename.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/project/restart.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/project/rm.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/project/start.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/project/status.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/project/stop.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/protocol/help.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/protocol/help.txt +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/protocol/list.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/protocol/set.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/scope/help.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/scope/help.txt +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/scope/link-local.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/scope/list.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/scope/remove.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/scope/rm.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/scope/set.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/scope/unset.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/scope/use.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cmd/view/add.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/collection/README.md +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/collection/build.json +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/collection/package.json +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/collection/src/main.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/config.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cron/README.md +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cron/package.json +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/cron/src/main.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/generator/index.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/index.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/inherits/LICENSE +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/inherits/README.md +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/inherits/example/inheriting_eventemitter.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/inherits/example/protected_inheritance.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/inherits/example/simple_inheritance.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/inherits/example/super_attribute_overridden_by_child_on_init.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/inherits/package.json +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/inherits/src/main.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/logger/README.md +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/logger/package.json +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/logger/src/containers/default/index.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/logger/src/containers/file/index.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/logger/src/containers/file/lib/logrotator/README.md +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/logger/src/containers/file/lib/logrotator/index.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/logger/src/containers/mq/index.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/logger/src/containers/mq/listener.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/logger/src/containers/mq/speaker.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/logger/src/helper.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/logger/src/main.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/math/index.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/merge/README.md +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/merge/example/merge.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/merge/example/merge_2_literal objects.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/merge/example/merge_and_preserve_first.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/merge/package.json +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/merge/src/main.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/model.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/proc.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/routing/README.md +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/routing/build.json +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/routing/package.json +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/routing/src/main.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/session-store.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/shell.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/swig-filters/README.md +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/swig-filters/package.json +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/swig-filters/src/main.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/url/README.md +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/url/index.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/url/mocks.json +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/url/routing.json +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/url/test.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/lib/validator.js +0 -0
- package/framework/{v0.1.1-alpha.160 → v0.1.1-alpha.162}/package.json +0 -0
- package/package.json +2 -2
- package/script/post_publish.js +2 -1
- package/script/prepare_version.js +54 -3
- package/framework/v0.1.1-alpha.160/VERSION +0 -1
- package/framework/v0.1.1-alpha.160/core/asset/plugin/dist/gina.js.map +0 -56
- package/framework/v0.1.1-alpha.160/core/asset/plugin/dist/gina.min.js +0 -739
|
@@ -5819,14 +5819,14 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
|
|
|
5819
5819
|
|
|
5820
5820
|
// if (isGFFCtx && !$fields )
|
|
5821
5821
|
// throw new Error('No `Validator` instance found.\nTry:\nvar FormValidator = require("gina/validator"):\nvar formValidator = new FormValidator(...);')
|
|
5822
|
-
|
|
5822
|
+
|
|
5823
5823
|
var merge = (isGFFCtx) ? require('utils/merge') : require('../../../../../lib/merge');
|
|
5824
5824
|
var helpers = (isGFFCtx) ? {} : require('../../../../../helpers');
|
|
5825
5825
|
var dateFormat = (isGFFCtx) ? require('helpers/dateFormat') : helpers.dateFormat;
|
|
5826
5826
|
var routing = (isGFFCtx) ? require('utils/routing') : require('../../../../../lib/routing');
|
|
5827
|
-
|
|
5827
|
+
|
|
5828
5828
|
var hasUserValidators = function() {
|
|
5829
|
-
|
|
5829
|
+
|
|
5830
5830
|
var _hasUserValidators = false, formsContext = null;
|
|
5831
5831
|
// backend validation check
|
|
5832
5832
|
if (!isGFFCtx) {
|
|
@@ -5839,7 +5839,7 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
|
|
|
5839
5839
|
_hasUserValidators = true
|
|
5840
5840
|
}
|
|
5841
5841
|
return _hasUserValidators;
|
|
5842
|
-
}
|
|
5842
|
+
}
|
|
5843
5843
|
/**@js_externs local*/
|
|
5844
5844
|
var local = {
|
|
5845
5845
|
'errors': {},
|
|
@@ -5888,12 +5888,12 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
|
|
|
5888
5888
|
self = merge( JSON.clone(data), self );
|
|
5889
5889
|
local.data = merge( JSON.clone(data), local.data);
|
|
5890
5890
|
}
|
|
5891
|
-
|
|
5891
|
+
|
|
5892
5892
|
var getElementByName = function($form, name) { // frontend only
|
|
5893
5893
|
var $foundElement = null;
|
|
5894
5894
|
for (let f in fieldsSet) {
|
|
5895
5895
|
if (fieldsSet[f].name !== name) continue;
|
|
5896
|
-
|
|
5896
|
+
|
|
5897
5897
|
$foundElement = new DOMParser()
|
|
5898
5898
|
.parseFromString($form.innerHTML , 'text/html')
|
|
5899
5899
|
.getElementById( fieldsSet[f].id );
|
|
@@ -5901,16 +5901,16 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
|
|
|
5901
5901
|
}
|
|
5902
5902
|
if ($foundElement)
|
|
5903
5903
|
return $foundElement;
|
|
5904
|
-
|
|
5904
|
+
|
|
5905
5905
|
throw new Error('Field `'+ name +'` not found in fieldsSet');
|
|
5906
5906
|
}
|
|
5907
|
-
|
|
5907
|
+
|
|
5908
5908
|
/**
|
|
5909
5909
|
* bufferToString - Convert Buffer to String
|
|
5910
5910
|
* Will apply `Utf8Array` to `String`
|
|
5911
|
-
* @param {array} arrayBuffer
|
|
5911
|
+
* @param {array} arrayBuffer
|
|
5912
5912
|
*/
|
|
5913
|
-
var bufferToString = function(arrayBuffer) {
|
|
5913
|
+
var bufferToString = function(arrayBuffer) {
|
|
5914
5914
|
var out = null
|
|
5915
5915
|
, i = null
|
|
5916
5916
|
, len = null
|
|
@@ -5923,7 +5923,7 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
|
|
|
5923
5923
|
i = 0;
|
|
5924
5924
|
while(i < len) {
|
|
5925
5925
|
c = arrayBuffer[i++];
|
|
5926
|
-
switch (c >> 4) {
|
|
5926
|
+
switch (c >> 4) {
|
|
5927
5927
|
case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7:
|
|
5928
5928
|
// 0xxxxxxx
|
|
5929
5929
|
out += String.fromCharCode(c);
|
|
@@ -5946,22 +5946,40 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
|
|
|
5946
5946
|
|
|
5947
5947
|
return out;
|
|
5948
5948
|
};
|
|
5949
|
-
|
|
5949
|
+
|
|
5950
|
+
var compileError = function(error, data) {
|
|
5951
|
+
var varArr = error.match(/\{\{([^{{}}]+)\}\}/g );
|
|
5952
|
+
for (let v=0, vLen=varArr.length; v<vLen; v++) {
|
|
5953
|
+
let localValue = varArr[v]
|
|
5954
|
+
.replace(/\[/g, '["')
|
|
5955
|
+
.replace(/\]/g, '"]')
|
|
5956
|
+
.replace(/\{|\}/g, '')
|
|
5957
|
+
.trim();
|
|
5958
|
+
|
|
5959
|
+
try {
|
|
5960
|
+
localValue = eval('data.'+ localValue).replace(/^\"|\"$/g, '');
|
|
5961
|
+
error = error.replace( new RegExp( varArr[v].replace(/\{|\[|\]|\}/g, '\\$&') , 'g'), localValue);
|
|
5962
|
+
} catch(e) {}
|
|
5963
|
+
}
|
|
5964
|
+
|
|
5965
|
+
return error
|
|
5966
|
+
};
|
|
5967
|
+
|
|
5950
5968
|
// TODO - One method for the front, and one for the server
|
|
5951
5969
|
var queryFromFrontend = function(options, errorMessage) {
|
|
5952
|
-
var errors = self[this['name']]['errors'] || {};
|
|
5970
|
+
var errors = self[this['name']]['errors'] || {};
|
|
5953
5971
|
var id = this.target.id || this.target.getAttribute('id');
|
|
5954
|
-
|
|
5955
|
-
|
|
5956
|
-
// stop if
|
|
5957
|
-
// - previous error detected
|
|
5958
|
-
if ( !self.isValid() ) {
|
|
5972
|
+
|
|
5973
|
+
|
|
5974
|
+
// stop if
|
|
5975
|
+
// - previous error detected
|
|
5976
|
+
if ( !self.isValid() ) {
|
|
5959
5977
|
console.debug('stopping on errors ...');
|
|
5960
5978
|
triggerEvent(gina, this.target, 'asyncCompleted.' + id, self[this['name']]);
|
|
5961
5979
|
//return self[this.name];
|
|
5962
5980
|
return;
|
|
5963
5981
|
}
|
|
5964
|
-
|
|
5982
|
+
|
|
5965
5983
|
var testedValue = this.target.dataset.ginaFormValidatorTestedValue;
|
|
5966
5984
|
console.debug('[ '+ this['name'] +' ]', 'TESTED VALUE -> ' + this.value +' vs '+ testedValue);
|
|
5967
5985
|
var _evt = 'asyncCompleted.' + id;
|
|
@@ -5971,53 +5989,54 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
|
|
|
5971
5989
|
&& typeof(gina.validator.$forms[currentFormId]) != 'undefined'
|
|
5972
5990
|
&& typeof(gina.validator.$forms[currentFormId].cachedErrors) != 'undefined'
|
|
5973
5991
|
)
|
|
5974
|
-
? gina.validator.$forms[currentFormId].cachedErrors
|
|
5992
|
+
? gina.validator.$forms[currentFormId].cachedErrors
|
|
5975
5993
|
: null;
|
|
5976
5994
|
if ( !testedValue || typeof(testedValue) == 'undefined' || testedValue !== this.value ) {
|
|
5977
5995
|
this.target.dataset.ginaFormValidatorTestedValue = this.value;
|
|
5978
5996
|
// remove cachedErrors
|
|
5979
|
-
if (
|
|
5980
|
-
cachedErrors
|
|
5997
|
+
if (
|
|
5998
|
+
cachedErrors
|
|
5981
5999
|
&& typeof(cachedErrors[this.name]) != 'undefined'
|
|
5982
6000
|
&& typeof(cachedErrors[this.name].query) != 'undefined'
|
|
5983
6001
|
) {
|
|
5984
6002
|
delete cachedErrors[this.name].query;
|
|
5985
|
-
if (
|
|
6003
|
+
if (
|
|
5986
6004
|
typeof(gina.validator.$forms[currentFormId]) != 'undefined'
|
|
5987
6005
|
&&
|
|
5988
6006
|
typeof(gina.validator.$forms[currentFormId].errors) != 'undefined'
|
|
5989
6007
|
) {
|
|
5990
6008
|
delete gina.validator.$forms[currentFormId].errors.query;
|
|
5991
6009
|
}
|
|
5992
|
-
|
|
6010
|
+
|
|
5993
6011
|
}
|
|
5994
6012
|
} else if (testedValue === this.value) {
|
|
5995
6013
|
// not resending to backend, but in case of cached errors, re display same error message
|
|
5996
|
-
var hasCachedErrors = false;
|
|
5997
|
-
if (
|
|
5998
|
-
cachedErrors
|
|
6014
|
+
var hasCachedErrors = false;
|
|
6015
|
+
if (
|
|
6016
|
+
cachedErrors
|
|
5999
6017
|
&& typeof(cachedErrors[this.name]) != 'undefined'
|
|
6000
|
-
&& typeof(cachedErrors[this.name].query) != 'undefined'
|
|
6001
|
-
&& typeof(cachedErrors[this.name].query[this.value]) != 'undefined'
|
|
6018
|
+
&& typeof(cachedErrors[this.name].query) != 'undefined'
|
|
6019
|
+
&& typeof(cachedErrors[this.name].query[this.value]) != 'undefined'
|
|
6002
6020
|
) {
|
|
6003
6021
|
this.error = errorMessage = cachedErrors[this.name].query[this.value].slice(0);
|
|
6004
6022
|
hasCachedErrors = true;
|
|
6005
6023
|
}
|
|
6006
6024
|
errors['query'] = replace( this.error || errorMessage || local.errorLabels['query'], this);
|
|
6007
|
-
|
|
6025
|
+
console.debug('[2] potential cached error detected !! ', hasCachedErrors, cachedErrors, ' vs ', errors['query']);
|
|
6026
|
+
|
|
6008
6027
|
if (hasCachedErrors) {
|
|
6009
6028
|
this['errors'] = errors;
|
|
6010
6029
|
this.valid = false;
|
|
6011
6030
|
}
|
|
6012
|
-
// Do not remove this test
|
|
6031
|
+
// Do not remove this test
|
|
6013
6032
|
if ( typeof( gina.events[_evt]) != 'undefined' ) {
|
|
6014
6033
|
triggerEvent(gina, this.target, _evt, self[this['name']]);
|
|
6015
|
-
}
|
|
6016
|
-
|
|
6034
|
+
}
|
|
6035
|
+
|
|
6017
6036
|
return self[this.name];
|
|
6018
6037
|
}
|
|
6019
6038
|
//console.debug('Did not return !!!');
|
|
6020
|
-
|
|
6039
|
+
|
|
6021
6040
|
var xhr = null, _this = this;
|
|
6022
6041
|
// setting up AJAX
|
|
6023
6042
|
if (window.XMLHttpRequest) { // Mozilla, Safari, ...
|
|
@@ -6032,17 +6051,17 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
|
|
|
6032
6051
|
catch (e) {}
|
|
6033
6052
|
}
|
|
6034
6053
|
}
|
|
6035
|
-
|
|
6054
|
+
|
|
6036
6055
|
// forcing to sync mode
|
|
6037
|
-
var queryOptions = { isSynchrone: false, headers: {} };
|
|
6056
|
+
var queryOptions = { isSynchrone: false, headers: {} };
|
|
6038
6057
|
var queryData = options.data || null, strData = null;
|
|
6039
6058
|
var isInlineValidation = (/^true$/i.test(this.target.form.dataset.ginaFormLiveCheckEnabled)) ? true : false; // TRUE if liveCheckEnabled
|
|
6040
|
-
|
|
6059
|
+
|
|
6041
6060
|
// replace placeholders by field values
|
|
6042
6061
|
strData = JSON.stringify(queryData);
|
|
6043
6062
|
if ( /\$/.test(strData) ) {
|
|
6044
6063
|
var variables = strData.match(/\$[-_\[\]a-z 0-9]+/g) || [];
|
|
6045
|
-
var value = null, key = null;
|
|
6064
|
+
var value = null, key = null;
|
|
6046
6065
|
for (let i = 0, len = variables.length; i < len; i++) {
|
|
6047
6066
|
key = variables[i].replace(/\$/g, '');
|
|
6048
6067
|
re = new RegExp("\\"+ variables[i].replace(/\[|\]/g, '\\$&'), "g");
|
|
@@ -6051,26 +6070,26 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
|
|
|
6051
6070
|
// Retrieving live value instead of using fieldsSet.value
|
|
6052
6071
|
value = getElementByName(this.target.form, key).value;
|
|
6053
6072
|
}
|
|
6054
|
-
|
|
6073
|
+
|
|
6055
6074
|
strData = strData.replace( re, value );
|
|
6056
6075
|
}
|
|
6057
6076
|
}
|
|
6058
6077
|
// cleanup before sending
|
|
6059
|
-
queryData = strData.replace(/\\"/g, '');
|
|
6078
|
+
queryData = strData.replace(/\\"/g, '');
|
|
6060
6079
|
// TODO - support regexp for validIf
|
|
6061
6080
|
var validIf = ( typeof(options.validIf) == 'undefined' ) ? true : options.validIf;
|
|
6062
|
-
|
|
6081
|
+
|
|
6063
6082
|
queryOptions = merge(queryOptions, options, xhrOptions);
|
|
6064
6083
|
delete queryOptions.data;
|
|
6065
6084
|
delete queryOptions.validIf;
|
|
6066
|
-
|
|
6085
|
+
|
|
6067
6086
|
var enctype = queryOptions.headers['Content-Type'];
|
|
6068
6087
|
var result = null
|
|
6069
6088
|
, $target = this.target
|
|
6070
6089
|
//, id = $target.getAttribute('id')
|
|
6071
6090
|
;
|
|
6072
6091
|
id = $target.getAttribute('id')
|
|
6073
|
-
|
|
6092
|
+
|
|
6074
6093
|
// checking url
|
|
6075
6094
|
if (!/^http/.test(queryOptions.url) && /\@/.test(queryOptions.url) ) {
|
|
6076
6095
|
try {
|
|
@@ -6080,7 +6099,7 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
|
|
|
6080
6099
|
throw routingError;
|
|
6081
6100
|
}
|
|
6082
6101
|
}
|
|
6083
|
-
|
|
6102
|
+
|
|
6084
6103
|
if ( queryOptions.withCredentials ) {
|
|
6085
6104
|
if ('withCredentials' in xhr) {
|
|
6086
6105
|
// XHR for Chrome/Firefox/Opera/Safari.
|
|
@@ -6096,7 +6115,7 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
|
|
|
6096
6115
|
// xhr.open(queryOptions.method, queryOptions.url, queryOptions.isSynchrone);
|
|
6097
6116
|
// } else {
|
|
6098
6117
|
xhr.open(queryOptions.method, queryOptions.url);
|
|
6099
|
-
// }
|
|
6118
|
+
// }
|
|
6100
6119
|
} else {
|
|
6101
6120
|
// CORS not supported.
|
|
6102
6121
|
xhr = null;
|
|
@@ -6104,10 +6123,10 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
|
|
|
6104
6123
|
//triggerEvent(gina, $target, 'error.' + id, result);
|
|
6105
6124
|
throw new Error(result);
|
|
6106
6125
|
}
|
|
6107
|
-
|
|
6126
|
+
|
|
6108
6127
|
if ( typeof(queryOptions.responseType) != 'undefined' ) {
|
|
6109
6128
|
/**
|
|
6110
|
-
* Note: We expect to remove support for synchronous use of XMLHTTPRequest() during page unloads in Chrome in version 88,
|
|
6129
|
+
* Note: We expect to remove support for synchronous use of XMLHTTPRequest() during page unloads in Chrome in version 88,
|
|
6111
6130
|
* scheduled to ship in January 2021.
|
|
6112
6131
|
* The XMLHttpRequest2 spec was recently changed to prohibit sending a synchronous request when XMLHttpRequest.responseType
|
|
6113
6132
|
*/
|
|
@@ -6124,132 +6143,212 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
|
|
|
6124
6143
|
xhr.open(queryOptions.method, queryOptions.url)
|
|
6125
6144
|
}
|
|
6126
6145
|
}
|
|
6127
|
-
|
|
6146
|
+
|
|
6128
6147
|
// setting up headers - all but Content-Type ; it will be set right before .send() is called
|
|
6129
6148
|
for (var hearder in queryOptions.headers) {
|
|
6130
6149
|
if (hearder == 'Content-Type' && typeof (enctype) != 'undefined' && enctype != null && enctype != '')
|
|
6131
6150
|
continue;
|
|
6132
6151
|
|
|
6133
6152
|
xhr.setRequestHeader(hearder, queryOptions.headers[hearder]);
|
|
6134
|
-
}
|
|
6153
|
+
}
|
|
6135
6154
|
if (typeof (enctype) != 'undefined' && enctype != null && enctype != '') {
|
|
6136
6155
|
xhr.setRequestHeader('Content-Type', enctype);
|
|
6137
6156
|
}
|
|
6138
|
-
|
|
6139
|
-
|
|
6140
|
-
|
|
6141
|
-
|
|
6142
|
-
|
|
6143
|
-
|
|
6144
|
-
|
|
6145
|
-
|
|
6146
|
-
|
|
6147
|
-
|
|
6148
|
-
|
|
6149
|
-
|
|
6150
|
-
|
|
6151
|
-
|
|
6157
|
+
|
|
6158
|
+
var onResult = function(result) {
|
|
6159
|
+
|
|
6160
|
+
_this.value = local['data'][_this.name] = (_this.value) ? _this.value.toLowerCase() : _this.value;
|
|
6161
|
+
|
|
6162
|
+
var isValid = result.isValid || false;
|
|
6163
|
+
if (validIf != isValid) {
|
|
6164
|
+
isValid = false;
|
|
6165
|
+
} else {
|
|
6166
|
+
isValid = true;
|
|
6167
|
+
}
|
|
6168
|
+
self[_this['name']].valid = isValid;
|
|
6169
|
+
var errors = self[_this['name']]['errors'] || {};
|
|
6170
|
+
|
|
6171
|
+
var errorFields = ( typeof(result.error) != 'undefined' && typeof(result.fields) != 'undefined' ) ? result.fields : {};
|
|
6172
|
+
|
|
6173
|
+
if (errorFields.count() > 0 && !isValid || !isValid) {
|
|
6174
|
+
|
|
6175
|
+
if (!isValid) {
|
|
6176
|
+
var systemError = null;
|
|
6177
|
+
if ( typeof(errorFields[_this.name]) != 'undefined') {
|
|
6178
|
+
|
|
6179
|
+
// compiling against rules[field].query.data
|
|
6180
|
+
local.errorLabels['query'] = compileError(errorFields[_this.name], options.data);
|
|
6181
|
+
|
|
6182
|
+
|
|
6183
|
+
} else if ( typeof(result.error) != 'undefined' && /^5/.test(result.status) ) {
|
|
6184
|
+
// system error
|
|
6185
|
+
systemError = result.error;
|
|
6152
6186
|
}
|
|
6153
|
-
|
|
6154
|
-
|
|
6155
|
-
|
|
6156
|
-
|
|
6157
|
-
|
|
6158
|
-
|
|
6159
|
-
|
|
6160
|
-
|
|
6161
|
-
|
|
6162
|
-
|
|
6163
|
-
|
|
6164
|
-
|
|
6165
|
-
|
|
6166
|
-
|
|
6167
|
-
|
|
6168
|
-
|
|
6169
|
-
|
|
6170
|
-
|
|
6171
|
-
|
|
6172
|
-
|
|
6173
|
-
|
|
6174
|
-
|
|
6175
|
-
|
|
6187
|
+
// Fixed on 2023-01-10
|
|
6188
|
+
// We want `local.errorLabels['query']` before the generic|user defined `rule` error
|
|
6189
|
+
errors['query'] = replace(systemError || _this['error'] || local.errorLabels['query'] || options['error'], _this);
|
|
6190
|
+
console.debug('[1] query error detected !! ', result);
|
|
6191
|
+
}
|
|
6192
|
+
|
|
6193
|
+
if ( !errors['query'] && _this.value == '' ) {
|
|
6194
|
+
isValid = true;
|
|
6195
|
+
}
|
|
6196
|
+
}
|
|
6197
|
+
|
|
6198
|
+
// if error tagged by a previous validation, remove it when isValid == true
|
|
6199
|
+
if ( isValid && typeof(errors['query']) != 'undefined' ) {
|
|
6200
|
+
delete errors['query'];
|
|
6201
|
+
}
|
|
6202
|
+
|
|
6203
|
+
// To handle multiple errors from backend
|
|
6204
|
+
// for (var f in errorFields.length) {
|
|
6205
|
+
// if ( !errors['query'] && _this.value == '' ) {
|
|
6206
|
+
// isValid = true;
|
|
6207
|
+
// }
|
|
6208
|
+
|
|
6209
|
+
// if (!isValid) {
|
|
6210
|
+
// errors['query'] = replace(_this['error'] || local.errorLabels['query'], _this)
|
|
6211
|
+
// }
|
|
6212
|
+
// // if error tagged by a previous validation, remove it when isValid == true
|
|
6213
|
+
// else if ( isValid && typeof(errors['query']) != 'undefined' ) {
|
|
6214
|
+
// delete errors['query'];
|
|
6215
|
+
// }
|
|
6216
|
+
// }
|
|
6217
|
+
|
|
6218
|
+
_this.valid = isValid;
|
|
6219
|
+
var cachedErrors = gina.validator.$forms[_this.target.form.getAttribute('id')].cachedErrors || {};
|
|
6220
|
+
if ( errors.count() > 0 ) {
|
|
6221
|
+
|
|
6222
|
+
_this['errors'] = errors;
|
|
6223
|
+
if ( typeof(self[_this['name']].errors) == 'undefined' ) {
|
|
6224
|
+
self[_this['name']].errors = {};
|
|
6225
|
+
}
|
|
6226
|
+
|
|
6227
|
+
self[_this['name']].errors = merge(self[_this['name']].errors, errors);
|
|
6228
|
+
|
|
6229
|
+
if ( typeof(errors.query) != 'undefined' && errors.query ) {
|
|
6230
|
+
|
|
6231
|
+
if ( typeof(cachedErrors[_this.name]) == 'undefined' ) {
|
|
6232
|
+
cachedErrors[_this.name] = {}
|
|
6176
6233
|
}
|
|
6177
|
-
|
|
6178
|
-
|
|
6179
|
-
if ( isValid && typeof(errors['query']) != 'undefined' ) {
|
|
6180
|
-
delete errors['query'];
|
|
6234
|
+
if ( typeof(cachedErrors[_this.name].query) == 'undefined' ) {
|
|
6235
|
+
cachedErrors[_this.name].query = {}
|
|
6181
6236
|
}
|
|
6182
|
-
|
|
6183
|
-
|
|
6184
|
-
|
|
6185
|
-
|
|
6186
|
-
|
|
6187
|
-
|
|
6188
|
-
|
|
6189
|
-
|
|
6190
|
-
|
|
6191
|
-
|
|
6192
|
-
|
|
6193
|
-
|
|
6194
|
-
|
|
6195
|
-
|
|
6196
|
-
|
|
6197
|
-
|
|
6198
|
-
|
|
6199
|
-
|
|
6200
|
-
|
|
6201
|
-
|
|
6202
|
-
|
|
6203
|
-
|
|
6204
|
-
|
|
6205
|
-
|
|
6206
|
-
|
|
6207
|
-
|
|
6208
|
-
|
|
6209
|
-
|
|
6210
|
-
|
|
6211
|
-
|
|
6212
|
-
|
|
6213
|
-
|
|
6214
|
-
|
|
6215
|
-
|
|
6216
|
-
|
|
6217
|
-
|
|
6218
|
-
|
|
6219
|
-
|
|
6220
|
-
|
|
6221
|
-
|
|
6222
|
-
|
|
6223
|
-
|
|
6224
|
-
|
|
6225
|
-
|
|
6226
|
-
|
|
6237
|
+
|
|
6238
|
+
cachedErrors[_this.name].query[_this.value] = errors.query.slice(0);
|
|
6239
|
+
}
|
|
6240
|
+
|
|
6241
|
+
var errClass = _this.target.getAttribute('data-gina-form-errors');
|
|
6242
|
+
if ( !/query/.test(errClass) ) {
|
|
6243
|
+
if ( !errClass || errClass =='' ) {
|
|
6244
|
+
errClass = 'query'
|
|
6245
|
+
} else {
|
|
6246
|
+
errClass +=' query'
|
|
6247
|
+
}
|
|
6248
|
+
_this.target.setAttribute('data-gina-form-errors', errClass);
|
|
6249
|
+
}
|
|
6250
|
+
} else if (
|
|
6251
|
+
typeof(cachedErrors[_this.name]) != 'undefined'
|
|
6252
|
+
&& typeof(cachedErrors[_this.name].query) != 'undefined'
|
|
6253
|
+
&& typeof(cachedErrors[_this.name].query[_this.value]) != 'undefined'
|
|
6254
|
+
) {
|
|
6255
|
+
delete cachedErrors[_this.name].query[_this.value];
|
|
6256
|
+
}
|
|
6257
|
+
|
|
6258
|
+
var id = _this.target.id || _this.target.getAttribute('id');
|
|
6259
|
+
console.debug('prematurely completed event `'+ 'asyncCompleted.' + id +'`');
|
|
6260
|
+
return triggerEvent(gina, _this.target, 'asyncCompleted.' + id, self[_this['name']]);
|
|
6261
|
+
} // EO onResult
|
|
6262
|
+
|
|
6263
|
+
|
|
6264
|
+
if (xhr) {
|
|
6265
|
+
|
|
6266
|
+
xhr.onerror = function(event, err) {
|
|
6267
|
+
|
|
6268
|
+
var error = 'Transaction error: might be due to the server CORS settings.\nPlease, check the console for more details.';
|
|
6269
|
+
var result = {
|
|
6270
|
+
'status': xhr.status, //500,
|
|
6271
|
+
'error' : error
|
|
6272
|
+
};
|
|
6273
|
+
|
|
6274
|
+
console.debug('query error [2] detected !! ', err, error);
|
|
6275
|
+
isOnException = true;
|
|
6276
|
+
result = this.responseText;
|
|
6277
|
+
var contentType = this.getResponseHeader("Content-Type");
|
|
6278
|
+
if ( /\/json/.test( contentType ) ) {
|
|
6279
|
+
result = JSON.parse(this.responseText);
|
|
6280
|
+
|
|
6281
|
+
if ( typeof(result.status) == 'undefined' )
|
|
6282
|
+
result.status = this.status;
|
|
6283
|
+
|
|
6284
|
+
//triggerEvent(gina, $target, 'success.' + id, result);
|
|
6285
|
+
return onResult(result)
|
|
6286
|
+
} else {
|
|
6287
|
+
result = { 'status': xhr.status, 'message': '' };
|
|
6288
|
+
if ( /^(\{|\[)/.test( xhr.responseText ) ) {
|
|
6289
|
+
try {
|
|
6290
|
+
result = merge( result, JSON.parse(xhr.responseText) );
|
|
6291
|
+
} catch (err) {
|
|
6292
|
+
result = merge(result, err);
|
|
6227
6293
|
}
|
|
6228
|
-
_this.target.setAttribute('data-gina-form-errors', errClass);
|
|
6229
6294
|
}
|
|
6230
|
-
|
|
6231
|
-
typeof(cachedErrors[_this.name]) != 'undefined'
|
|
6232
|
-
&& typeof(cachedErrors[_this.name].query) != 'undefined'
|
|
6233
|
-
&& typeof(cachedErrors[_this.name].query[_this.value]) != 'undefined'
|
|
6234
|
-
) {
|
|
6235
|
-
delete cachedErrors[_this.name].query[_this.value];
|
|
6295
|
+
return onResult(result);
|
|
6236
6296
|
}
|
|
6237
|
-
|
|
6238
|
-
|
|
6239
|
-
|
|
6240
|
-
|
|
6241
|
-
|
|
6242
|
-
|
|
6297
|
+
|
|
6298
|
+
}// Eo xhr.onerror
|
|
6299
|
+
|
|
6300
|
+
// catching ready state cb
|
|
6301
|
+
// var isOnException = false;
|
|
6302
|
+
// xhr.onreadystatechange = function (event) {
|
|
6303
|
+
// if (xhr.readyState == 4) {
|
|
6304
|
+
|
|
6305
|
+
// console.warn(xhr.status, xhr.responseText);
|
|
6306
|
+
|
|
6307
|
+
// if (xhr.status === 200) {
|
|
6308
|
+
// console.log("-> Success [3]" + xhr.responseText);
|
|
6309
|
+
// try {
|
|
6310
|
+
// result = this.responseText;
|
|
6311
|
+
// var contentType = this.getResponseHeader("Content-Type");
|
|
6312
|
+
// if ( /\/json/.test( contentType ) ) {
|
|
6313
|
+
// result = JSON.parse(this.responseText);
|
|
6314
|
+
|
|
6315
|
+
// if ( typeof(result.status) == 'undefined' )
|
|
6316
|
+
// result.status = this.status;
|
|
6317
|
+
|
|
6318
|
+
// //triggerEvent(gina, $target, 'success.' + id, result);
|
|
6319
|
+
// return onResult(result)
|
|
6320
|
+
// } else {
|
|
6321
|
+
// result = { 'status': xhr.status, 'message': '' };
|
|
6322
|
+
// if ( /^(\{|\[)/.test( xhr.responseText ) ) {
|
|
6323
|
+
// try {
|
|
6324
|
+
// result = merge( result, JSON.parse(xhr.responseText) );
|
|
6325
|
+
// } catch (err) {
|
|
6326
|
+
// result = merge(result, err);
|
|
6327
|
+
// }
|
|
6328
|
+
// }
|
|
6329
|
+
// return onResult(result);
|
|
6330
|
+
// }
|
|
6331
|
+
// } catch (err) {
|
|
6332
|
+
// throw err;
|
|
6333
|
+
// }
|
|
6334
|
+
// } else {
|
|
6335
|
+
// isOnException = true;
|
|
6336
|
+
// console.log("-> Error [3]", xhr.statusText, 'isOnException: '+ isOnException);
|
|
6337
|
+
// }
|
|
6338
|
+
// }
|
|
6339
|
+
// } // EO xhr.onreadystatechange = function (event) {
|
|
6340
|
+
|
|
6341
|
+
xhr.onload = function () {
|
|
6243
6342
|
try {
|
|
6244
6343
|
result = this.responseText;
|
|
6245
6344
|
var contentType = this.getResponseHeader("Content-Type");
|
|
6246
6345
|
if ( /\/json/.test( contentType ) ) {
|
|
6247
6346
|
result = JSON.parse(this.responseText);
|
|
6248
|
-
|
|
6347
|
+
|
|
6249
6348
|
if ( typeof(result.status) == 'undefined' )
|
|
6250
6349
|
result.status = this.status;
|
|
6251
|
-
|
|
6252
|
-
//triggerEvent(gina, $target, 'success.' + id, result);
|
|
6350
|
+
|
|
6351
|
+
//triggerEvent(gina, $target, 'success.' + id, result);
|
|
6253
6352
|
return onResult(result)
|
|
6254
6353
|
} else {
|
|
6255
6354
|
result = { 'status': xhr.status, 'message': '' };
|
|
@@ -6264,32 +6363,32 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
|
|
|
6264
6363
|
}
|
|
6265
6364
|
} catch (err) {
|
|
6266
6365
|
throw err;
|
|
6267
|
-
}
|
|
6268
|
-
}
|
|
6269
|
-
|
|
6366
|
+
}
|
|
6367
|
+
}// xhr.onload = function () {
|
|
6368
|
+
|
|
6270
6369
|
if (data) {
|
|
6271
6370
|
xhr.send( queryData ); // stringyfied
|
|
6272
6371
|
} else {
|
|
6273
6372
|
xhr.send();
|
|
6274
|
-
}
|
|
6373
|
+
}
|
|
6275
6374
|
}
|
|
6276
6375
|
}
|
|
6277
|
-
|
|
6376
|
+
|
|
6278
6377
|
/**
|
|
6279
6378
|
* queryFromBackend
|
|
6280
|
-
*
|
|
6281
|
-
*
|
|
6282
|
-
* @param {object} options
|
|
6283
|
-
* @param {object} request
|
|
6284
|
-
* @param {object} response
|
|
6379
|
+
*
|
|
6380
|
+
*
|
|
6381
|
+
* @param {object} options
|
|
6382
|
+
* @param {object} request
|
|
6383
|
+
* @param {object} response
|
|
6285
6384
|
* @param {callback} next
|
|
6286
|
-
*
|
|
6287
|
-
*
|
|
6385
|
+
*
|
|
6386
|
+
*
|
|
6288
6387
|
*/
|
|
6289
6388
|
var queryFromBackend = async function(options, request, response, next) {
|
|
6290
6389
|
var Config = require(_(GINA_FRAMEWORK_DIR +'/core/config.js', true));
|
|
6291
6390
|
var config = new Config().getInstance();
|
|
6292
|
-
|
|
6391
|
+
|
|
6293
6392
|
var opt = null
|
|
6294
6393
|
//appConf.proxy.<bundle>;
|
|
6295
6394
|
, rule = null
|
|
@@ -6298,7 +6397,7 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
|
|
|
6298
6397
|
;
|
|
6299
6398
|
// trying to retrieve proxy conf
|
|
6300
6399
|
if ( /\@/.test(options.url) ) {
|
|
6301
|
-
var attr = options.url.split(/@/);
|
|
6400
|
+
var attr = options.url.split(/@/);
|
|
6302
6401
|
rule = attr[0];
|
|
6303
6402
|
bundle = attr[1];
|
|
6304
6403
|
var proxyConf = getConfig( currentBundle, 'app' ).proxy;
|
|
@@ -6306,11 +6405,11 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
|
|
|
6306
6405
|
if (config.bundle !== bundle) { // ignore if same bundle
|
|
6307
6406
|
// getting proxy conf when available
|
|
6308
6407
|
opt = getConfig( currentBundle, 'app' ).proxy[bundle];
|
|
6309
|
-
}
|
|
6408
|
+
}
|
|
6310
6409
|
} catch (proxyError) {
|
|
6311
6410
|
throw new Error('Could not retrieve `proxy` configuration for bundle `'+ bundle +'`. Please check your `/config/app.json`.\n'+proxyError.stack);
|
|
6312
6411
|
}
|
|
6313
|
-
|
|
6412
|
+
|
|
6314
6413
|
attr = null;
|
|
6315
6414
|
} else {
|
|
6316
6415
|
// TODO - handle else; when it is an external domain/url
|
|
@@ -6318,7 +6417,7 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
|
|
|
6318
6417
|
}
|
|
6319
6418
|
var route = JSON.clone(routing.getRoute(options.url, options.data));
|
|
6320
6419
|
var env = config.env;
|
|
6321
|
-
var conf = config[bundle][env];
|
|
6420
|
+
var conf = config[bundle][env];
|
|
6322
6421
|
if (!opt) { // setup opt by default if no proxy conf found
|
|
6323
6422
|
if (config.bundle == bundle) {
|
|
6324
6423
|
var credentials = getConfig( currentBundle, 'settings' ).server.credentials;
|
|
@@ -6328,13 +6427,13 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
|
|
|
6328
6427
|
options.protocol = conf.server.protocol;
|
|
6329
6428
|
options.rejectUnauthorized = false;
|
|
6330
6429
|
}
|
|
6331
|
-
opt = {
|
|
6430
|
+
opt = {
|
|
6332
6431
|
"ca" : options.ca,
|
|
6333
|
-
"hostname" : options.hostname,
|
|
6334
|
-
"port" : options.port,
|
|
6432
|
+
"hostname" : options.hostname,
|
|
6433
|
+
"port" : options.port,
|
|
6335
6434
|
"path" : options.path
|
|
6336
6435
|
};
|
|
6337
|
-
|
|
6436
|
+
|
|
6338
6437
|
if ( typeof(options.protocol) != 'undefined' ) {
|
|
6339
6438
|
opt.protocol = options.protocol
|
|
6340
6439
|
}
|
|
@@ -6342,7 +6441,7 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
|
|
|
6342
6441
|
opt.rejectUnauthorized = options.rejectUnauthorized
|
|
6343
6442
|
}
|
|
6344
6443
|
}
|
|
6345
|
-
|
|
6444
|
+
|
|
6346
6445
|
/**
|
|
6347
6446
|
* BO routing configuration
|
|
6348
6447
|
* Attention: this portion of code is from `router.js`
|
|
@@ -6361,7 +6460,7 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
|
|
|
6361
6460
|
isXMLRequest : request.isXMLRequest,
|
|
6362
6461
|
isWithCredentials : request.isWithCredentials
|
|
6363
6462
|
};
|
|
6364
|
-
|
|
6463
|
+
|
|
6365
6464
|
var templateName = params.rule.replace('\@'+ bundle, '') || '_common';
|
|
6366
6465
|
var routeHasViews = ( typeof(conf.content.templates) != 'undefined' ) ? true : false;
|
|
6367
6466
|
var controllerOptions = {
|
|
@@ -6384,9 +6483,9 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
|
|
|
6384
6483
|
//path: params.param.path || null, // user custom path : namespace should be ignored | left blank
|
|
6385
6484
|
//assets: {}
|
|
6386
6485
|
};
|
|
6387
|
-
|
|
6388
|
-
controllerOptions = merge(controllerOptions, params);
|
|
6389
|
-
|
|
6486
|
+
|
|
6487
|
+
controllerOptions = merge(controllerOptions, params);
|
|
6488
|
+
|
|
6390
6489
|
// BO - Template outside of namespace fix added on 2021-08-19
|
|
6391
6490
|
// We want to keep original conf untouched
|
|
6392
6491
|
controllerOptions.conf = JSON.clone(conf);
|
|
@@ -6397,7 +6496,7 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
|
|
|
6397
6496
|
&& typeof(controllerOptions.template.ginaLoader) == 'undefined'
|
|
6398
6497
|
) {
|
|
6399
6498
|
controllerOptions.template.ginaLoader = controllerOptions.conf.content.templates._common.ginaLoader;
|
|
6400
|
-
}
|
|
6499
|
+
}
|
|
6401
6500
|
controllerOptions.conf.content.routing[controllerOptions.rule].param = params.param;
|
|
6402
6501
|
delete controllerOptions.middleware;
|
|
6403
6502
|
delete controllerOptions.param;
|
|
@@ -6406,17 +6505,17 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
|
|
|
6406
6505
|
/**
|
|
6407
6506
|
* EO routing configuration
|
|
6408
6507
|
*/
|
|
6409
|
-
|
|
6508
|
+
|
|
6410
6509
|
var Controller = require(_(GINA_FRAMEWORK_DIR +'/core/controller/controller.js'), true);
|
|
6411
6510
|
var controller = new Controller(controllerOptions);
|
|
6412
|
-
controller.name = route.param.control;
|
|
6511
|
+
controller.name = route.param.control;
|
|
6413
6512
|
//controller.serverInstance = serverInstance;
|
|
6414
6513
|
controller.setOptions(request, response, next, controllerOptions);
|
|
6415
|
-
|
|
6416
|
-
|
|
6514
|
+
|
|
6515
|
+
|
|
6417
6516
|
var data = ( typeof(options.data) == 'object' && options.data.count() > 0 )
|
|
6418
6517
|
? options.data
|
|
6419
|
-
: {};
|
|
6518
|
+
: {};
|
|
6420
6519
|
// inherited data from current query asking for validation
|
|
6421
6520
|
var urlParams = '';
|
|
6422
6521
|
if ( /^get|delete|put$/i.test(options.method) ) {
|
|
@@ -6434,11 +6533,11 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
|
|
|
6434
6533
|
opt.method = options.method;
|
|
6435
6534
|
//opt.path = route.url + urlParams;
|
|
6436
6535
|
opt.path = route.url;
|
|
6437
|
-
|
|
6536
|
+
|
|
6438
6537
|
var util = require('util');
|
|
6439
6538
|
var promisify = util.promisify;
|
|
6440
6539
|
var result = { isValid: false }, err = false;
|
|
6441
|
-
|
|
6540
|
+
|
|
6442
6541
|
await promisify(controller.query)(opt, data)
|
|
6443
6542
|
.then(function onResult(_result) {
|
|
6444
6543
|
result = _result;
|
|
@@ -6450,10 +6549,10 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
|
|
|
6450
6549
|
//throw err;
|
|
6451
6550
|
console.error(err);
|
|
6452
6551
|
result.error = err;
|
|
6453
|
-
}
|
|
6552
|
+
}
|
|
6454
6553
|
return result;
|
|
6455
6554
|
};
|
|
6456
|
-
|
|
6555
|
+
|
|
6457
6556
|
/**
|
|
6458
6557
|
* query
|
|
6459
6558
|
*/
|
|
@@ -6468,16 +6567,16 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
|
|
|
6468
6567
|
/**
|
|
6469
6568
|
* addField
|
|
6470
6569
|
* Add field to the validation context
|
|
6471
|
-
* @param {string} el
|
|
6472
|
-
* @param {string|boolean|number|object} [value]
|
|
6570
|
+
* @param {string} el
|
|
6571
|
+
* @param {string|boolean|number|object} [value]
|
|
6473
6572
|
*/
|
|
6474
|
-
var addField = function(el, value) {
|
|
6573
|
+
var addField = function(el, value) {
|
|
6475
6574
|
var val = null, label = null;
|
|
6476
|
-
|
|
6575
|
+
|
|
6477
6576
|
if ( typeof(self[el]) == 'undefined' && typeof(value) != 'undefined' ) {
|
|
6478
6577
|
self[el] = val = value;
|
|
6479
6578
|
}
|
|
6480
|
-
|
|
6579
|
+
|
|
6481
6580
|
if ( typeof(self[el]) == 'object' ) {
|
|
6482
6581
|
try {
|
|
6483
6582
|
val = JSON.parse( JSON.stringify( self[el] ))
|
|
@@ -6527,17 +6626,17 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
|
|
|
6527
6626
|
var alias = ( typeof(window) != 'undefined' && typeof(window._currentValidatorAlias) != 'undefined' ) ? window._currentValidatorAlias : 'is';
|
|
6528
6627
|
if ( typeof(window) != 'undefined' && window._currentValidatorAlias)
|
|
6529
6628
|
delete window._currentValidatorAlias;
|
|
6530
|
-
|
|
6531
|
-
var errors = self[this['name']]['errors'] || {};
|
|
6629
|
+
|
|
6630
|
+
var errors = self[this['name']]['errors'] || {};
|
|
6532
6631
|
local.data[this.name] = self[this.name].value;
|
|
6533
|
-
|
|
6534
|
-
if (
|
|
6632
|
+
|
|
6633
|
+
if (
|
|
6535
6634
|
typeof(errors['isRequired']) == 'undefined'
|
|
6536
6635
|
&& this.value == ''
|
|
6537
|
-
&& !/^false$/i.test(this.value)
|
|
6538
|
-
&& this.value != 0
|
|
6636
|
+
&& !/^false$/i.test(this.value)
|
|
6637
|
+
&& this.value != 0
|
|
6539
6638
|
||
|
|
6540
|
-
!errors['isRequired']
|
|
6639
|
+
!errors['isRequired']
|
|
6541
6640
|
&& this.value == ''
|
|
6542
6641
|
&& !/^false$/i.test(this.value)
|
|
6543
6642
|
&& this.value != 0
|
|
@@ -6546,14 +6645,14 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
|
|
|
6546
6645
|
} else if (!errors['isRequired'] && typeof(this.value) == 'string' && this.value == '') {
|
|
6547
6646
|
isValid = true;
|
|
6548
6647
|
}
|
|
6549
|
-
|
|
6648
|
+
|
|
6550
6649
|
if ( !isValid && /^(true|false)$/i.test(condition) ) { // because it can be evaluated on backend validation
|
|
6551
6650
|
isValid = condition;
|
|
6552
6651
|
} else if (!isValid) {
|
|
6553
6652
|
var re = null, flags = null;
|
|
6554
6653
|
// Fixed on 2021-03-13: $variable now replaced with real value beafore validation
|
|
6555
6654
|
if ( /[\!\=>\>\<a-z 0-9]+/i.test(condition) ) {
|
|
6556
|
-
var variables = condition.match(/\${0}[-_,.\[\]a-z0-9]+/ig); // without space(s)
|
|
6655
|
+
var variables = condition.match(/\${0}[-_,.\[\]a-z0-9]+/ig); // without space(s)
|
|
6557
6656
|
if (variables && variables.length > 0) {
|
|
6558
6657
|
var compiledCondition = condition;
|
|
6559
6658
|
for (var i = 0, len = variables.length; i < len; ++i) {
|
|
@@ -6569,7 +6668,7 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
|
|
|
6569
6668
|
}
|
|
6570
6669
|
}
|
|
6571
6670
|
}
|
|
6572
|
-
|
|
6671
|
+
|
|
6573
6672
|
try {
|
|
6574
6673
|
// security checks
|
|
6575
6674
|
compiledCondition = compiledCondition.replace(/(\(|\)|return)/g, '');
|
|
@@ -6578,7 +6677,7 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
|
|
|
6578
6677
|
} else {
|
|
6579
6678
|
isValid = eval(compiledCondition)
|
|
6580
6679
|
}
|
|
6581
|
-
|
|
6680
|
+
|
|
6582
6681
|
} catch (err) {
|
|
6583
6682
|
throw new Error(err.stack||err.message)
|
|
6584
6683
|
}
|
|
@@ -6602,7 +6701,7 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
|
|
|
6602
6701
|
} else {
|
|
6603
6702
|
isValid = eval(condition);
|
|
6604
6703
|
}
|
|
6605
|
-
|
|
6704
|
+
|
|
6606
6705
|
//valid = new RegExp(condition.replace(/\//g, '')).test(this.value)
|
|
6607
6706
|
} catch (err) {
|
|
6608
6707
|
throw new Error(err.stack||err.message)
|
|
@@ -6615,7 +6714,7 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
|
|
|
6615
6714
|
if ( typeof(errorStack) != 'undefined' )
|
|
6616
6715
|
errors['stack'] = errorStack;
|
|
6617
6716
|
}
|
|
6618
|
-
// if error tagged by a previous vlaidation, remove it when isValid == true
|
|
6717
|
+
// if error tagged by a previous vlaidation, remove it when isValid == true
|
|
6619
6718
|
else if ( isValid && typeof(errors[alias]) != 'undefined' ) {
|
|
6620
6719
|
delete errors[alias];
|
|
6621
6720
|
//delete errors['stack'];
|
|
@@ -6625,16 +6724,16 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
|
|
|
6625
6724
|
if ( errors.count() > 0 )
|
|
6626
6725
|
this['errors'] = errors;
|
|
6627
6726
|
|
|
6628
|
-
|
|
6727
|
+
|
|
6629
6728
|
return self[this.name]
|
|
6630
6729
|
}
|
|
6631
|
-
|
|
6730
|
+
|
|
6632
6731
|
self[el]['set'] = function(value) {
|
|
6633
6732
|
this.value = local['data'][this.name] = value;
|
|
6634
|
-
// html
|
|
6733
|
+
// html
|
|
6635
6734
|
this.target.setAttribute('value', value);
|
|
6636
6735
|
// Todo : select and radio case to apply change
|
|
6637
|
-
|
|
6736
|
+
|
|
6638
6737
|
return self[this.name]
|
|
6639
6738
|
}
|
|
6640
6739
|
|
|
@@ -6643,15 +6742,15 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
|
|
|
6643
6742
|
|
|
6644
6743
|
this.value = local['data'][this.name] = (this.value) ? this.value.toLowerCase() : this.value;
|
|
6645
6744
|
// Apply on current field upper -> lower
|
|
6646
|
-
if (
|
|
6745
|
+
if (
|
|
6647
6746
|
isGFFCtx
|
|
6648
6747
|
&& this.target
|
|
6649
|
-
&& this.target.value != ''
|
|
6650
|
-
&& /[A-Z]+/.test(this.target.value)
|
|
6748
|
+
&& this.target.value != ''
|
|
6749
|
+
&& /[A-Z]+/.test(this.target.value)
|
|
6651
6750
|
) {
|
|
6652
6751
|
this.target.value = this.value;
|
|
6653
6752
|
}
|
|
6654
|
-
|
|
6753
|
+
|
|
6655
6754
|
|
|
6656
6755
|
var rgx = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
|
|
6657
6756
|
var isValid = rgx.test(this['value']) ? true : false;
|
|
@@ -6664,7 +6763,7 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
|
|
|
6664
6763
|
if (!isValid) {
|
|
6665
6764
|
errors['isEmail'] = replace(this['error'] || local.errorLabels['isEmail'], this)
|
|
6666
6765
|
}
|
|
6667
|
-
// if error tagged by a previous vlaidation, remove it when isValid == true
|
|
6766
|
+
// if error tagged by a previous vlaidation, remove it when isValid == true
|
|
6668
6767
|
else if ( isValid && typeof(errors['isEmail']) != 'undefined' ) {
|
|
6669
6768
|
delete errors['isEmail'];
|
|
6670
6769
|
//delete errors['stack'];
|
|
@@ -6683,11 +6782,11 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
|
|
|
6683
6782
|
|
|
6684
6783
|
this.value = local['data'][this.name] = (this.value) ? this.value.toLowerCase() : this.value;
|
|
6685
6784
|
// Apply on current field upper -> lower
|
|
6686
|
-
if (
|
|
6785
|
+
if (
|
|
6687
6786
|
isGFFCtx
|
|
6688
6787
|
&& this.target
|
|
6689
|
-
&& this.target.value != ''
|
|
6690
|
-
&& /[A-Z]+/.test(this.target.value)
|
|
6788
|
+
&& this.target.value != ''
|
|
6789
|
+
&& /[A-Z]+/.test(this.target.value)
|
|
6691
6790
|
) {
|
|
6692
6791
|
this.target.value = this.value;
|
|
6693
6792
|
}
|
|
@@ -6703,7 +6802,7 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
|
|
|
6703
6802
|
if (!isValid) {
|
|
6704
6803
|
errors['isJsonWebToken'] = replace(this['error'] || local.errorLabels['isJsonWebToken'], this)
|
|
6705
6804
|
}
|
|
6706
|
-
// if error tagged by a previous vlaidation, remove it when isValid == true
|
|
6805
|
+
// if error tagged by a previous vlaidation, remove it when isValid == true
|
|
6707
6806
|
else if ( isValid && typeof(errors['isJsonWebToken']) != 'undefined' ) {
|
|
6708
6807
|
delete errors['isJsonWebToken'];
|
|
6709
6808
|
//delete errors['stack'];
|
|
@@ -6716,7 +6815,7 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
|
|
|
6716
6815
|
|
|
6717
6816
|
return self[this['name']]
|
|
6718
6817
|
}
|
|
6719
|
-
|
|
6818
|
+
|
|
6720
6819
|
/**
|
|
6721
6820
|
* Check if boolean and convert to `true/false` booloean if value is a string or a number
|
|
6722
6821
|
* Will include `false` value if isRequired
|
|
@@ -6744,13 +6843,13 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
|
|
|
6744
6843
|
val = this.value = local.data[this.name] = false;
|
|
6745
6844
|
break;
|
|
6746
6845
|
}
|
|
6747
|
-
|
|
6846
|
+
|
|
6748
6847
|
var isValid = (val !== null) ? true : false;
|
|
6749
6848
|
|
|
6750
6849
|
if (!isValid) {
|
|
6751
6850
|
errors['isBoolean'] = replace(this.error || local.errorLabels['isBoolean'], this)
|
|
6752
6851
|
}
|
|
6753
|
-
// if error tagged by a previous vlaidation, remove it when isValid == true
|
|
6852
|
+
// if error tagged by a previous vlaidation, remove it when isValid == true
|
|
6754
6853
|
else if ( isValid && typeof(errors['isBoolean']) != 'undefined' ) {
|
|
6755
6854
|
delete errors['isBoolean'];
|
|
6756
6855
|
//delete errors['stack'];
|
|
@@ -6782,7 +6881,7 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
|
|
|
6782
6881
|
, isMaxLength = true
|
|
6783
6882
|
, errors = self[this['name']]['errors'] || {}
|
|
6784
6883
|
;
|
|
6785
|
-
|
|
6884
|
+
|
|
6786
6885
|
// test if val is a number
|
|
6787
6886
|
try {
|
|
6788
6887
|
// if val is a string replaces comas by points
|
|
@@ -6831,7 +6930,7 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
|
|
|
6831
6930
|
|
|
6832
6931
|
isValid = false;
|
|
6833
6932
|
}
|
|
6834
|
-
// if error tagged by a previous vlaidation, remove it when isValid == true
|
|
6933
|
+
// if error tagged by a previous vlaidation, remove it when isValid == true
|
|
6835
6934
|
if ( isValid && typeof(errors['isNumberLength']) != 'undefined') {
|
|
6836
6935
|
delete errors['isNumberLength'];
|
|
6837
6936
|
}
|
|
@@ -6937,7 +7036,7 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
|
|
|
6937
7036
|
// document.getElementById(this.target.id).value = this.value;
|
|
6938
7037
|
// //triggerEvent(gina, this.target, 'change', self[this['name']]);
|
|
6939
7038
|
// }
|
|
6940
|
-
|
|
7039
|
+
|
|
6941
7040
|
} else {
|
|
6942
7041
|
this.value = this.value.replace(/\,/g,'');
|
|
6943
7042
|
}
|
|
@@ -7050,7 +7149,7 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
|
|
|
7050
7149
|
if ( typeof(isApplicable) == 'boolean' && !isApplicable ) {
|
|
7051
7150
|
|
|
7052
7151
|
this.valid = true;
|
|
7053
|
-
|
|
7152
|
+
|
|
7054
7153
|
// is in excluded ?
|
|
7055
7154
|
var excludedIndex = local.excluded.indexOf(this.name);
|
|
7056
7155
|
if ( excludedIndex > -1 ) {
|
|
@@ -7061,12 +7160,12 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
|
|
|
7061
7160
|
}
|
|
7062
7161
|
|
|
7063
7162
|
// radio group case
|
|
7064
|
-
if (
|
|
7065
|
-
isGFFCtx
|
|
7066
|
-
&& this.target
|
|
7067
|
-
&& this.target.tagName == 'INPUT'
|
|
7068
|
-
&& typeof(this.target.type) != 'undefined'
|
|
7069
|
-
&& this.target.type == 'radio'
|
|
7163
|
+
if (
|
|
7164
|
+
isGFFCtx
|
|
7165
|
+
&& this.target
|
|
7166
|
+
&& this.target.tagName == 'INPUT'
|
|
7167
|
+
&& typeof(this.target.type) != 'undefined'
|
|
7168
|
+
&& this.target.type == 'radio'
|
|
7070
7169
|
) {
|
|
7071
7170
|
var radios = document.getElementsByName(this.name);
|
|
7072
7171
|
for (var i = 0, len = radios.length; i < len; ++i) {
|
|
@@ -7091,7 +7190,7 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
|
|
|
7091
7190
|
if (!isValid) {
|
|
7092
7191
|
errors['isRequired'] = replace(this.error || local.errorLabels['isRequired'], this)
|
|
7093
7192
|
}
|
|
7094
|
-
// if error tagged by a previous vlaidation, remove it when isValid == true
|
|
7193
|
+
// if error tagged by a previous vlaidation, remove it when isValid == true
|
|
7095
7194
|
else if ( isValid ) {
|
|
7096
7195
|
if (typeof(errors['isRequired']) != 'undefined' )
|
|
7097
7196
|
delete errors['isRequired'];
|
|
@@ -7116,7 +7215,7 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
|
|
|
7116
7215
|
* {
|
|
7117
7216
|
* "password": {
|
|
7118
7217
|
* "isRequired": true,
|
|
7119
|
-
*
|
|
7218
|
+
*
|
|
7120
7219
|
* "isString": true // Means that we just want a string and we don't care of its length
|
|
7121
7220
|
* // OR
|
|
7122
7221
|
* "isString": 7 // Means at least 7 chars length
|
|
@@ -7196,7 +7295,7 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
|
|
|
7196
7295
|
*
|
|
7197
7296
|
* @returns {date} date - extended by gina::utils::dateFormat; an adaptation of Steven Levithan's code
|
|
7198
7297
|
* */
|
|
7199
|
-
self[el]['isDate'] = function(mask) {
|
|
7298
|
+
self[el]['isDate'] = function(mask) {
|
|
7200
7299
|
var val = this.value
|
|
7201
7300
|
, isValid = false
|
|
7202
7301
|
, errors = self[this['name']]['errors'] || {}
|
|
@@ -7204,37 +7303,37 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
|
|
|
7204
7303
|
, date = null
|
|
7205
7304
|
;
|
|
7206
7305
|
// Default validation on livecheck & invalid init value
|
|
7207
|
-
if (!val || val == '' || /NaN|Invalid Date/i.test(val) ) {
|
|
7306
|
+
if (!val || val == '' || /NaN|Invalid Date/i.test(val) ) {
|
|
7208
7307
|
if ( /NaN|Invalid Date/i.test(val) ) {
|
|
7209
7308
|
console.warn('[FormValidator::isDate] Provided value for field `'+ this.name +'` is not allowed: `'+ val +'`');
|
|
7210
7309
|
errors['isDate'] = replace(this.error || local.errorLabels['isDate'], this);
|
|
7211
|
-
|
|
7310
|
+
|
|
7212
7311
|
}
|
|
7213
7312
|
this.valid = isValid;
|
|
7214
7313
|
if ( errors.count() > 0 )
|
|
7215
|
-
this['errors'] = errors;
|
|
7216
|
-
|
|
7314
|
+
this['errors'] = errors;
|
|
7315
|
+
|
|
7217
7316
|
return self[this.name];
|
|
7218
7317
|
}
|
|
7219
|
-
|
|
7220
|
-
if (
|
|
7318
|
+
|
|
7319
|
+
if (
|
|
7221
7320
|
typeof(mask) == 'undefined'
|
|
7222
7321
|
||
|
|
7223
7322
|
typeof(mask) != 'undefined' && /true/i.test(mask)
|
|
7224
7323
|
) {
|
|
7225
7324
|
mask = "yyyy-mm-dd"; // by default
|
|
7226
7325
|
}
|
|
7227
|
-
|
|
7326
|
+
|
|
7228
7327
|
if (val instanceof Date) {
|
|
7229
7328
|
date = val.format(mask);
|
|
7230
7329
|
} else {
|
|
7231
|
-
|
|
7330
|
+
|
|
7232
7331
|
try {
|
|
7233
7332
|
m = mask.match(/[^\/\- ]+/g);
|
|
7234
7333
|
} catch (err) {
|
|
7235
7334
|
throw new Error('[FormValidator::isDate] Provided mask not allowed: `'+ mask +'`');
|
|
7236
7335
|
}
|
|
7237
|
-
|
|
7336
|
+
|
|
7238
7337
|
try {
|
|
7239
7338
|
val = val.match(/[^\/\- ]+/g);
|
|
7240
7339
|
var dic = {}, d, len;
|
|
@@ -7248,10 +7347,10 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
|
|
|
7248
7347
|
} catch (err) {
|
|
7249
7348
|
throw new Error('[FormValidator::isDate] Provided value not allowed: `'+ val +'`' + err);
|
|
7250
7349
|
}
|
|
7251
|
-
|
|
7350
|
+
|
|
7252
7351
|
|
|
7253
7352
|
date = this.value = local.data[this.name] = new Date(formatedDate);
|
|
7254
|
-
|
|
7353
|
+
|
|
7255
7354
|
if ( /Invalid Date/i.test(date) || date instanceof Date === false ) {
|
|
7256
7355
|
if ( !errors['isRequired'] && this.value == '' ) {
|
|
7257
7356
|
isValid = true
|
|
@@ -7313,7 +7412,7 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
|
|
|
7313
7412
|
}
|
|
7314
7413
|
return self[this.name]
|
|
7315
7414
|
}
|
|
7316
|
-
|
|
7415
|
+
|
|
7317
7416
|
/**
|
|
7318
7417
|
* Trim when string starts or ends with white space(s)
|
|
7319
7418
|
*
|
|
@@ -7337,11 +7436,11 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
|
|
|
7337
7436
|
self[el]['exclude'] = function(isApplicable) {
|
|
7338
7437
|
|
|
7339
7438
|
if ( typeof(isApplicable) == 'boolean' && !isApplicable ) {
|
|
7340
|
-
|
|
7439
|
+
|
|
7341
7440
|
if ( /^true|false$/i.test(this.value)) {
|
|
7342
7441
|
this.value = (/^true$/i.test(this.value)) ? true : false;
|
|
7343
7442
|
local.data[this.name] = this.value;
|
|
7344
|
-
}
|
|
7443
|
+
}
|
|
7345
7444
|
|
|
7346
7445
|
return self[this.name]
|
|
7347
7446
|
}
|
|
@@ -7351,8 +7450,8 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
|
|
|
7351
7450
|
local.excluded.push(this.name);
|
|
7352
7451
|
this.isExcluded = true;
|
|
7353
7452
|
}
|
|
7354
|
-
|
|
7355
|
-
|
|
7453
|
+
|
|
7454
|
+
|
|
7356
7455
|
// remove existing errors
|
|
7357
7456
|
return self[this.name];
|
|
7358
7457
|
}
|
|
@@ -7362,8 +7461,8 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
|
|
|
7362
7461
|
* a request to the remote host if previous rules failed
|
|
7363
7462
|
*/
|
|
7364
7463
|
self[el]['query'] = query;
|
|
7365
|
-
|
|
7366
|
-
|
|
7464
|
+
|
|
7465
|
+
|
|
7367
7466
|
self[el]['getValidationContext'] = function() {
|
|
7368
7467
|
return {
|
|
7369
7468
|
'isGFFCtx' : isGFFCtx,
|
|
@@ -7373,10 +7472,10 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
|
|
|
7373
7472
|
}
|
|
7374
7473
|
}
|
|
7375
7474
|
// Merging user validators
|
|
7376
|
-
// To debug, open inspector and look into `Extra Scripts`
|
|
7475
|
+
// To debug, open inspector and look into `Extra Scripts`
|
|
7377
7476
|
if ( hasUserValidators() ) {
|
|
7378
7477
|
var userValidator = null, filename = null;
|
|
7379
|
-
try {
|
|
7478
|
+
try {
|
|
7380
7479
|
for (let v in gina.forms.validators) {
|
|
7381
7480
|
filename = '/validators/'+ v + '/main.js';
|
|
7382
7481
|
// setting default local error
|
|
@@ -7387,12 +7486,12 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
|
|
|
7387
7486
|
userValidator = bufferToString(gina.forms.validators[v].data); // ok
|
|
7388
7487
|
var passedContext = 'var validationContext = this.getValidationContext(),isGFFCtx = validationContext.isGFFCtx,self = validationContext.self,local = validationContext.local,replace = validationContext.replace;';
|
|
7389
7488
|
userValidator = userValidator.replace(/(\)\s+\{|\)\{){1}/, '$&\n\t'+ passedContext);
|
|
7390
|
-
|
|
7489
|
+
|
|
7391
7490
|
//userValidator += '\n//#sourceURL='+ v +'.js';
|
|
7392
7491
|
} else {
|
|
7393
7492
|
userValidator = gina.forms.validators[v].toString();
|
|
7394
7493
|
}
|
|
7395
|
-
|
|
7494
|
+
|
|
7396
7495
|
self[el][v] = eval('(' + userValidator + ')\n//# sourceURL='+ v +'.js');
|
|
7397
7496
|
//self[el][v] = Function('errorMessage', 'errorStack', userValidator);
|
|
7398
7497
|
}
|
|
@@ -7400,22 +7499,22 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
|
|
|
7400
7499
|
throw new Error('[UserFormValidator] Could not evaluate: `'+ filename +'`\n'+userValidatorError.stack);
|
|
7401
7500
|
}
|
|
7402
7501
|
}
|
|
7403
|
-
} // EO addField(el, value)
|
|
7404
|
-
|
|
7405
|
-
|
|
7406
|
-
for (let el in self) {
|
|
7502
|
+
} // EO addField(el, value)
|
|
7503
|
+
|
|
7504
|
+
|
|
7505
|
+
for (let el in self) {
|
|
7407
7506
|
// Adding fields & validators to context
|
|
7408
7507
|
addField(el, self[el]);
|
|
7409
7508
|
}
|
|
7410
|
-
|
|
7509
|
+
|
|
7411
7510
|
self['addField'] = function(el, value) {
|
|
7412
7511
|
if ( typeof(self[el]) != 'undefined' ) {
|
|
7413
7512
|
return
|
|
7414
7513
|
}
|
|
7415
7514
|
addField(el, value);
|
|
7416
7515
|
};
|
|
7417
|
-
|
|
7418
|
-
|
|
7516
|
+
|
|
7517
|
+
|
|
7419
7518
|
// self['getExcludedFields'] = function() {
|
|
7420
7519
|
// return local.excluded;
|
|
7421
7520
|
// };
|
|
@@ -7445,33 +7544,33 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
|
|
|
7445
7544
|
// }
|
|
7446
7545
|
for (var r in self[field]) {
|
|
7447
7546
|
// no error for the current field rule
|
|
7448
|
-
if (
|
|
7547
|
+
if (
|
|
7449
7548
|
typeof(errors[field]) != 'object'
|
|
7450
7549
|
||
|
|
7451
7550
|
typeof(errors[field][r]) == 'undefined'
|
|
7452
7551
|
) {
|
|
7453
7552
|
continue;
|
|
7454
7553
|
}
|
|
7455
|
-
|
|
7456
|
-
|
|
7457
|
-
if (
|
|
7458
|
-
typeof(self[field].valid) != 'undefined'
|
|
7459
|
-
&& /^true$/i.test(self[field].valid)
|
|
7554
|
+
|
|
7555
|
+
|
|
7556
|
+
if (
|
|
7557
|
+
typeof(self[field].valid) != 'undefined'
|
|
7558
|
+
&& /^true$/i.test(self[field].valid)
|
|
7460
7559
|
) {
|
|
7461
7560
|
delete errors[field][r];
|
|
7462
7561
|
continue;
|
|
7463
7562
|
}
|
|
7464
|
-
|
|
7465
|
-
|
|
7563
|
+
|
|
7564
|
+
|
|
7466
7565
|
if ( typeof( self[field]['errors']) == 'undefined' ) {
|
|
7467
7566
|
self[field]['errors'] = {}
|
|
7468
7567
|
}
|
|
7469
|
-
|
|
7470
|
-
self[field]['errors'][r] = errors[field][r];
|
|
7568
|
+
|
|
7569
|
+
self[field]['errors'][r] = errors[field][r];
|
|
7471
7570
|
}
|
|
7472
|
-
|
|
7571
|
+
|
|
7473
7572
|
// if field does not have errors, remove errors[field]
|
|
7474
|
-
if (
|
|
7573
|
+
if (
|
|
7475
7574
|
typeof(self[field]['errors']) == 'undefined'
|
|
7476
7575
|
&& typeof(errors[field]) != 'undefined'
|
|
7477
7576
|
||
|
|
@@ -7488,34 +7587,34 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
|
|
|
7488
7587
|
/**
|
|
7489
7588
|
* getErrors
|
|
7490
7589
|
* NB.: This portion is shared between the front & the back
|
|
7491
|
-
*
|
|
7590
|
+
*
|
|
7492
7591
|
* @param {string} [fieldName]
|
|
7493
|
-
*
|
|
7592
|
+
*
|
|
7494
7593
|
* @returns errors
|
|
7495
7594
|
*/
|
|
7496
7595
|
self['getErrors'] = function(fieldName) {
|
|
7497
7596
|
var errors = {};
|
|
7498
|
-
|
|
7597
|
+
|
|
7499
7598
|
if ( typeof(fieldName) != 'undefined' ) {
|
|
7500
7599
|
if ( typeof(self[fieldName]) != 'undefined' && self[fieldName] && typeof(self[fieldName]['errors']) != 'undefined' && self[fieldName]['errors'].count() > 0 ) {
|
|
7501
7600
|
errors[fieldName] = self[fieldName]['errors'];
|
|
7502
|
-
}
|
|
7601
|
+
}
|
|
7503
7602
|
return errors
|
|
7504
7603
|
}
|
|
7505
|
-
|
|
7604
|
+
|
|
7506
7605
|
for (var field in self) {
|
|
7507
|
-
if (
|
|
7606
|
+
if (
|
|
7508
7607
|
typeof(self[field]) != 'object'
|
|
7509
7608
|
) {
|
|
7510
7609
|
continue;
|
|
7511
7610
|
}
|
|
7512
|
-
|
|
7611
|
+
|
|
7513
7612
|
if ( typeof(self[field]['errors']) != 'undefined' ) {
|
|
7514
7613
|
if ( self[field]['errors'].count() > 0)
|
|
7515
7614
|
errors[field] = self[field]['errors'];
|
|
7516
7615
|
}
|
|
7517
7616
|
}
|
|
7518
|
-
|
|
7617
|
+
|
|
7519
7618
|
return errors
|
|
7520
7619
|
}
|
|
7521
7620
|
|
|
@@ -7532,7 +7631,7 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
|
|
|
7532
7631
|
// local.data = JSON.parse(JSON.stringify(local.data).replace(/\"(true|false)\"/gi, '$1'))
|
|
7533
7632
|
return local.data
|
|
7534
7633
|
}
|
|
7535
|
-
|
|
7634
|
+
|
|
7536
7635
|
/**@js_externs replace*/
|
|
7537
7636
|
var replace = function(target, fieldObj) {
|
|
7538
7637
|
var keys = target.match(/%[a-z]+/gi);
|