gina 0.1.6-alpha.13 → 0.1.6-alpha.131
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/LICENSE +1 -1
- package/README-4Contributors.md +14 -8
- package/README.md +13 -4
- package/bin/cli +16 -2
- package/bin/gina +29 -1
- package/framework/{v0.1.6-alpha.13/lib/inherits → v0.1.6-alpha.131}/LICENSE +1 -1
- package/framework/v0.1.6-alpha.131/VERSION +1 -0
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/asset/plugin/README.md +1 -0
- package/framework/v0.1.6-alpha.131/core/asset/plugin/dist/vendor/gina/css/gina.min.css.map +1 -0
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/asset/plugin/dist/vendor/gina/html/toolbar.html +1 -1
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/asset/plugin/dist/vendor/gina/js/gina.js +655 -235
- package/framework/v0.1.6-alpha.131/core/asset/plugin/dist/vendor/gina/js/gina.min.js +778 -0
- package/framework/v0.1.6-alpha.131/core/asset/plugin/dist/vendor/gina/js/gina.min.js.map +8 -0
- package/framework/v0.1.6-alpha.131/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +8 -0
- package/framework/v0.1.6-alpha.131/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.map +8 -0
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/config.js +159 -76
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/connectors/couchbase/index.js +108 -26
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/connectors/couchbase/lib/connector.v4.js +124 -22
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/connectors/couchbase/lib/session-store.v4.js +5 -2
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/controller/controller.js +762 -189
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/controller/index.js +2 -2
- package/framework/v0.1.6-alpha.131/core/deps/busboy-1.6.0/.github/workflows/ci.yml +24 -0
- package/framework/v0.1.6-alpha.131/core/deps/busboy-1.6.0/.github/workflows/lint.yml +23 -0
- package/framework/v0.1.6-alpha.131/core/deps/busboy-1.6.0/README.md +191 -0
- package/framework/v0.1.6-alpha.131/core/deps/busboy-1.6.0/bench/bench-multipart-fields-100mb-big.js +149 -0
- package/framework/v0.1.6-alpha.131/core/deps/busboy-1.6.0/bench/bench-multipart-fields-100mb-small.js +143 -0
- package/framework/v0.1.6-alpha.131/core/deps/busboy-1.6.0/bench/bench-multipart-files-100mb-big.js +154 -0
- package/framework/v0.1.6-alpha.131/core/deps/busboy-1.6.0/bench/bench-multipart-files-100mb-small.js +148 -0
- package/framework/v0.1.6-alpha.131/core/deps/busboy-1.6.0/bench/bench-urlencoded-fields-100pairs-small.js +101 -0
- package/framework/v0.1.6-alpha.131/core/deps/busboy-1.6.0/bench/bench-urlencoded-fields-900pairs-small-alt.js +84 -0
- package/framework/v0.1.6-alpha.131/core/deps/busboy-1.6.0/lib/index.js +57 -0
- package/framework/v0.1.6-alpha.131/core/deps/busboy-1.6.0/lib/types/multipart.js +680 -0
- package/framework/v0.1.6-alpha.131/core/deps/busboy-1.6.0/lib/types/urlencoded.js +350 -0
- package/framework/v0.1.6-alpha.131/core/deps/busboy-1.6.0/lib/utils.js +596 -0
- package/framework/v0.1.6-alpha.131/core/deps/busboy-1.6.0/package.json +22 -0
- package/framework/v0.1.6-alpha.131/core/deps/optimist-0.6.1/.travis.yml +4 -0
- package/framework/v0.1.6-alpha.131/core/deps/optimist-0.6.1/LICENSE +21 -0
- package/framework/v0.1.6-alpha.131/core/deps/optimist-0.6.1/example/bool.js +10 -0
- package/framework/v0.1.6-alpha.131/core/deps/optimist-0.6.1/example/boolean_double.js +7 -0
- package/framework/v0.1.6-alpha.131/core/deps/optimist-0.6.1/example/boolean_single.js +7 -0
- package/framework/v0.1.6-alpha.131/core/deps/optimist-0.6.1/example/default_hash.js +8 -0
- package/framework/v0.1.6-alpha.131/core/deps/optimist-0.6.1/example/default_singles.js +7 -0
- package/framework/v0.1.6-alpha.131/core/deps/optimist-0.6.1/example/divide.js +8 -0
- package/framework/v0.1.6-alpha.131/core/deps/optimist-0.6.1/example/line_count.js +20 -0
- package/framework/v0.1.6-alpha.131/core/deps/optimist-0.6.1/example/line_count_options.js +29 -0
- package/framework/v0.1.6-alpha.131/core/deps/optimist-0.6.1/example/line_count_wrap.js +29 -0
- package/framework/v0.1.6-alpha.131/core/deps/optimist-0.6.1/example/nonopt.js +4 -0
- package/framework/v0.1.6-alpha.131/core/deps/optimist-0.6.1/example/reflect.js +2 -0
- package/framework/v0.1.6-alpha.131/core/deps/optimist-0.6.1/example/short.js +3 -0
- package/framework/v0.1.6-alpha.131/core/deps/optimist-0.6.1/example/string.js +11 -0
- package/framework/v0.1.6-alpha.131/core/deps/optimist-0.6.1/example/usage-options.js +19 -0
- package/framework/v0.1.6-alpha.131/core/deps/optimist-0.6.1/example/xup.js +10 -0
- package/framework/v0.1.6-alpha.131/core/deps/optimist-0.6.1/index.js +343 -0
- package/framework/v0.1.6-alpha.131/core/deps/optimist-0.6.1/package.json +31 -0
- package/framework/v0.1.6-alpha.131/core/deps/optimist-0.6.1/package.json.dist +39 -0
- package/framework/v0.1.6-alpha.131/core/deps/optimist-0.6.1/readme.markdown +513 -0
- package/framework/v0.1.6-alpha.131/core/deps/swig-1.4.2/HISTORY.md +498 -0
- package/framework/v0.1.6-alpha.131/core/deps/swig-1.4.2/LICENSE +7 -0
- package/framework/v0.1.6-alpha.131/core/deps/swig-1.4.2/README.md +88 -0
- package/framework/v0.1.6-alpha.131/core/deps/swig-1.4.2/bin/swig.js +161 -0
- package/framework/v0.1.6-alpha.131/core/deps/swig-1.4.2/bin/swig.js.dist +161 -0
- package/framework/v0.1.6-alpha.131/core/deps/swig-1.4.2/dist/swig.min.js +7 -0
- package/framework/v0.1.6-alpha.131/core/deps/swig-1.4.2/dist/swig.min.js.map +8 -0
- package/framework/v0.1.6-alpha.131/core/deps/swig-1.4.2/index.js +1 -0
- package/framework/v0.1.6-alpha.131/core/deps/swig-1.4.2/lib/dateformatter.js +198 -0
- package/framework/v0.1.6-alpha.131/core/deps/swig-1.4.2/lib/filters.js +630 -0
- package/framework/v0.1.6-alpha.131/core/deps/swig-1.4.2/lib/lexer.js +306 -0
- package/framework/v0.1.6-alpha.131/core/deps/swig-1.4.2/lib/loaders/filesystem.js +59 -0
- package/framework/v0.1.6-alpha.131/core/deps/swig-1.4.2/lib/loaders/index.js +53 -0
- package/framework/v0.1.6-alpha.131/core/deps/swig-1.4.2/lib/loaders/memory.js +63 -0
- package/framework/v0.1.6-alpha.131/core/deps/swig-1.4.2/lib/parser.js +744 -0
- package/framework/v0.1.6-alpha.131/core/deps/swig-1.4.2/lib/swig.js +740 -0
- package/framework/v0.1.6-alpha.131/core/deps/swig-1.4.2/lib/tags/autoescape.js +37 -0
- package/framework/v0.1.6-alpha.131/core/deps/swig-1.4.2/lib/tags/block.js +25 -0
- package/framework/v0.1.6-alpha.131/core/deps/swig-1.4.2/lib/tags/else.js +25 -0
- package/framework/v0.1.6-alpha.131/core/deps/swig-1.4.2/lib/tags/elseif.js +28 -0
- package/framework/v0.1.6-alpha.131/core/deps/swig-1.4.2/lib/tags/extends.js +19 -0
- package/framework/v0.1.6-alpha.131/core/deps/swig-1.4.2/lib/tags/filter.js +68 -0
- package/framework/v0.1.6-alpha.131/core/deps/swig-1.4.2/lib/tags/for.js +130 -0
- package/framework/v0.1.6-alpha.131/core/deps/swig-1.4.2/lib/tags/if.js +86 -0
- package/framework/v0.1.6-alpha.131/core/deps/swig-1.4.2/lib/tags/import.js +91 -0
- package/framework/v0.1.6-alpha.131/core/deps/swig-1.4.2/lib/tags/include.js +100 -0
- package/framework/v0.1.6-alpha.131/core/deps/swig-1.4.2/lib/tags/index.js +16 -0
- package/framework/v0.1.6-alpha.131/core/deps/swig-1.4.2/lib/tags/macro.js +79 -0
- package/framework/v0.1.6-alpha.131/core/deps/swig-1.4.2/lib/tags/parent.js +51 -0
- package/framework/v0.1.6-alpha.131/core/deps/swig-1.4.2/lib/tags/raw.js +23 -0
- package/framework/v0.1.6-alpha.131/core/deps/swig-1.4.2/lib/tags/set.js +109 -0
- package/framework/v0.1.6-alpha.131/core/deps/swig-1.4.2/lib/tags/spaceless.js +42 -0
- package/framework/v0.1.6-alpha.131/core/deps/swig-1.4.2/lib/utils.js +184 -0
- package/framework/v0.1.6-alpha.131/core/deps/swig-1.4.2/package.json +57 -0
- package/framework/v0.1.6-alpha.131/core/deps/swig-1.4.2/package.json.dist +61 -0
- package/framework/v0.1.6-alpha.131/core/deps/swig-client/swig.js +5031 -0
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/dev/index.js +1 -1
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/dev/lib/factory.js +1 -1
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/gna.js +104 -22
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/locales/index.js +3 -3
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/locales/src/make.js +1 -1
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/mime.types +1 -0
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/model/entity.js +5 -5
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/model/index.js +30 -26
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/model/template/entityFactory.js +1 -1
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/model/template/index.js +1 -1
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/plugins/index.js +3 -3
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/plugins/lib/file/package.json +2 -2
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/plugins/lib/intl/package.json +2 -2
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/plugins/lib/storage/package.json +2 -2
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/plugins/lib/validator/package.json +2 -2
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/plugins/lib/validator/src/form-validator.js +39 -27
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/plugins/lib/validator/src/main.js +419 -102
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/router.js +92 -47
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/server.isaac.js +92 -43
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/server.js +322 -133
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/status.codes +1 -11
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/template/boilerplate/bundle/controllers/setup.js +2 -2
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/template/command/gina.tpl +1 -1
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/template/conf/env.json +19 -0
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/template/conf/templates.json +4 -2
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/helpers/console.js +1 -1
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/helpers/context.js +29 -12
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/helpers/data/package.json +2 -2
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/helpers/data/src/main.js +1 -1
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/helpers/dateFormat.js +1 -1
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/helpers/index.js +1 -1
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/helpers/json/package.json +2 -2
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/helpers/json/src/main.js +6 -4
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/helpers/path.js +31 -15
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/helpers/plugins/package.json +2 -2
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/helpers/plugins/src/api-error.js +2 -2
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/helpers/plugins/src/main.js +1 -1
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/helpers/task.js +2 -2
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/helpers/text.js +1 -1
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/archiver/package.json +2 -2
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/archiver/src/main.js +11 -11
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/bundle/add.js +2 -1
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/bundle/start.js +21 -8
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/env/get.js +1 -1
- package/framework/v0.1.6-alpha.131/lib/cmd/env/help.js +30 -0
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/framework/build.js +1 -1
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/framework/dot.js +21 -0
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/framework/init.js +18 -0
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/framework/link-node-modules.js +2 -3
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/framework/link.js +1 -0
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/framework/tail.js +28 -11
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/framework/version.js +15 -1
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/helper.js +6 -2
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/index.js +1 -1
- package/framework/v0.1.6-alpha.131/lib/cmd/minion/help.txt +18 -0
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/project/add.js +7 -2
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/project/arguments.json +1 -0
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/project/build.js +4 -4
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/project/help.txt +4 -0
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/project/list.js +1 -1
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/protocol/list.js +71 -50
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/collection/package.json +2 -2
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/collection/src/main.js +20 -14
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/config.js +1 -1
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cron/package.json +2 -2
- package/framework/v0.1.6-alpha.131/lib/domain/dist/2025-03-14_13-41-20_UTC.dat +15754 -0
- package/framework/v0.1.6-alpha.131/lib/domain/dist/public_suffix_list.dat +15754 -0
- package/framework/v0.1.6-alpha.131/lib/domain/exemples/backend.js +12 -0
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/domain/package.json +2 -2
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/domain/src/main.js +20 -6
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/generator/index.js +1 -1
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/index.js +1 -1
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131/lib/inherits}/LICENSE +1 -1
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/inherits/package.json +2 -2
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/inherits/src/main.js +1 -1
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/logger/package.json +2 -2
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/logger/src/containers/mq/listener.js +10 -2
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/logger/src/helper.js +1 -1
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/logger/src/main.js +1 -1
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/math/index.js +1 -1
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/merge/package.json +2 -2
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/model.js +3 -3
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/proc.js +10 -2
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/routing/package.json +2 -2
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/routing/src/main.js +79 -26
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/session-store.js +3 -3
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/swig-filters/package.json +2 -2
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/swig-filters/src/main.js +76 -15
- package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/validator.js +2 -2
- package/framework/v0.1.6-alpha.131/package.json +11 -0
- package/package.json +3 -3
- package/resources/package.json.template +1 -1
- package/script/post_install.js +1 -1
- package/script/pre_install.js +1 -1
- package/utils/helper.js +33 -9
- package/framework/v0.1.6-alpha.13/VERSION +0 -1
- package/framework/v0.1.6-alpha.13/core/asset/plugin/dist/vendor/gina/css/gina.min.css.map +0 -1
- package/framework/v0.1.6-alpha.13/core/asset/plugin/dist/vendor/gina/js/gina.min.js +0 -766
- package/framework/v0.1.6-alpha.13/core/asset/plugin/dist/vendor/gina/js/gina.min.js.map +0 -8
- package/framework/v0.1.6-alpha.13/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +0 -7
- package/framework/v0.1.6-alpha.13/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.map +0 -8
- package/framework/v0.1.6-alpha.13/core/deps/busboy/.travis.yml +0 -17
- package/framework/v0.1.6-alpha.13/core/deps/busboy/README.md +0 -225
- package/framework/v0.1.6-alpha.13/core/deps/busboy/deps/encoding/encoding-indexes.js +0 -73
- package/framework/v0.1.6-alpha.13/core/deps/busboy/deps/encoding/encoding.js +0 -2391
- package/framework/v0.1.6-alpha.13/core/deps/busboy/lib/main.js +0 -89
- package/framework/v0.1.6-alpha.13/core/deps/busboy/lib/types/multipart.js +0 -328
- package/framework/v0.1.6-alpha.13/core/deps/busboy/lib/types/urlencoded.js +0 -214
- package/framework/v0.1.6-alpha.13/core/deps/busboy/lib/utils.js +0 -191
- package/framework/v0.1.6-alpha.13/core/deps/busboy/package.json +0 -69
- package/framework/v0.1.6-alpha.13/lib/domain/dist/public_suffix_list.dat +0 -14186
- package/framework/v0.1.6-alpha.13/lib/domain/exemples/backend.js +0 -0
- package/framework/v0.1.6-alpha.13/package.json +0 -14
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/AUTHORS +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/asset/html/nolayout.html +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/asset/html/static.html +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/asset/img/android-chrome-192x192.png +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/asset/img/android-chrome-512x512.png +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/asset/img/apple-touch-icon.png +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/asset/img/favicon-16x16.png +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/asset/img/favicon-32x32.png +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/asset/img/favicon.ico +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/asset/plugin/dist/vendor/gina/css/gina.min.css +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/asset/plugin/uuid.json +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/connectors/couchbase/lib/connector.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/connectors/couchbase/lib/connector.v2.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/connectors/couchbase/lib/connector.v3.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/connectors/couchbase/lib/n1ql.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/connectors/couchbase/lib/session-store.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/connectors/couchbase/lib/session-store.v2.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/connectors/couchbase/lib/session-store.v3.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/controller/controller.framework.js +0 -0
- /package/framework/{v0.1.6-alpha.13/core/deps/busboy → v0.1.6-alpha.131/core/deps/busboy-1.6.0}/LICENSE +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/deps/swig-client/swig-2.0.0.min.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/dev/lib/class.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/dev/lib/tools.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/locales/README.md +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/locales/currency.json +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/locales/dist/language/en.json +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/locales/dist/language/fr.json +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/locales/dist/region/en.json +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/locales/dist/region/fr.json +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/locales/src/resources/currency.csv +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/locales/src/resources/region.csv +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/locales/src/resources/region.mapping.json +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/plugins/README.md +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/plugins/lib/file/README.md +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/plugins/lib/file/build.json +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/plugins/lib/intl/README.md +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/plugins/lib/intl/build.json +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/plugins/lib/intl/src/main.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/plugins/lib/storage/README.md +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/plugins/lib/storage/build.json +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/plugins/lib/storage/src/main.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/plugins/lib/validator/README.md +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/plugins/lib/validator/build.json +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/server.express.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/template/_gitignore +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/template/boilerplate/bundle/config/app.json +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/template/boilerplate/bundle/config/routing.json +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/template/boilerplate/bundle/config/settings.json +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/template/boilerplate/bundle/config/settings.server.json +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/template/boilerplate/bundle/config/templates.json +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/template/boilerplate/bundle/controllers/controller.content.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/template/boilerplate/bundle/controllers/controller.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/template/boilerplate/bundle/index.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/template/boilerplate/bundle_namespace/controllers/controller.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/template/boilerplate/bundle_public/css/default.css +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/template/boilerplate/bundle_public/css/vendor/readme.md +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/template/boilerplate/bundle_public/favicon.ico +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/template/boilerplate/bundle_public/js/vendor/readme.md +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/template/boilerplate/bundle_public/readme.md +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/template/boilerplate/bundle_templates/handlers/main.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/template/boilerplate/bundle_templates/html/content/homepage.html +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/template/boilerplate/bundle_templates/html/includes/error-msg-noscript.html +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/template/boilerplate/bundle_templates/html/includes/error-msg-outdated-browser.html +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/template/boilerplate/bundle_templates/html/layouts/main.html +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/template/command/gina.bat.tpl +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/template/conf/manifest.json +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/template/conf/package.json +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/template/conf/settings.json +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/template/conf/statics.json +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/template/error/client/json/401.json +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/template/error/client/json/403.json +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/template/error/client/json/404.json +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/template/error/server/html/50x.html +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/template/error/server/json/500.json +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/template/error/server/json/503.json +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/template/extensions/logger/config.json +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/helpers/data/LICENSE +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/helpers/data/README.md +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/helpers/json/LICENSE +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/helpers/json/README.md +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/helpers/plugins/README.md +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/helpers/prototypes.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/archiver/README.md +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/archiver/build.json +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/archiver/src/dep/jszip.min.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/aliases.json +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/bundle/arguments.json +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/bundle/copy.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/bundle/cp.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/bundle/help.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/bundle/help.txt +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/bundle/list.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/bundle/remove.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/bundle/rename.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/bundle/restart.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/bundle/rm.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/bundle/status.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/bundle/stop.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/env/add.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/env/help.txt +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/env/link-dev.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/env/list.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/env/remove.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/env/rm.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/env/set.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/env/unset.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/env/use.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/framework/get.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/framework/help.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/framework/help.txt +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/framework/msg.json +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/framework/open.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/framework/restart.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/framework/set.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/framework/start.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/framework/status.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/framework/stop.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/framework/update.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/gina-dev.1.md +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/gina-framework.1.md +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/gina.1.md +0 -0
- /package/framework/{v0.1.6-alpha.13/lib/cmd/env → v0.1.6-alpha.131/lib/cmd/minion}/help.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/msg.json +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/port/help.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/port/help.txt +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/port/inc/scan.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/port/list.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/port/reset.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/port/set.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/project/help.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/project/import.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/project/move.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/project/remove.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/project/rename.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/project/restart.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/project/rm.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/project/start.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/project/status.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/project/stop.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/protocol/help.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/protocol/help.txt +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/protocol/set.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/scope/add.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/scope/help.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/scope/help.txt +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/scope/link-local.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/scope/link-production.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/scope/list.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/scope/remove.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/scope/rm.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/scope/use.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cmd/view/add.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/collection/README.md +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/collection/build.json +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cron/README.md +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/cron/src/main.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/domain/LICENSE +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/domain/README.md +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/domain/exemples/frontend.html +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/inherits/README.md +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/inherits/example/inheriting_eventemitter.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/inherits/example/protected_inheritance.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/inherits/example/simple_inheritance.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/inherits/example/super_attribute_overridden_by_child_on_init.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/logger/README.md +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/logger/src/containers/default/index.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/logger/src/containers/file/index.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/logger/src/containers/file/lib/logrotator/README.md +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/logger/src/containers/file/lib/logrotator/index.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/logger/src/containers/mq/index.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/logger/src/containers/mq/speaker.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/merge/README.md +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/merge/example/merge.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/merge/example/merge_2_literal objects.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/merge/example/merge_and_preserve_first.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/merge/src/main.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/routing/README.md +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/routing/build.json +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/shell.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/swig-filters/README.md +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/url/README.md +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/url/index.js +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/url/mocks.json +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/url/routing.json +0 -0
- /package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/lib/url/test.js +0 -0
package/framework/{v0.1.6-alpha.13 → v0.1.6-alpha.131}/core/asset/plugin/dist/vendor/gina/js/gina.js
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** vim: et:ts=4:sw=4:sts=4
|
|
2
|
-
* @license RequireJS 2.3.
|
|
2
|
+
* @license RequireJS 2.3.7 Copyright jQuery Foundation and other contributors.
|
|
3
3
|
* Released under MIT license, https://github.com/requirejs/requirejs/blob/master/LICENSE
|
|
4
4
|
*/
|
|
5
5
|
//Not using strict: uneven strict support in browsers, #392, and causes
|
|
@@ -11,7 +11,7 @@ var requirejs, require, define;
|
|
|
11
11
|
(function (global, setTimeout) {
|
|
12
12
|
var req, s, head, baseElement, dataMain, src,
|
|
13
13
|
interactiveScript, currentlyAddingScript, mainScript, subPath,
|
|
14
|
-
version = '2.3.
|
|
14
|
+
version = '2.3.7',
|
|
15
15
|
commentRegExp = /\/\*[\s\S]*?\*\/|([^:"'=]|^)\/\/.*$/mg,
|
|
16
16
|
cjsRequireRegExp = /[^.]\s*require\s*\(\s*["']([^'"\s]+)["']\s*\)/g,
|
|
17
17
|
jsSuffixRegExp = /\.js$/,
|
|
@@ -33,7 +33,8 @@ var requirejs, require, define;
|
|
|
33
33
|
contexts = {},
|
|
34
34
|
cfg = {},
|
|
35
35
|
globalDefQueue = [],
|
|
36
|
-
useInteractive = false
|
|
36
|
+
useInteractive = false,
|
|
37
|
+
disallowedProps = ['__proto__', 'constructor'];
|
|
37
38
|
|
|
38
39
|
//Could match something like ')//comment', do not lose the prefix to comment.
|
|
39
40
|
function commentReplace(match, singlePrefix) {
|
|
@@ -94,7 +95,7 @@ var requirejs, require, define;
|
|
|
94
95
|
function eachProp(obj, func) {
|
|
95
96
|
var prop;
|
|
96
97
|
for (prop in obj) {
|
|
97
|
-
if (hasProp(obj, prop)) {
|
|
98
|
+
if (hasProp(obj, prop) && disallowedProps.indexOf(prop) == -1) {
|
|
98
99
|
if (func(obj[prop], prop)) {
|
|
99
100
|
break;
|
|
100
101
|
}
|
|
@@ -3072,6 +3073,9 @@ function handleXhr(xhr, $el, options, require) {
|
|
|
3072
3073
|
|
|
3073
3074
|
// catching ready state cb
|
|
3074
3075
|
xhr.onreadystatechange = function (event) {
|
|
3076
|
+
if ( typeof(merge) == 'undefined' ) {
|
|
3077
|
+
merge = require('lib/merge');
|
|
3078
|
+
}
|
|
3075
3079
|
// In case the user is also redirecting
|
|
3076
3080
|
var redirectDelay = (/Google Inc/i.test(navigator.vendor)) ? 50 : 0;
|
|
3077
3081
|
|
|
@@ -3108,7 +3112,7 @@ function handleXhr(xhr, $el, options, require) {
|
|
|
3108
3112
|
var url = window.URL.createObjectURL(blob);
|
|
3109
3113
|
a.href = url;
|
|
3110
3114
|
var contentDisposition = xhr.getResponseHeader('Content-Disposition');
|
|
3111
|
-
a.download = contentDisposition.match('\=(.*)')[0].
|
|
3115
|
+
a.download = contentDisposition.match('\=(.*)')[0].substring(1);
|
|
3112
3116
|
//programatically click the link to trigger the download
|
|
3113
3117
|
a.click();
|
|
3114
3118
|
//release the reference to the file by revoking the Object URL
|
|
@@ -3277,6 +3281,10 @@ function handleXhr(xhr, $el, options, require) {
|
|
|
3277
3281
|
// This fires after the blob has been read/loaded.
|
|
3278
3282
|
reader.addEventListener('loadend', (e) => {
|
|
3279
3283
|
|
|
3284
|
+
if ( typeof(merge) == 'undefined' ) {
|
|
3285
|
+
merge = require('lib/merge');
|
|
3286
|
+
}
|
|
3287
|
+
|
|
3280
3288
|
if ( /string/i.test(typeof(e.srcElement.result)) ) {
|
|
3281
3289
|
blobError += e.srcElement.result;
|
|
3282
3290
|
} else if ( typeof(e.srcElement.result) == 'object' ) {
|
|
@@ -3848,7 +3856,7 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
3848
3856
|
;
|
|
3849
3857
|
/*
|
|
3850
3858
|
* This file is part of the gina package.
|
|
3851
|
-
* Copyright (c) 2009-
|
|
3859
|
+
* Copyright (c) 2009-2025 Rhinostone <contact@gina.io>
|
|
3852
3860
|
*
|
|
3853
3861
|
* For the full copyright and license information, please view the LICENSE
|
|
3854
3862
|
* file that was distributed with this source code.
|
|
@@ -4629,10 +4637,9 @@ function Collection(content, options) {
|
|
|
4629
4637
|
*/
|
|
4630
4638
|
var search = function(filter, field, _content, matched, searchOptionRules) {
|
|
4631
4639
|
var reValidCount = null, searchOptCount = null;
|
|
4632
|
-
|
|
4633
|
-
|
|
4640
|
+
// null case
|
|
4641
|
+
if (filter === null && _content === null) {
|
|
4634
4642
|
++matched;
|
|
4635
|
-
|
|
4636
4643
|
} else if (
|
|
4637
4644
|
filter
|
|
4638
4645
|
&& keywords.indexOf(localeLowerCase) > -1
|
|
@@ -4698,7 +4705,6 @@ function Collection(content, options) {
|
|
|
4698
4705
|
&& searchOptions
|
|
4699
4706
|
&& typeof(searchOptions[field]) != 'undefined'
|
|
4700
4707
|
) {
|
|
4701
|
-
|
|
4702
4708
|
reValidCount = 0;
|
|
4703
4709
|
searchOptCount = searchOptions[field].count();
|
|
4704
4710
|
for ( var rule in searchOptions[field]) {
|
|
@@ -4797,7 +4803,7 @@ function Collection(content, options) {
|
|
|
4797
4803
|
|
|
4798
4804
|
field = arr[1];
|
|
4799
4805
|
if (/^\./.test(field) )
|
|
4800
|
-
field = field.
|
|
4806
|
+
field = field.substring(1);
|
|
4801
4807
|
|
|
4802
4808
|
var subMatched = 0;
|
|
4803
4809
|
if (collection) {
|
|
@@ -5124,15 +5130,15 @@ function Collection(content, options) {
|
|
|
5124
5130
|
}
|
|
5125
5131
|
|
|
5126
5132
|
// fast search with key
|
|
5127
|
-
var r
|
|
5128
|
-
, rLen
|
|
5129
|
-
, c
|
|
5130
|
-
, cLen
|
|
5131
|
-
, f
|
|
5132
|
-
, fLen
|
|
5133
|
-
, keyLen
|
|
5134
|
-
, matched
|
|
5135
|
-
, fullFiltersMatched
|
|
5133
|
+
var r = 0
|
|
5134
|
+
, rLen = foundResults.length
|
|
5135
|
+
, c = 0
|
|
5136
|
+
, cLen = currentResult.length
|
|
5137
|
+
, f = 0
|
|
5138
|
+
, fLen = filters.count()
|
|
5139
|
+
, keyLen = null
|
|
5140
|
+
, matched = 0
|
|
5141
|
+
, fullFiltersMatched = 0
|
|
5136
5142
|
;
|
|
5137
5143
|
if ( uuidSearchModeEnabled && typeof(currentResult[c]) != 'undefined' && currentResult[c].hasOwnProperty(key) ) {
|
|
5138
5144
|
// for every single result found
|
|
@@ -5593,6 +5599,13 @@ function Collection(content, options) {
|
|
|
5593
5599
|
|
|
5594
5600
|
|
|
5595
5601
|
if ( typeof(a) == 'string' && a != '' || typeof(b) == 'string' ) {
|
|
5602
|
+
// Fixed on 2025-03-08: allowed to compare with one of the fields being NULL or not defined
|
|
5603
|
+
if ( typeof(a) == 'undefined' || a == null) {
|
|
5604
|
+
a = ''; // cast to string
|
|
5605
|
+
}
|
|
5606
|
+
if ( typeof(b) == 'undefined' || b == null) {
|
|
5607
|
+
b = ''; // cast to string
|
|
5608
|
+
}
|
|
5596
5609
|
|
|
5597
5610
|
if ( typeof(a) == 'number' ) {
|
|
5598
5611
|
a = ''+a; // cast to string
|
|
@@ -5601,6 +5614,7 @@ function Collection(content, options) {
|
|
|
5601
5614
|
b = ''+b; // cast to string
|
|
5602
5615
|
}
|
|
5603
5616
|
|
|
5617
|
+
|
|
5604
5618
|
return a.localeCompare(b, undefined, {sensitivity: 'case', caseFirst: 'upper'})
|
|
5605
5619
|
}
|
|
5606
5620
|
|
|
@@ -6230,11 +6244,12 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
|
|
|
6230
6244
|
// system error
|
|
6231
6245
|
systemError = result.error;
|
|
6232
6246
|
}
|
|
6233
|
-
// Fixed on 2023-01-10
|
|
6247
|
+
// Fixed added on 2023-01-10
|
|
6234
6248
|
// We want `local.errorLabels['query']` before the generic|user defined `rule` error
|
|
6235
6249
|
var optionError = ( typeof(options['error']) != 'undefined' ) ? options['error'] : null;
|
|
6236
6250
|
errors['query'] = replace(systemError || _this['error'] || optionError || local.errorLabels['query'], _this);
|
|
6237
|
-
|
|
6251
|
+
|
|
6252
|
+
console.debug('[1] query error detected !! ', result, errorFields, errors['query']);
|
|
6238
6253
|
}
|
|
6239
6254
|
|
|
6240
6255
|
if ( !errors['query'] && _this.value == '' ) {
|
|
@@ -6304,6 +6319,7 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
|
|
|
6304
6319
|
|
|
6305
6320
|
var id = _this.target.id || _this.target.getAttribute('id');
|
|
6306
6321
|
console.debug('prematurely completed event `'+ 'asyncCompleted.' + id +'`');
|
|
6322
|
+
|
|
6307
6323
|
return triggerEvent(gina, _this.target, 'asyncCompleted.' + id, self[_this['name']]);
|
|
6308
6324
|
} // EO onResult
|
|
6309
6325
|
|
|
@@ -6526,7 +6542,7 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
|
|
|
6526
6542
|
//instance: self.serverInstance,
|
|
6527
6543
|
//template: (routeHasViews) ? conf.content.templates[templateName] : undefined,
|
|
6528
6544
|
//isUsingTemplate: local.isUsingTemplate,
|
|
6529
|
-
|
|
6545
|
+
isCacheless: conf.isCacheless //,
|
|
6530
6546
|
//path: params.param.path || null, // user custom path : namespace should be ignored | left blank
|
|
6531
6547
|
//assets: {}
|
|
6532
6548
|
};
|
|
@@ -6699,7 +6715,7 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
|
|
|
6699
6715
|
isValid = condition;
|
|
6700
6716
|
} else if (!isValid) {
|
|
6701
6717
|
var re = null, flags = null;
|
|
6702
|
-
// Fixed on 2021-03-13: $variable now replaced with real value beafore validation
|
|
6718
|
+
// Fixed added on 2021-03-13: $variable now replaced with real value beafore validation
|
|
6703
6719
|
if ( /[\!\=>\>\<a-z 0-9]+/i.test(condition) ) {
|
|
6704
6720
|
var variables = condition.match(/\${0}[-_,.\[\]a-z0-9]+/ig); // without space(s)
|
|
6705
6721
|
if (variables && variables.length > 0) {
|
|
@@ -7075,24 +7091,26 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
|
|
|
7075
7091
|
|
|
7076
7092
|
|
|
7077
7093
|
self[el]['toFloat'] = function(decimals) {
|
|
7078
|
-
|
|
7079
|
-
|
|
7080
|
-
|
|
7081
|
-
|
|
7082
|
-
|
|
7083
|
-
|
|
7084
|
-
|
|
7085
|
-
|
|
7086
|
-
|
|
7087
|
-
|
|
7088
|
-
|
|
7089
|
-
}
|
|
7090
|
-
|
|
7094
|
+
// Fixed on 2025-03-12
|
|
7095
|
+
// In case we are dealing with a filtered value (swig::formatNumber())
|
|
7096
|
+
var val = document.getElementById(this.target.getAttribute('id')).value || this.value
|
|
7097
|
+
isFloatingWithCommas = false
|
|
7098
|
+
;
|
|
7099
|
+
if ( typeof(val) == 'string' ) {
|
|
7100
|
+
val = val.replace(/\s+/g, '');
|
|
7101
|
+
// Fixed on 2025-03-12
|
|
7102
|
+
// thousand separator ?
|
|
7103
|
+
if ( /\,/.test(val) && /\./.test(val) ) {
|
|
7104
|
+
val = val.replace(/\,/g,'');
|
|
7105
|
+
}
|
|
7106
|
+
else if ( /\,/.test(val) ) {
|
|
7107
|
+
val = val.replace(/\,/g,'.');
|
|
7108
|
+
isFloatingWithCommas = true;
|
|
7091
7109
|
}
|
|
7092
7110
|
}
|
|
7093
7111
|
|
|
7094
|
-
|
|
7095
|
-
|
|
7112
|
+
local.data[this.name] = val;
|
|
7113
|
+
var errors = self[this['name']]['errors'] || {}
|
|
7096
7114
|
, isValid = true
|
|
7097
7115
|
;
|
|
7098
7116
|
|
|
@@ -7107,32 +7125,40 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet) {
|
|
|
7107
7125
|
} else {
|
|
7108
7126
|
if ( this['isNumber']().valid ) {
|
|
7109
7127
|
try {
|
|
7110
|
-
|
|
7111
7128
|
if ( !Number.isFinite(val) ) {
|
|
7112
|
-
|
|
7129
|
+
// Number <> number
|
|
7130
|
+
val = new Number(parseFloat(val.match(/[0-9.,]+/g).join('').replace(/,/, '.')));
|
|
7113
7131
|
}
|
|
7114
|
-
if (isGFFCtx)
|
|
7115
|
-
this.target.setAttribute('value', val);
|
|
7116
7132
|
} catch(err) {
|
|
7117
7133
|
isValid = false;
|
|
7118
|
-
errors['toFloat'] = replace(this.error ||
|
|
7134
|
+
errors['toFloat'] = replace(this.error || local.errorLabels['toFloat'], this);
|
|
7119
7135
|
this.valid = false;
|
|
7120
7136
|
if ( errors.count() > 0 )
|
|
7121
7137
|
this['errors'] = errors;
|
|
7122
7138
|
}
|
|
7123
7139
|
} else {
|
|
7124
7140
|
isValid = false;
|
|
7125
|
-
errors['toFloat'] = replace(this.error ||
|
|
7141
|
+
errors['toFloat'] = replace(this.error || local.errorLabels['toFloatNAN'], this)
|
|
7126
7142
|
}
|
|
7127
7143
|
}
|
|
7128
7144
|
|
|
7129
7145
|
if (this['decimals'] && val && !errors['toFloat']) {
|
|
7130
|
-
|
|
7146
|
+
val = parseFloat(val.toFixed(this['decimals']));
|
|
7147
|
+
}
|
|
7148
|
+
|
|
7149
|
+
this.value = local.data[this.name] = val;
|
|
7150
|
+
if (isGFFCtx) {
|
|
7151
|
+
// restore original input format for display
|
|
7152
|
+
if (isFloatingWithCommas) {
|
|
7153
|
+
val = (''+val).replace(/\./g,',');
|
|
7154
|
+
}
|
|
7155
|
+
this.target.setAttribute('value', val);
|
|
7131
7156
|
}
|
|
7132
7157
|
|
|
7133
7158
|
this.valid = isValid;
|
|
7134
|
-
if ( errors.count() > 0 )
|
|
7159
|
+
if ( errors.count() > 0 ) {
|
|
7135
7160
|
this['errors'] = errors;
|
|
7161
|
+
}
|
|
7136
7162
|
|
|
7137
7163
|
return self[this.name]
|
|
7138
7164
|
}
|
|
@@ -7711,7 +7737,7 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
7711
7737
|
};
|
|
7712
7738
|
/*
|
|
7713
7739
|
* This file is part of the gina package.
|
|
7714
|
-
* Copyright (c) 2009-
|
|
7740
|
+
* Copyright (c) 2009-2025 Rhinostone <contact@gina.io>
|
|
7715
7741
|
*
|
|
7716
7742
|
* For the full copyright and license information, please view the LICENSE
|
|
7717
7743
|
* file that was distributed with this source code.
|
|
@@ -7727,7 +7753,7 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
7727
7753
|
|
|
7728
7754
|
function Routing() {
|
|
7729
7755
|
|
|
7730
|
-
var isGFFCtx = ((typeof (module) !== 'undefined') && module.exports) ? false :
|
|
7756
|
+
var isGFFCtx = ((typeof (module) !== 'undefined') && module.exports) ? false : true;
|
|
7731
7757
|
var self = {
|
|
7732
7758
|
allowedMethods: ['get', 'post', 'put', 'delete'],
|
|
7733
7759
|
reservedParams: ['controle', 'file','title', 'namespace', 'path'],
|
|
@@ -7782,7 +7808,7 @@ function Routing() {
|
|
|
7782
7808
|
urlProps.hostname = config.hostname;
|
|
7783
7809
|
if ( typeof(bundle) != 'undefined' ) {
|
|
7784
7810
|
// get from webroot
|
|
7785
|
-
_route =
|
|
7811
|
+
_route = this.getRoute('webroot@'+ bundle);
|
|
7786
7812
|
urlProps.hostname = _route.hostname;
|
|
7787
7813
|
urlProps.host = _route.host;
|
|
7788
7814
|
urlProps.webroot = _route.webroot;
|
|
@@ -7883,9 +7909,11 @@ function Routing() {
|
|
|
7883
7909
|
return foundRoute;
|
|
7884
7910
|
}
|
|
7885
7911
|
|
|
7912
|
+
|
|
7886
7913
|
return await parseRouting(params, url, request, response, next);
|
|
7887
7914
|
};
|
|
7888
7915
|
|
|
7916
|
+
|
|
7889
7917
|
/**
|
|
7890
7918
|
* Check if rule has params
|
|
7891
7919
|
*
|
|
@@ -7969,13 +7997,13 @@ function Routing() {
|
|
|
7969
7997
|
++score;
|
|
7970
7998
|
continue;
|
|
7971
7999
|
}
|
|
7972
|
-
let _key = uRo[p].
|
|
8000
|
+
let _key = uRo[p].substring(1);
|
|
7973
8001
|
if ( typeof(params.requirements[_key]) == 'undefined' ) {
|
|
7974
8002
|
continue;
|
|
7975
8003
|
}
|
|
7976
8004
|
let condition = params.requirements[_key];
|
|
7977
8005
|
if ( /^\//.test(condition) ) {
|
|
7978
|
-
condition = condition.
|
|
8006
|
+
condition = condition.substring(1, condition.lastIndexOf('/')-1);
|
|
7979
8007
|
} else if ( /^validator\:\:/.test(condition) && await fitsWithRequirements(uRo[p], uRe[p], params, request, response, next) ) {
|
|
7980
8008
|
++score;
|
|
7981
8009
|
continue;
|
|
@@ -7986,7 +8014,7 @@ function Routing() {
|
|
|
7986
8014
|
&& new RegExp(condition).test(uRe[p])
|
|
7987
8015
|
) {
|
|
7988
8016
|
++score;
|
|
7989
|
-
request[method][uRo[p].
|
|
8017
|
+
request[method][uRo[p].substring(1)] = uRe[p];
|
|
7990
8018
|
}
|
|
7991
8019
|
}
|
|
7992
8020
|
hasAlreadyBeenScored = true;
|
|
@@ -8264,7 +8292,7 @@ function Routing() {
|
|
|
8264
8292
|
request[requestMethod] = {}
|
|
8265
8293
|
}
|
|
8266
8294
|
|
|
8267
|
-
key = _param[matched].
|
|
8295
|
+
key = _param[matched].substring(1);
|
|
8268
8296
|
// escaping `\` characters
|
|
8269
8297
|
// TODO - remove comment : all regex requirement must start with `/`
|
|
8270
8298
|
//regex = ( /\\/.test(params.requirements[key]) ) ? params.requirements[key].replace(/\\/, '') : params.requirements[key];
|
|
@@ -8366,7 +8394,7 @@ function Routing() {
|
|
|
8366
8394
|
} else if (c > (tplUrl.indexOf(keys[0]) + keys[0].length)) {
|
|
8367
8395
|
|
|
8368
8396
|
regex = params.requirements[keys[0]];
|
|
8369
|
-
urlVal = strVal.
|
|
8397
|
+
urlVal = strVal.substring(0, strVal.length);
|
|
8370
8398
|
|
|
8371
8399
|
if (/^\//.test(regex)) {
|
|
8372
8400
|
re = regex.match(/\/(.*)\//).pop();
|
|
@@ -8403,7 +8431,7 @@ function Routing() {
|
|
|
8403
8431
|
}
|
|
8404
8432
|
|
|
8405
8433
|
if (tested) {
|
|
8406
|
-
values[keys[0].
|
|
8434
|
+
values[keys[0].substring(1)] = urlVal
|
|
8407
8435
|
} else {
|
|
8408
8436
|
return false
|
|
8409
8437
|
}
|
|
@@ -8422,7 +8450,7 @@ function Routing() {
|
|
|
8422
8450
|
if (c == posLen - 1) {
|
|
8423
8451
|
|
|
8424
8452
|
regex = params.requirements[keys[0]];
|
|
8425
|
-
urlVal = strVal.
|
|
8453
|
+
urlVal = strVal.substring(0, strVal.length);
|
|
8426
8454
|
|
|
8427
8455
|
if (/^\//.test(regex)) {
|
|
8428
8456
|
re = regex.match(/\/(.*)\//).pop();
|
|
@@ -8435,7 +8463,7 @@ function Routing() {
|
|
|
8435
8463
|
}
|
|
8436
8464
|
|
|
8437
8465
|
if (tested) {
|
|
8438
|
-
values[keys[0].
|
|
8466
|
+
values[keys[0].substring(1)] = urlVal
|
|
8439
8467
|
} else {
|
|
8440
8468
|
return false
|
|
8441
8469
|
}
|
|
@@ -8471,7 +8499,7 @@ function Routing() {
|
|
|
8471
8499
|
if ( typeof(params) != 'undefined' && typeof(params[p]) == 'undefined' ) continue;
|
|
8472
8500
|
|
|
8473
8501
|
if ( /^:/.test(route.param[p]) ) {
|
|
8474
|
-
variable = route.param[p].
|
|
8502
|
+
variable = route.param[p].substring(1);
|
|
8475
8503
|
|
|
8476
8504
|
if ( typeof(params) != 'undefined' && typeof(params[variable]) != 'undefined' ) {
|
|
8477
8505
|
|
|
@@ -8526,7 +8554,7 @@ function Routing() {
|
|
|
8526
8554
|
p = 0;
|
|
8527
8555
|
pLen = rawUrlVars.length;
|
|
8528
8556
|
for (; p < pLen; p++) {
|
|
8529
|
-
pKey = rawUrlVars[p].
|
|
8557
|
+
pKey = rawUrlVars[p].substring(1);
|
|
8530
8558
|
if ( typeof(params[ pKey ]) != 'undefined' && params[ pKey ] ) {
|
|
8531
8559
|
rawUrlScore++;
|
|
8532
8560
|
}
|
|
@@ -8553,14 +8581,24 @@ function Routing() {
|
|
|
8553
8581
|
* */
|
|
8554
8582
|
self.getRoute = function(rule, params, urlIndex) {
|
|
8555
8583
|
|
|
8556
|
-
var config = null;
|
|
8584
|
+
var config = null, isProxyHost = false;
|
|
8557
8585
|
if (isGFFCtx) {
|
|
8586
|
+
if (
|
|
8587
|
+
!window.location.port
|
|
8588
|
+
&& window.location.hostname == window.gina.config.hostname.replace(/^(https|http|wss|ws)\:\/\//, '').replace(/\:\d+$/, '')
|
|
8589
|
+
) {
|
|
8590
|
+
isProxyHost = true;
|
|
8591
|
+
window.gina.config.hostname = window.gina.config.hostname.replace(/^(https|http|wss|ws)\:\/\//, '').replace(/\:\d+$/, '')
|
|
8592
|
+
}
|
|
8558
8593
|
config = window.gina.config;
|
|
8559
8594
|
} else {
|
|
8595
|
+
|
|
8560
8596
|
config = getContext('gina').config;
|
|
8561
8597
|
if ( typeof(getContext('argvFilename')) != 'undefined' ) {
|
|
8562
8598
|
config.getRouting = getContext('gina').Config.instance.getRouting;
|
|
8563
8599
|
}
|
|
8600
|
+
|
|
8601
|
+
isProxyHost = getContext('isProxyHost');
|
|
8564
8602
|
}
|
|
8565
8603
|
|
|
8566
8604
|
var env = config.env || GINA_ENV // by default, takes the current bundle
|
|
@@ -8605,6 +8643,23 @@ function Routing() {
|
|
|
8605
8643
|
var msg = null;
|
|
8606
8644
|
route = checkRouteParams(route, params);
|
|
8607
8645
|
|
|
8646
|
+
route.isProxyHost = isProxyHost;
|
|
8647
|
+
if (isProxyHost) {
|
|
8648
|
+
if (isGFFCtx) {
|
|
8649
|
+
route.proxy_hostname = window.location.protocol +'//'+ document.location.hostname;
|
|
8650
|
+
} else {
|
|
8651
|
+
route.proxy_hostname = process.gina.PROXY_HOSTNAME || config.envConf._proxyHostname;
|
|
8652
|
+
}
|
|
8653
|
+
route.proxy_host = route.proxy_hostname.replace(/^(https|http)\:\/\//, '');
|
|
8654
|
+
|
|
8655
|
+
} else if (
|
|
8656
|
+
!isGFFCtx
|
|
8657
|
+
&& typeof(process.gina.PROXY_HOSTNAME) != 'undefined'
|
|
8658
|
+
) {
|
|
8659
|
+
route.proxy_hostname = process.gina.PROXY_HOSTNAME;
|
|
8660
|
+
route.proxy_host = route.proxy_hostname.replace(/^(https|http)\:\/\//, '');
|
|
8661
|
+
}
|
|
8662
|
+
|
|
8608
8663
|
if ( /\,/.test(route.url) ) {
|
|
8609
8664
|
if ( typeof(route.urlIndex) != 'undefined' ) {
|
|
8610
8665
|
urlIndex = route.urlIndex; // set by checkRouteParams(route, params)
|
|
@@ -8617,7 +8672,7 @@ function Routing() {
|
|
|
8617
8672
|
// to prevent having a folder.
|
|
8618
8673
|
// eg.: {..., id: '/^\\s*$/'} => {..., id: ''} => /path/to/ becoming /path/to
|
|
8619
8674
|
if ( /\/$/.test(route.url) && route.url != '/' )
|
|
8620
|
-
route.url = route.url.
|
|
8675
|
+
route.url = route.url.substring(0, route.url.length-1);
|
|
8621
8676
|
|
|
8622
8677
|
// Completeting url with extra params e.g.: ?param1=val1¶m2=val2
|
|
8623
8678
|
if ( /GET/i.test(route.method) && typeof(params) != 'undefined' ) {
|
|
@@ -8674,18 +8729,30 @@ function Routing() {
|
|
|
8674
8729
|
}
|
|
8675
8730
|
|
|
8676
8731
|
var wroot = this.webroot || urlProps.webroot
|
|
8677
|
-
, hostname = this.hostname || urlProps.hostname
|
|
8678
|
-
, path = this.url
|
|
8732
|
+
, hostname = ''+this.hostname || ''+urlProps.hostname
|
|
8733
|
+
, path = ''+this.url
|
|
8679
8734
|
;
|
|
8735
|
+
if (this.isProxyHost) {
|
|
8736
|
+
hostname = ''+this.proxy_hostname;
|
|
8737
|
+
}
|
|
8738
|
+
|
|
8739
|
+
this.url = (
|
|
8740
|
+
typeof(ignoreWebRoot) != 'undefined'
|
|
8741
|
+
&& /^true$/i.test(ignoreWebRoot)
|
|
8742
|
+
) ? path.replace( new RegExp('^'+ wroot), '/') : path.replace( new RegExp('^('+wroot +'|\/$)'), wroot);
|
|
8743
|
+
|
|
8744
|
+
// this.url = (
|
|
8745
|
+
// typeof(ignoreWebRoot) != 'undefined'
|
|
8746
|
+
// && /^true$/i.test(ignoreWebRoot)
|
|
8747
|
+
// ) ? path.replace( new RegExp('\/'+ wroot), '/') : path;
|
|
8680
8748
|
|
|
8681
|
-
this.url = ( typeof(ignoreWebRoot) != 'undefined' && ignoreWebRoot == true ) ? path.replace(wroot, '/') : path;
|
|
8682
8749
|
|
|
8683
8750
|
return hostname + this.url
|
|
8684
8751
|
};
|
|
8685
8752
|
|
|
8686
8753
|
/**
|
|
8687
8754
|
* request current url
|
|
8688
|
-
*
|
|
8755
|
+
* Attention: You should first try without an authentification middleware
|
|
8689
8756
|
*
|
|
8690
8757
|
*
|
|
8691
8758
|
* @param {boolean} [ignoreWebRoot]
|
|
@@ -8710,6 +8777,10 @@ function Routing() {
|
|
|
8710
8777
|
, url = ( typeof(ignoreWebRoot) != 'undefined' && ignoreWebRoot == true ) ? path.replace(wroot, '/') : this.url || _this.url
|
|
8711
8778
|
;
|
|
8712
8779
|
|
|
8780
|
+
if ( /^\//.test(url) ) {
|
|
8781
|
+
url = hostname + url;
|
|
8782
|
+
}
|
|
8783
|
+
|
|
8713
8784
|
var scheme = ( /^https/.test(hostname) ) ? 'https' : 'http';
|
|
8714
8785
|
|
|
8715
8786
|
if (isGFFCtx) {
|
|
@@ -8792,12 +8863,13 @@ function Routing() {
|
|
|
8792
8863
|
return route
|
|
8793
8864
|
};
|
|
8794
8865
|
|
|
8866
|
+
// TODO - Remove this : deprecated && not used
|
|
8795
8867
|
var getFormatedRoute = function(route, url, hash) {
|
|
8796
8868
|
// fix url in case of empty param value allowed by the routing rule
|
|
8797
8869
|
// to prevent having a folder.
|
|
8798
8870
|
// eg.: {..., id: '/^\\s*$/'} => {..., id: ''} => /path/to/ becoming /path/to
|
|
8799
8871
|
if ( /\/$/.test(url) && url != '/' )
|
|
8800
|
-
url = url.
|
|
8872
|
+
url = url.substring(0, url.length-1);
|
|
8801
8873
|
// adding hash if found
|
|
8802
8874
|
if (hash)
|
|
8803
8875
|
url += hash;
|
|
@@ -8822,12 +8894,13 @@ function Routing() {
|
|
|
8822
8894
|
/**
|
|
8823
8895
|
* Get route by url
|
|
8824
8896
|
* N.B.: this will only work with rules declared with `GET` method property
|
|
8897
|
+
* ATTENTION !!! Not fully working for frontend because of unresolved promises !!!!
|
|
8825
8898
|
*
|
|
8826
8899
|
* @function getRouteByUrl
|
|
8827
8900
|
*
|
|
8828
8901
|
* @param {string} url e.g.: /webroot/some/url/path or http
|
|
8829
8902
|
* @param {string} [bundle] targeted bundle
|
|
8830
|
-
* @param {string} [method] request method (GET|PUT|PUT|DELETE) - GET is set by default
|
|
8903
|
+
* @param {string} [method] 2nd or 3rd - request method (GET|PUT|PUT|DELETE) - GET is set by default
|
|
8831
8904
|
* @param {object} [request]
|
|
8832
8905
|
* @param {boolean} [isOverridinMethod] // will replace request.method by the provided method - Used for redirections
|
|
8833
8906
|
*
|
|
@@ -8922,6 +8995,9 @@ function Routing() {
|
|
|
8922
8995
|
params: {},
|
|
8923
8996
|
url: url
|
|
8924
8997
|
};
|
|
8998
|
+
if (bundle) {
|
|
8999
|
+
request.bundle = bundle;
|
|
9000
|
+
}
|
|
8925
9001
|
} else {
|
|
8926
9002
|
|
|
8927
9003
|
var gnaCtx = getContext('gina');
|
|
@@ -9009,11 +9085,8 @@ function Routing() {
|
|
|
9009
9085
|
// normal case
|
|
9010
9086
|
//Parsing for the right url.
|
|
9011
9087
|
try {
|
|
9012
|
-
|
|
9013
9088
|
isRoute = self.compareUrls(params, routing[name].url, request);
|
|
9014
|
-
|
|
9015
9089
|
if (isRoute.past) {
|
|
9016
|
-
|
|
9017
9090
|
route = JSON.clone(routing[name]);
|
|
9018
9091
|
route.name = name;
|
|
9019
9092
|
|
|
@@ -9035,7 +9108,7 @@ function Routing() {
|
|
|
9035
9108
|
url == '#'
|
|
9036
9109
|
&& /GET/i.test(method)
|
|
9037
9110
|
&& isMethodProvidedByDefault
|
|
9038
|
-
||
|
|
9111
|
+
|| /^404\:/.test(url)
|
|
9039
9112
|
) {
|
|
9040
9113
|
url = location.pathname;
|
|
9041
9114
|
urlHasChanged = true;
|
|
@@ -9125,7 +9198,7 @@ function Routing() {
|
|
|
9125
9198
|
// to prevent having a folder.
|
|
9126
9199
|
// eg.: {..., id: '/^\\s*$/'} => {..., id: ''} => /path/to/ becoming /path/to
|
|
9127
9200
|
if ( /\/$/.test(url) && url != '/' )
|
|
9128
|
-
url = url.
|
|
9201
|
+
url = url.substring(0, url.length-1);
|
|
9129
9202
|
// adding hash if found
|
|
9130
9203
|
if (hash)
|
|
9131
9204
|
url += hash;
|
|
@@ -9152,6 +9225,12 @@ function Routing() {
|
|
|
9152
9225
|
}
|
|
9153
9226
|
|
|
9154
9227
|
if ((typeof (module) !== 'undefined') && module.exports) {
|
|
9228
|
+
|
|
9229
|
+
// Loading logger
|
|
9230
|
+
if ( typeof(console.err) == 'undefined' ) {
|
|
9231
|
+
console = require('../../logger');
|
|
9232
|
+
}
|
|
9233
|
+
|
|
9155
9234
|
// Publish as node.js module
|
|
9156
9235
|
module.exports = Routing()
|
|
9157
9236
|
} else if (typeof (define) === 'function' && define.amd) {
|
|
@@ -9689,7 +9768,7 @@ define("utils/effects", function(){});
|
|
|
9689
9768
|
|
|
9690
9769
|
/*
|
|
9691
9770
|
* This file is part of the gina package.
|
|
9692
|
-
* Copyright (c) 2009-
|
|
9771
|
+
* Copyright (c) 2009-2025 Rhinostone <contact@gina.io>
|
|
9693
9772
|
*
|
|
9694
9773
|
* For the full copyright and license information, please view the LICENSE
|
|
9695
9774
|
* file that was distributed with this source code.
|
|
@@ -10002,7 +10081,7 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
10002
10081
|
* @param {object} [ data ] // from request
|
|
10003
10082
|
* @param {string} [ formId ]
|
|
10004
10083
|
* */
|
|
10005
|
-
|
|
10084
|
+
function ValidatorPlugin(rules, data, formId) {
|
|
10006
10085
|
|
|
10007
10086
|
this.plugin = 'validator';
|
|
10008
10087
|
|
|
@@ -10112,6 +10191,7 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
10112
10191
|
'eventData' : {},
|
|
10113
10192
|
'target' : (isGFFCtx) ? document : null, // by default
|
|
10114
10193
|
'cachedErrors' : {},
|
|
10194
|
+
'lastFocused' : (isGFFCtx) ? [] : null,
|
|
10115
10195
|
'binded' : false,
|
|
10116
10196
|
'unbinded' : false,
|
|
10117
10197
|
'withUserBindings' : false,
|
|
@@ -10137,16 +10217,16 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
10137
10217
|
* */
|
|
10138
10218
|
var xhr = null;
|
|
10139
10219
|
var xhrOptions = {
|
|
10140
|
-
'url'
|
|
10141
|
-
'method'
|
|
10142
|
-
'isSynchrone'
|
|
10143
|
-
'withCredentials': false,
|
|
10144
|
-
'
|
|
10220
|
+
'url' : '',
|
|
10221
|
+
'method' : 'GET',
|
|
10222
|
+
'isSynchrone' : false,
|
|
10223
|
+
'withCredentials' : false,
|
|
10224
|
+
'withRateLimit' : true,
|
|
10225
|
+
'headers' : {
|
|
10145
10226
|
// to upload, use `multipart/form-data` for `enctype`
|
|
10146
10227
|
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
|
|
10147
10228
|
// cross domain is enabled by default, but you need to setup `Access-Control-Allow-Origin`
|
|
10148
10229
|
'X-Requested-With': 'XMLHttpRequest' // in case of cross domain origin
|
|
10149
|
-
|
|
10150
10230
|
}
|
|
10151
10231
|
};
|
|
10152
10232
|
|
|
@@ -10213,6 +10293,8 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
10213
10293
|
var setOptions = function (options) {
|
|
10214
10294
|
options = merge(options, xhrOptions);
|
|
10215
10295
|
xhrOptions = options;
|
|
10296
|
+
|
|
10297
|
+
return this;
|
|
10216
10298
|
}
|
|
10217
10299
|
|
|
10218
10300
|
|
|
@@ -10392,22 +10474,34 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
10392
10474
|
}
|
|
10393
10475
|
|
|
10394
10476
|
var refreshWarning = function($el) {
|
|
10395
|
-
var formId = $el.form.getAttribute('id');
|
|
10477
|
+
var formId = $el.form.id || $el.form.getAttribute('id');
|
|
10478
|
+
var elName = $el.name || $el.form.getAttribute('name');
|
|
10479
|
+
var currentElName = document.activeElement.name;
|
|
10396
10480
|
if ( /^true$/i.test(instance.$forms[formId].isValidating) ) {
|
|
10397
10481
|
return;
|
|
10398
10482
|
}
|
|
10399
10483
|
|
|
10400
|
-
var $parent
|
|
10401
|
-
|
|
10484
|
+
var $parent = $el.parentNode
|
|
10485
|
+
, isErrorMessageHidden = false
|
|
10486
|
+
, $children = $parent.getElementsByTagName('div')
|
|
10487
|
+
;
|
|
10402
10488
|
|
|
10403
|
-
if ( /form\-item\-warning/.test($parent.className) ) {
|
|
10489
|
+
if ( /form\-item\-warning/.test($parent.className) && currentElName != elName ) {
|
|
10404
10490
|
$parent.className = $parent.className.replace(/form\-item\-warning/, 'form-item-error');
|
|
10405
10491
|
|
|
10406
|
-
} else if (/form\-item\-error/.test($parent.className) ) {
|
|
10492
|
+
} else if (/form\-item\-error/.test($parent.className) && currentElName == elName ) {
|
|
10407
10493
|
$parent.className = $parent.className.replace(/form\-item\-error/, 'form-item-warning');
|
|
10408
10494
|
isErrorMessageHidden = true;
|
|
10409
10495
|
}
|
|
10410
10496
|
|
|
10497
|
+
// Fixed on 2025-03-16
|
|
10498
|
+
if (
|
|
10499
|
+
/^true$/i.test(instance.$forms[formId].isValidating)
|
|
10500
|
+
&& !isErrorMessageHidden
|
|
10501
|
+
) {
|
|
10502
|
+
return;
|
|
10503
|
+
}
|
|
10504
|
+
|
|
10411
10505
|
|
|
10412
10506
|
for (var c = 0, cLen = $children.length; c<cLen; ++c) {
|
|
10413
10507
|
if ( /form\-item\-error\-message/.test($children[c].className) ) {
|
|
@@ -10429,7 +10523,7 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
10429
10523
|
* @param {object} $form - Target (HTMLFormElement)
|
|
10430
10524
|
* @param {object} errors
|
|
10431
10525
|
* @param {object|null} data
|
|
10432
|
-
* @param {
|
|
10526
|
+
* @param {string|null} [fileName]
|
|
10433
10527
|
*/
|
|
10434
10528
|
var liveCheckErrors = {}; // Per Form & Per Element
|
|
10435
10529
|
var handleErrorsDisplay = function($form, errors, data, fieldName) {
|
|
@@ -10460,7 +10554,7 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
10460
10554
|
if ( typeof(liveCheckErrors[formId]) == 'undefined') {
|
|
10461
10555
|
liveCheckErrors[formId] = {};
|
|
10462
10556
|
}
|
|
10463
|
-
if (errors.count() > 0) {
|
|
10557
|
+
if (errors && errors.count() > 0) {
|
|
10464
10558
|
// reset field name
|
|
10465
10559
|
liveCheckErrors[formId][fieldName] = {};
|
|
10466
10560
|
// override
|
|
@@ -10470,8 +10564,29 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
10470
10564
|
}
|
|
10471
10565
|
errors = liveCheckErrors[formId];
|
|
10472
10566
|
// only if the form has not been sent yet
|
|
10473
|
-
if (
|
|
10567
|
+
if (
|
|
10568
|
+
!instance.$forms[formId].sent
|
|
10569
|
+
||
|
|
10570
|
+
instance.$forms[formId].isValidating
|
|
10571
|
+
) {
|
|
10474
10572
|
isWarning = true;
|
|
10573
|
+
// Fixed on 2025-03-16
|
|
10574
|
+
var lastFocused = instance.$forms[formId].lastFocused;
|
|
10575
|
+
// console.debug('fieldName: '+ fieldName + '\nactiveElement: '+ document.activeElement.getAttribute('name') +'\nlastFocused: ', lastFocused);
|
|
10576
|
+
if (
|
|
10577
|
+
lastFocused.length > 0
|
|
10578
|
+
&& typeof(lastFocused[1]) != 'undefined'
|
|
10579
|
+
&& lastFocused[1].name == fieldName
|
|
10580
|
+
||
|
|
10581
|
+
lastFocused.length > 0
|
|
10582
|
+
&& !lastFocused[1]
|
|
10583
|
+
&& document.activeElement.getAttribute('name') != lastFocused[0].name
|
|
10584
|
+
||
|
|
10585
|
+
document.activeElement.getAttribute('name') != fieldName
|
|
10586
|
+
) {
|
|
10587
|
+
isWarning = false;
|
|
10588
|
+
}
|
|
10589
|
+
// console.debug('isWarning: '+isWarning);
|
|
10475
10590
|
}
|
|
10476
10591
|
} else {
|
|
10477
10592
|
if ( typeof(liveCheckErrors[formId][fieldName]) != 'undefined') {
|
|
@@ -10535,7 +10650,11 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
10535
10650
|
|
|
10536
10651
|
if (!name) continue;
|
|
10537
10652
|
|
|
10538
|
-
if (
|
|
10653
|
+
if (
|
|
10654
|
+
errors
|
|
10655
|
+
&& typeof(errors[name]) != 'undefined'
|
|
10656
|
+
&& !/(form\-item\-error|form\-item\-warning)/.test($parent.className)
|
|
10657
|
+
) {
|
|
10539
10658
|
|
|
10540
10659
|
if (isWarning) {
|
|
10541
10660
|
// adding warning class
|
|
@@ -10576,7 +10695,24 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
10576
10695
|
|
|
10577
10696
|
|
|
10578
10697
|
|
|
10579
|
-
} else if (
|
|
10698
|
+
} else if (
|
|
10699
|
+
errors
|
|
10700
|
+
&& typeof(errors[name]) == 'undefined'
|
|
10701
|
+
&& /(form\-item\-error|form\-item\-warning)/.test($parent.className)
|
|
10702
|
+
||
|
|
10703
|
+
errors
|
|
10704
|
+
&& typeof(errors[name]) != 'undefined' && errors[name].count() == 0
|
|
10705
|
+
&& /(form\-item\-error|form\-item\-warning)/.test($parent.className)
|
|
10706
|
+
) {
|
|
10707
|
+
// Fixed on 2025-03-10
|
|
10708
|
+
// targeted field must be the active element
|
|
10709
|
+
// if (
|
|
10710
|
+
// document.activeElement.getAttribute('name') != fieldName
|
|
10711
|
+
// && errors.count() > 0
|
|
10712
|
+
// ) {
|
|
10713
|
+
// break
|
|
10714
|
+
// }
|
|
10715
|
+
console.debug('[handleErrorsDisplay] Resetting when not in error');
|
|
10580
10716
|
// reset when not in error
|
|
10581
10717
|
// remove child elements
|
|
10582
10718
|
var $children = $parent.getElementsByTagName('div');
|
|
@@ -10590,16 +10726,34 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
10590
10726
|
|
|
10591
10727
|
$parent.className = $parent.className.replace(/(\s+form\-item\-error|form\-item\-error|\s+form\-item\-warning|form\-item\-warning)/, '');
|
|
10592
10728
|
|
|
10593
|
-
} else if (
|
|
10729
|
+
} else if (
|
|
10730
|
+
errors.count() > 0
|
|
10731
|
+
&& typeof(errors[name]) != 'undefined'
|
|
10732
|
+
&& errAttr
|
|
10733
|
+
) {
|
|
10594
10734
|
// refreshing already displayed error on msg update
|
|
10595
10735
|
var $divs = $parent.getElementsByTagName('div');
|
|
10596
10736
|
for (var d = 0, dLen = $divs.length; d<dLen; ++d) {
|
|
10597
|
-
|
|
10737
|
+
// Fixed on 2025-03-05: className can have more than one !!
|
|
10738
|
+
let foundMessage = $divs[d].className.match("form-item-error-message");
|
|
10739
|
+
if (
|
|
10740
|
+
foundMessage
|
|
10741
|
+
&& typeof(foundMessage.length) != 'undefined'
|
|
10742
|
+
&& foundMessage.length > 0
|
|
10743
|
+
) {
|
|
10598
10744
|
|
|
10599
10745
|
$divs[d].parentElement.removeChild($divs[d]);
|
|
10600
10746
|
$err = document.createElement('div');
|
|
10601
10747
|
$err.setAttribute('class', 'form-item-error-message');
|
|
10602
10748
|
|
|
10749
|
+
// Fixed on 2025-03-09: className cleanup
|
|
10750
|
+
if (
|
|
10751
|
+
!isWarning
|
|
10752
|
+
&& /(\s+form\-item\-warning|form\-item\-warning)/.test($parent.className)
|
|
10753
|
+
) {
|
|
10754
|
+
$parent.className = $parent.className.replace(/(\s+form\-item\-warning|form\-item\-warning)/, ' form-item-error');
|
|
10755
|
+
}
|
|
10756
|
+
|
|
10603
10757
|
// injecting error messages
|
|
10604
10758
|
// {
|
|
10605
10759
|
// field: {
|
|
@@ -10624,12 +10778,17 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
10624
10778
|
}
|
|
10625
10779
|
}
|
|
10626
10780
|
|
|
10627
|
-
if ($err && $target.type != 'hidden')
|
|
10781
|
+
if ($err && $target.type != 'hidden') {
|
|
10628
10782
|
insertAfter($target, $err);
|
|
10629
|
-
|
|
10783
|
+
}
|
|
10630
10784
|
}
|
|
10631
10785
|
|
|
10632
|
-
if (
|
|
10786
|
+
if (
|
|
10787
|
+
typeof(fieldName) != 'undefined'
|
|
10788
|
+
&& fieldName === $el.name
|
|
10789
|
+
) {
|
|
10790
|
+
break;
|
|
10791
|
+
}
|
|
10633
10792
|
}
|
|
10634
10793
|
|
|
10635
10794
|
|
|
@@ -10824,7 +10983,7 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
10824
10983
|
*
|
|
10825
10984
|
*
|
|
10826
10985
|
* @param {object} data - FormData object (https://developer.mozilla.org/en-US/docs/Web/API/FormData/Using_FormData_Objects)
|
|
10827
|
-
* @param {object} [ options ] : { isSynchrone:
|
|
10986
|
+
* @param {object} [ options ] : { isSynchrone: false, withCredentials: true, withRateLimit: true }
|
|
10828
10987
|
* */
|
|
10829
10988
|
var send = function(data, options) {
|
|
10830
10989
|
|
|
@@ -10836,19 +10995,28 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
10836
10995
|
var isAttachment = null; // handle download
|
|
10837
10996
|
var hFormIsRequired = null;
|
|
10838
10997
|
|
|
10998
|
+
options = (typeof (options) != 'undefined') ? merge(options, xhrOptions) : xhrOptions;
|
|
10999
|
+
|
|
11000
|
+
// Rate Limit to one request at the time
|
|
11001
|
+
// Attention: this should be an option
|
|
11002
|
+
// the request needs to be completed before another can be made
|
|
11003
|
+
// TODO - Check same url
|
|
10839
11004
|
if (
|
|
10840
|
-
|
|
11005
|
+
/^true$/i.test(options.withRateLimit)
|
|
11006
|
+
&& typeof($form.isSending) != 'undefined'
|
|
10841
11007
|
&& /^true$/i.test($form.isSending)
|
|
10842
11008
|
||
|
|
10843
|
-
|
|
11009
|
+
/^true$/i.test(options.withRateLimit)
|
|
11010
|
+
&& typeof($form.sent) != 'undefined'
|
|
10844
11011
|
&& /^true$/i.test($form.sent)
|
|
10845
11012
|
) {
|
|
10846
11013
|
return;
|
|
10847
11014
|
}
|
|
11015
|
+
|
|
10848
11016
|
instance.$forms[id].isSending = true;
|
|
10849
11017
|
|
|
10850
11018
|
|
|
10851
|
-
|
|
11019
|
+
|
|
10852
11020
|
// `x-gina-form`definition
|
|
10853
11021
|
//options.headers['X-Gina-Form-Location'] = gina.config.bundle;
|
|
10854
11022
|
if ( typeof($form.id) != 'undefined' ) {
|
|
@@ -10958,14 +11126,15 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
10958
11126
|
$form.isSending = false;
|
|
10959
11127
|
|
|
10960
11128
|
// limit send trigger to 1 sec to prevent from double clicks
|
|
10961
|
-
setTimeout( function onSent() {
|
|
10962
|
-
|
|
10963
|
-
}, 1000);
|
|
11129
|
+
// setTimeout( function onSent() {
|
|
11130
|
+
// $form.sent = false;
|
|
11131
|
+
// }, 1000); // 1000
|
|
10964
11132
|
|
|
10965
11133
|
// In case the user is also redirecting
|
|
10966
11134
|
var redirectDelay = (/Google Inc/i.test(navigator.vendor)) ? 50 : 0;
|
|
10967
11135
|
|
|
10968
|
-
|
|
11136
|
+
// responseType interception
|
|
11137
|
+
if (xhr.readyState == 2) {
|
|
10969
11138
|
isAttachment = ( /^attachment\;/.test( xhr.getResponseHeader("Content-Disposition") ) ) ? true : false;
|
|
10970
11139
|
// force blob response type
|
|
10971
11140
|
if ( !xhr.responseType && isAttachment ) {
|
|
@@ -10999,7 +11168,7 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
10999
11168
|
var url = window.URL.createObjectURL(blob);
|
|
11000
11169
|
a.href = url;
|
|
11001
11170
|
var contentDisposition = xhr.getResponseHeader("Content-Disposition");
|
|
11002
|
-
a.download = contentDisposition.match('\=(.*)')[0].
|
|
11171
|
+
a.download = contentDisposition.match('\=(.*)')[0].substring(1);
|
|
11003
11172
|
//programatically click the link to trigger the download
|
|
11004
11173
|
a.click();
|
|
11005
11174
|
|
|
@@ -11018,7 +11187,9 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
11018
11187
|
size : blob.size
|
|
11019
11188
|
}
|
|
11020
11189
|
|
|
11021
|
-
}
|
|
11190
|
+
}
|
|
11191
|
+
// normal case
|
|
11192
|
+
else {
|
|
11022
11193
|
result = xhr.responseText;
|
|
11023
11194
|
}
|
|
11024
11195
|
|
|
@@ -11027,9 +11198,14 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
11027
11198
|
if ( /\/json/.test( contentType ) ) {
|
|
11028
11199
|
result = JSON.parse(xhr.responseText);
|
|
11029
11200
|
|
|
11030
|
-
if ( typeof(result.status) == 'undefined' )
|
|
11201
|
+
if ( typeof(result.status) == 'undefined' ) {
|
|
11031
11202
|
result.status = xhr.status;
|
|
11032
|
-
|
|
11203
|
+
}
|
|
11204
|
+
// Fixed on 2025-03-13 Allowing toolbar to ubdate after xhr results
|
|
11205
|
+
// TODO - Allowing to revert to previously loaded data via a close button
|
|
11206
|
+
if (gina && envIsDev && typeof(window.ginaToolbar) && typeof(result) != 'undefined') {
|
|
11207
|
+
window.ginaToolbar.update('data-xhr', result);
|
|
11208
|
+
}
|
|
11033
11209
|
}
|
|
11034
11210
|
|
|
11035
11211
|
if ( /\/html/.test( contentType ) ) {
|
|
@@ -11260,6 +11436,13 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
11260
11436
|
// } else { // external - need to remove `X-Requested-With` from `options.headers`
|
|
11261
11437
|
result.location = (!/^http/.test(result.location) && !/^\//.test(result.location) ) ? location.protocol +'//' + result.location : result.location;
|
|
11262
11438
|
//}
|
|
11439
|
+
// isProxyHost ?
|
|
11440
|
+
if (
|
|
11441
|
+
result.location.replace(/^http(.*)\:\d+/, '$1').replace(/^\:\/\//, '').split(/\//g)[0] == gina.config.hostname
|
|
11442
|
+
&& gina.config.hostname == window.location.host
|
|
11443
|
+
) {
|
|
11444
|
+
result.location = location.protocol + result.location.replace(/^http(.*)\:\d+/, '$1').replace(/^\:/, '')
|
|
11445
|
+
}
|
|
11263
11446
|
|
|
11264
11447
|
return setTimeout(() => {
|
|
11265
11448
|
window.location.href = result.location;
|
|
@@ -11889,7 +12072,7 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
11889
12072
|
filesToBeRemoved.push(childNodeFilePreview);
|
|
11890
12073
|
}
|
|
11891
12074
|
} else {
|
|
11892
|
-
let file = childNodes[i].src.
|
|
12075
|
+
let file = childNodes[i].src.substring(childNodes[i].src.lastIndexOf('/')+1);
|
|
11893
12076
|
childNodeFile = file;
|
|
11894
12077
|
filesToBeRemoved.push(childNodeFile);
|
|
11895
12078
|
}
|
|
@@ -12325,7 +12508,7 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
12325
12508
|
for (let m = 0, mLen = mergingRules.length; m < mLen; m++) {
|
|
12326
12509
|
if ( re.test(mergingRules[m]) ) {
|
|
12327
12510
|
let tmpStr = JSON.stringify(rule);
|
|
12328
|
-
tmpStr = tmpStr.
|
|
12511
|
+
tmpStr = tmpStr.substring(1, tmpStr.length-1);// removing ->{ ... }<-
|
|
12329
12512
|
// is last ?
|
|
12330
12513
|
if (m < mLen-1) {
|
|
12331
12514
|
tmpStr += ','
|
|
@@ -13092,7 +13275,9 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
13092
13275
|
|
|
13093
13276
|
var processEvent = function() {
|
|
13094
13277
|
|
|
13095
|
-
|
|
13278
|
+
if ( !/^(password)$/i.test(event.target.type) ) {
|
|
13279
|
+
console.debug('processing: ' + event.target.name+ '/'+ event.target.id);
|
|
13280
|
+
}
|
|
13096
13281
|
|
|
13097
13282
|
// Do not validate `onChange` if `input value` === `orignal value`
|
|
13098
13283
|
// Or else, you will get an endless loop
|
|
@@ -13110,7 +13295,6 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
13110
13295
|
} else {
|
|
13111
13296
|
handleErrorsDisplay(event.target.form, errors, null, event.target.name);
|
|
13112
13297
|
}
|
|
13113
|
-
//return cancelEvent(event);
|
|
13114
13298
|
}
|
|
13115
13299
|
|
|
13116
13300
|
|
|
@@ -13120,7 +13304,7 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
13120
13304
|
|
|
13121
13305
|
instance.$forms[event.target.form.getAttribute('id')].isValidating = true;
|
|
13122
13306
|
validate(event.target, localField, $localField, $form.rules, function onLiveValidation(result){
|
|
13123
|
-
instance.$forms[event.target.form.getAttribute('id')].isValidating = false;
|
|
13307
|
+
// instance.$forms[event.target.form.getAttribute('id')].isValidating = false;
|
|
13124
13308
|
//console.debug('validation on processEvent(...) ', result);
|
|
13125
13309
|
|
|
13126
13310
|
var isFormValid = result.isValid();
|
|
@@ -13146,8 +13330,10 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
13146
13330
|
instance.$forms[formId].isValidating = true;
|
|
13147
13331
|
validate($gForm, gFields, $gFields, gRules, function onSilentGlobalLiveValidation(gResult){
|
|
13148
13332
|
instance.$forms[formId].isValidating = false;
|
|
13149
|
-
console.debug('['+ formId +'] onSilentGlobalLiveValidation: '+ gResult.isValid(), gResult);
|
|
13333
|
+
console.debug('['+ formId +'] onSilentGlobalLiveValidation: '+ gResult.isValid(), gResult, gFields);
|
|
13334
|
+
// var isFormValid = ( gResult.isValid() && instance.$forms[formId].errors && instance.$forms[formId].errors.count() == 0 )? true : false;
|
|
13150
13335
|
var isFormValid = gResult.isValid();
|
|
13336
|
+
// var isFormValid = gResult.isValid();
|
|
13151
13337
|
if ( envIsDev && isGFFCtx && typeof(window.ginaToolbar) != 'undefined' && window.ginaToolbar ) {
|
|
13152
13338
|
// update toolbar
|
|
13153
13339
|
if (!gina.forms.errors)
|
|
@@ -13162,6 +13348,27 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
13162
13348
|
}
|
|
13163
13349
|
|
|
13164
13350
|
|
|
13351
|
+
if ( !isFormValid && gResult.error ) {
|
|
13352
|
+
// Fixed on 2025-03-16 - we need past and live errors
|
|
13353
|
+
instance.$forms[ $el.form.getAttribute('id') ].errors = merge(result.error, gResult.error);
|
|
13354
|
+
// Fixed on 2025-03-16
|
|
13355
|
+
for (let eField in gResult.error) {
|
|
13356
|
+
refreshWarning($gFields[eField]);
|
|
13357
|
+
handleErrorsDisplay($gForm, gResult.error, gResult.data, eField);
|
|
13358
|
+
}
|
|
13359
|
+
}
|
|
13360
|
+
// Fixed on 2025-03-16
|
|
13361
|
+
// Eg.: input select change impacting another element: solve `no more errors`
|
|
13362
|
+
else if ( instance.$forms[formId].errors && !instance.$forms[formId].errors.count() ) {
|
|
13363
|
+
// recheck if valid
|
|
13364
|
+
//resetting error display
|
|
13365
|
+
instance.$forms[ formId ].errors = {};
|
|
13366
|
+
console.debug('resetting field: '+ $el.name);
|
|
13367
|
+
liveCheckErrors[formId] = {};
|
|
13368
|
+
// $form.dataset.ginaFormIsResetting = true;
|
|
13369
|
+
handleErrorsDisplay($gForm, {}, null, $el.name);
|
|
13370
|
+
}
|
|
13371
|
+
|
|
13165
13372
|
updateSubmitTriggerState( $gForm, isFormValid);
|
|
13166
13373
|
|
|
13167
13374
|
once = false;
|
|
@@ -13195,13 +13402,16 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
13195
13402
|
// other inputs & textareas
|
|
13196
13403
|
else if ( /^focusin\./i.test(event.type) ) {
|
|
13197
13404
|
if ( /\-error/.test($el.parentNode.className) ) {
|
|
13198
|
-
console.debug('#1 you just focusin ....'+$el.id, $el.value);
|
|
13405
|
+
console.debug('#1 you just focusin ....'+$el.id, $el.value, instance.$forms[ $el.form.getAttribute('id') ].isValidating);
|
|
13199
13406
|
refreshWarning($el);
|
|
13200
13407
|
}
|
|
13201
13408
|
}
|
|
13202
13409
|
else if ( /^focusout\./i.test(event.type) ) {
|
|
13203
13410
|
if ( /\-warning/.test($el.parentNode.className) ) {
|
|
13204
13411
|
console.debug('#1 you just focusout ....'+$el.id, $el.value);
|
|
13412
|
+
// Removed on 2025-03-16
|
|
13413
|
+
instance.$forms[ $el.form.getAttribute('id') ].isValidating = false;
|
|
13414
|
+
|
|
13205
13415
|
refreshWarning($el);
|
|
13206
13416
|
// in case error context is changed by another task
|
|
13207
13417
|
handleErrorsDisplay($el.form, instance.$forms[ $el.form.getAttribute('id') ].errors, null, $el.name);
|
|
@@ -13210,12 +13420,86 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
13210
13420
|
else if ( /^keyup\./i.test(event.type) ) {
|
|
13211
13421
|
$el.ginaFormValidatorTestedValue = $el.value;
|
|
13212
13422
|
liveCheckTimer = setTimeout( function onLiveCheckTimer() {
|
|
13213
|
-
//
|
|
13214
|
-
if ( ['91', '17'].indexOf(''+event.keyCode) > -1 && keyboardMapping.count() == 0) {
|
|
13423
|
+
// Do not trigger for copy/paste events
|
|
13424
|
+
if ( ['91', '17', '16'].indexOf(''+event.keyCode) > -1 && keyboardMapping.count() == 0) {
|
|
13215
13425
|
//console.debug('mapping ', keyboardMapping);
|
|
13216
13426
|
return;
|
|
13217
13427
|
}
|
|
13218
|
-
|
|
13428
|
+
|
|
13429
|
+
// Fixed on 2025-03-16:
|
|
13430
|
+
// Treat TAB as focus in/out
|
|
13431
|
+
// if ( ['9'].indexOf(''+event.keyCode) > -1 ) {
|
|
13432
|
+
|
|
13433
|
+
// console.debug('[TAB] you just focusout from "'+ instance.$forms[ $el.form.getAttribute('id') ].lastFocused[1].id +'" to "'+ $el.id +'"');
|
|
13434
|
+
// var $gForm = event.target.form, gFields = null, $gFields = null, gRules = null;
|
|
13435
|
+
// var gValidatorInfos = getFormValidationInfos($gForm, rules);
|
|
13436
|
+
// gFields = gValidatorInfos.fields;
|
|
13437
|
+
// $gFields = gValidatorInfos.$fields;
|
|
13438
|
+
// var formId = $gForm.getAttribute('id');
|
|
13439
|
+
// gRules = instance.$forms[formId].rules;
|
|
13440
|
+
// // Don't be tempted to revome fields that has already been validated
|
|
13441
|
+
// instance.$forms[formId].isValidating = true;
|
|
13442
|
+
// validate($gForm, gFields, $gFields, gRules, function onSilentGlobalLiveValidation(gResult){
|
|
13443
|
+
// instance.$forms[formId].isValidating = false;
|
|
13444
|
+
// console.debug('['+ formId +'] [9] onSilentGlobalLiveValidation: '+ gResult.isValid(), gResult, gFields);
|
|
13445
|
+
// var isFormValid = ( gResult.isValid() && instance.$forms[formId].errors && instance.$forms[formId].errors.count() == 0 )? true : false;
|
|
13446
|
+
// // var isFormValid = gResult.isValid();
|
|
13447
|
+
// if ( envIsDev && isGFFCtx && typeof(window.ginaToolbar) != 'undefined' && window.ginaToolbar ) {
|
|
13448
|
+
// // update toolbar
|
|
13449
|
+
// if (!gina.forms.errors)
|
|
13450
|
+
// gina.forms.errors = {};
|
|
13451
|
+
|
|
13452
|
+
// var objCallback = {
|
|
13453
|
+
// id : formId,
|
|
13454
|
+
// errors : gResult.error || {}
|
|
13455
|
+
// };
|
|
13456
|
+
|
|
13457
|
+
// window.ginaToolbar.update('forms', objCallback);
|
|
13458
|
+
// }
|
|
13459
|
+
|
|
13460
|
+
|
|
13461
|
+
// if ( !isFormValid && gResult.error ) {
|
|
13462
|
+
// // Fixed on 2025-03-16 - we need past and live errors
|
|
13463
|
+
// instance.$forms[ $el.form.getAttribute('id') ].errors = merge(result.error, gResult.error);
|
|
13464
|
+
// // Fixed on 2025-03-16
|
|
13465
|
+
// for (let eField in instance.$forms[ $el.form.getAttribute('id') ].errors) {
|
|
13466
|
+
// refreshWarning($gFields[eField]);
|
|
13467
|
+
// handleErrorsDisplay($gForm, instance.$forms[ $el.form.getAttribute('id') ].errors, gResult.data, eField);
|
|
13468
|
+
// }
|
|
13469
|
+
// }
|
|
13470
|
+
// // Fixed on 2025-03-16
|
|
13471
|
+
// // Eg.: input select change impacting another element: solve `no more errors`
|
|
13472
|
+
// else if ( instance.$forms[formId].errors && !instance.$forms[formId].errors.count() ) {
|
|
13473
|
+
// // recheck if valid
|
|
13474
|
+
// //resetting error display
|
|
13475
|
+
// instance.$forms[ formId ].errors = {};
|
|
13476
|
+
// console.debug('resetting field: '+ $el.name);
|
|
13477
|
+
// liveCheckErrors[formId] = {};
|
|
13478
|
+
// // $form.dataset.ginaFormIsResetting = true;
|
|
13479
|
+
// handleErrorsDisplay($gForm, {}, null, $el.name);
|
|
13480
|
+
// }
|
|
13481
|
+
|
|
13482
|
+
// updateSubmitTriggerState( $gForm, isFormValid);
|
|
13483
|
+
|
|
13484
|
+
// once = false;
|
|
13485
|
+
// });
|
|
13486
|
+
// // var $previeousEl = document.getElementById(instance.$forms[ $el.form.getAttribute('id') ].lastFocused[1].id);
|
|
13487
|
+
// // var errors = instance.$forms[ $previeousEl.form.getAttribute('id') ].errors;
|
|
13488
|
+
// // var isFormValid = (!errors[$previeousEl.name]) ? true : false;
|
|
13489
|
+
// // console.debug('[TAB] you just focusout from "'+ instance.$forms[ $el.form.getAttribute('id') ].lastFocused[1].id +'" to "'+ $el.id +'"', "errors: ", errors);
|
|
13490
|
+
// // if (errors && errors.count() > 0 ) {
|
|
13491
|
+
// // instance.$forms[ $previeousEl.form.getAttribute('id') ].isValidating = false;
|
|
13492
|
+
// // isFormValid = false;
|
|
13493
|
+
// // }
|
|
13494
|
+
// // refreshWarning($previeousEl);
|
|
13495
|
+
// // // // in case error context is changed by another task
|
|
13496
|
+
// // handleErrorsDisplay($previeousEl.form, errors, null, $previeousEl.name);
|
|
13497
|
+
// // updateSubmitTriggerState( $el.form, isFormValid);
|
|
13498
|
+
// return;
|
|
13499
|
+
// }
|
|
13500
|
+
|
|
13501
|
+
|
|
13502
|
+
console.debug('[A]['+keyboardMapping.count()+'] keyup ('+ event.keyCode +') .... '+$el.id, $el.value, ' VS ',$el.ginaFormValidatorTestedValue + '(old)');
|
|
13219
13503
|
processEvent();
|
|
13220
13504
|
}, 1000);
|
|
13221
13505
|
}
|
|
@@ -13315,16 +13599,42 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
13315
13599
|
//console.debug('pressed: '+ e.key+'('+ e.keyCode+')', ' S:'+posStart, ' E:'+posEnd, ' MAP: '+ JSON.stringify(keyboardMapping));
|
|
13316
13600
|
switch (e.keyCode) {
|
|
13317
13601
|
case 46: //Delete
|
|
13602
|
+
if (posStart != posEnd) {
|
|
13603
|
+
$_el.value = str.substring(0, posStart) + str.substring(posEnd);
|
|
13604
|
+
if (posStart == 0) {
|
|
13605
|
+
$_el.value = str.substring(posEnd+1);
|
|
13606
|
+
}
|
|
13607
|
+
} else if (posStart == 0) {
|
|
13608
|
+
$_el.value = str.substring(posStart+1);
|
|
13609
|
+
} else {
|
|
13610
|
+
$_el.value = str.substring(0, posStart) + str.substring(posEnd+1);
|
|
13611
|
+
}
|
|
13612
|
+
|
|
13613
|
+
e.currentTarget.setAttribute('readonly', 'readonly');
|
|
13614
|
+
setTimeout(() => {
|
|
13615
|
+
$_el.removeAttribute('readonly');
|
|
13616
|
+
setTimeout(() => {
|
|
13617
|
+
if (posStart != posEnd) {
|
|
13618
|
+
setCaretToPos($_el, posStart);
|
|
13619
|
+
} else if (posStart == 0) {
|
|
13620
|
+
setCaretToPos($_el, posStart);
|
|
13621
|
+
} else {
|
|
13622
|
+
setCaretToPos($_el, posStart);
|
|
13623
|
+
}
|
|
13624
|
+
}, 0)
|
|
13625
|
+
|
|
13626
|
+
}, 0);
|
|
13627
|
+
break
|
|
13318
13628
|
case 8: //Backspace
|
|
13319
13629
|
if (posStart != posEnd) {
|
|
13320
|
-
$_el.value = str.
|
|
13630
|
+
$_el.value = str.substring(0, posStart) + str.substring(posEnd);
|
|
13321
13631
|
if (posStart == 0) {
|
|
13322
|
-
$_el.value = str.
|
|
13632
|
+
$_el.value = str.substring(posEnd);
|
|
13323
13633
|
}
|
|
13324
13634
|
} else if (posStart == 0) {
|
|
13325
13635
|
$_el.value = str.substring(posStart+1);
|
|
13326
13636
|
} else {
|
|
13327
|
-
$_el.value = str.
|
|
13637
|
+
$_el.value = str.substring(0, posStart-1) + str.substring(posEnd);
|
|
13328
13638
|
}
|
|
13329
13639
|
|
|
13330
13640
|
e.currentTarget.setAttribute('readonly', 'readonly');
|
|
@@ -13362,9 +13672,9 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
13362
13672
|
}
|
|
13363
13673
|
break;
|
|
13364
13674
|
// Shortcuts
|
|
13365
|
-
case 17: //CTRL
|
|
13366
|
-
case 91: //CMD
|
|
13367
|
-
console.debug("CMD hit");
|
|
13675
|
+
case 17: // CTRL
|
|
13676
|
+
case 91: // CMD
|
|
13677
|
+
console.debug("CMD, CTRL hit");
|
|
13368
13678
|
e.preventDefault();
|
|
13369
13679
|
break;
|
|
13370
13680
|
case 67: // to handle CMD+C (copy)
|
|
@@ -13411,15 +13721,18 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
13411
13721
|
}
|
|
13412
13722
|
default:
|
|
13413
13723
|
// Replace selection
|
|
13724
|
+
if (e.key.length > 1) {
|
|
13725
|
+
break;
|
|
13726
|
+
}
|
|
13414
13727
|
if (posStart != posEnd) {
|
|
13415
|
-
$_el.value = str.
|
|
13728
|
+
$_el.value = str.substring(0, posStart) + e.key;
|
|
13416
13729
|
if (posEnd-1 < str.length) {
|
|
13417
13730
|
$_el.value += str.substring(posEnd)
|
|
13418
13731
|
}
|
|
13419
13732
|
} else if (posStart == 0) {
|
|
13420
13733
|
$_el.value = e.key + str.substring(posStart);
|
|
13421
13734
|
} else {
|
|
13422
|
-
$_el.value = str.
|
|
13735
|
+
$_el.value = str.substring(0, posStart) + e.key + str.substring(posEnd);
|
|
13423
13736
|
}
|
|
13424
13737
|
e.currentTarget.setAttribute('readonly', 'readonly');
|
|
13425
13738
|
// Force restore last caret position
|
|
@@ -13561,24 +13874,53 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
13561
13874
|
}
|
|
13562
13875
|
|
|
13563
13876
|
/**
|
|
13564
|
-
* reBindForm
|
|
13877
|
+
* reBindForm
|
|
13878
|
+
* Allows form rebinding: it is like reseting validation
|
|
13565
13879
|
*
|
|
13566
|
-
*
|
|
13567
|
-
*
|
|
13568
|
-
*
|
|
13880
|
+
* E.g.:
|
|
13881
|
+
* $validator
|
|
13882
|
+
* .getFormById('my-form-id')
|
|
13883
|
+
* .reBind();
|
|
13884
|
+
*
|
|
13885
|
+
* @param {string} [formId]
|
|
13886
|
+
* @param {string} [rules]
|
|
13887
|
+
* @param {callback} [cb]
|
|
13569
13888
|
*/
|
|
13570
|
-
var reBindForm = function(
|
|
13571
|
-
|
|
13572
|
-
|
|
13889
|
+
var reBindForm = function(formId, rules, cb) {
|
|
13890
|
+
var $form = null
|
|
13891
|
+
, _id = null
|
|
13892
|
+
;
|
|
13893
|
+
if (
|
|
13894
|
+
typeof(this.target) != 'undefined'
|
|
13895
|
+
&& /FORM/i.test(this.target.tagName)
|
|
13896
|
+
) {
|
|
13897
|
+
_id = formId = this.target.getAttribute('id')
|
|
13898
|
+
} else if ( /string/i.test(typeof(formId)) ) {
|
|
13899
|
+
_id = formId
|
|
13900
|
+
}
|
|
13901
|
+
|
|
13902
|
+
if ( typeof(instance.$forms[_id]) != 'undefined') {
|
|
13903
|
+
$form = instance.$forms[_id];
|
|
13904
|
+
} else {
|
|
13905
|
+
throw new Error('form instance `'+ _id +'` not found');
|
|
13906
|
+
}
|
|
13907
|
+
|
|
13573
13908
|
// reset errors
|
|
13574
|
-
|
|
13909
|
+
resetErrorsDisplay(_id);
|
|
13910
|
+
// Unbind form
|
|
13911
|
+
unbindForm($form.target);
|
|
13575
13912
|
// Bind
|
|
13576
|
-
|
|
13913
|
+
if ( typeof(rule) != 'undefined' ) {
|
|
13914
|
+
bindForm($form.target, rules);
|
|
13915
|
+
} else {
|
|
13916
|
+
bindForm($form.target);
|
|
13917
|
+
}
|
|
13577
13918
|
|
|
13578
13919
|
if ( cb ) {
|
|
13579
|
-
return cb(
|
|
13920
|
+
return cb($form);
|
|
13580
13921
|
}
|
|
13581
|
-
|
|
13922
|
+
|
|
13923
|
+
return $form;
|
|
13582
13924
|
}
|
|
13583
13925
|
|
|
13584
13926
|
var unbindForm = function($target) {
|
|
@@ -13596,7 +13938,7 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
13596
13938
|
|
|
13597
13939
|
} else if ( typeof($target.target) != 'undefined' ) {
|
|
13598
13940
|
$form = $target;
|
|
13599
|
-
_id = $form.id;
|
|
13941
|
+
_id = ( $target.getAttribute && $target.getAttribute('id') ) ? $form.getAttribute('id') : $form.id;
|
|
13600
13942
|
} else {
|
|
13601
13943
|
throw new Error('Validator::unbindForm($target): `$target` must be a DOM element\n'+err.stack )
|
|
13602
13944
|
}
|
|
@@ -13635,7 +13977,7 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
13635
13977
|
// submit buttons
|
|
13636
13978
|
$elTMP = $form.target.getElementsByTagName('button');
|
|
13637
13979
|
if ( $elTMP.length > 0 ) {
|
|
13638
|
-
for(let i = 0, len = $elTMP.length; i < len; ++i) {
|
|
13980
|
+
for (let i = 0, len = $elTMP.length; i < len; ++i) {
|
|
13639
13981
|
// if button is != type="submit", you will need to provide : data-gina-form-submit
|
|
13640
13982
|
// TODO - On button binding, you can then provide data-gina-form-action & data-gina-form-method
|
|
13641
13983
|
$els.push($elTMP[i])
|
|
@@ -13645,7 +13987,7 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
13645
13987
|
// submit links
|
|
13646
13988
|
$elTMP = $form.target.getElementsByTagName('a');
|
|
13647
13989
|
if ( $elTMP.length > 0 ) {
|
|
13648
|
-
for(let i = 0, len = $elTMP.length; i < len; ++i) {
|
|
13990
|
+
for (let i = 0, len = $elTMP.length; i < len; ++i) {
|
|
13649
13991
|
$els.push($elTMP[i])
|
|
13650
13992
|
}
|
|
13651
13993
|
}
|
|
@@ -13701,7 +14043,7 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
13701
14043
|
// textarea
|
|
13702
14044
|
$elTMP = $form.target.getElementsByTagName('textarea');
|
|
13703
14045
|
if ( $elTMP.length > 0 ) {
|
|
13704
|
-
for(let i = 0, len = $elTMP.length; i < len; ++i) {
|
|
14046
|
+
for (let i = 0, len = $elTMP.length; i < len; ++i) {
|
|
13705
14047
|
$els.push( $elTMP[i] )
|
|
13706
14048
|
}
|
|
13707
14049
|
}
|
|
@@ -13710,7 +14052,7 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
13710
14052
|
// forms inside main form
|
|
13711
14053
|
$elTMP = $form.target.getElementsByTagName('form');
|
|
13712
14054
|
if ( $elTMP.length > 0 ) {
|
|
13713
|
-
for(let i = 0, len = $elTMP.length; i < len; ++i) {
|
|
14055
|
+
for (let i = 0, len = $elTMP.length; i < len; ++i) {
|
|
13714
14056
|
$els.push( $elTMP[i] )
|
|
13715
14057
|
}
|
|
13716
14058
|
}
|
|
@@ -13795,8 +14137,10 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
13795
14137
|
/**
|
|
13796
14138
|
* bindForm
|
|
13797
14139
|
*
|
|
13798
|
-
* @param {object} $target - DOM element
|
|
13799
|
-
* @param {object} [customRule]
|
|
14140
|
+
* @param {object} [$target] - DOM element
|
|
14141
|
+
* @param {object|string} [customRule]
|
|
14142
|
+
*
|
|
14143
|
+
* @return {object} bindedForm
|
|
13800
14144
|
* */
|
|
13801
14145
|
var bindForm = function($target, customRule) {
|
|
13802
14146
|
|
|
@@ -13805,23 +14149,32 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
13805
14149
|
, rules = ( typeof(local.rules.count() > 0 ) ) ? local.rules : instance.rules
|
|
13806
14150
|
;
|
|
13807
14151
|
|
|
13808
|
-
|
|
13809
|
-
|
|
13810
|
-
|
|
13811
|
-
|
|
13812
|
-
|
|
13813
|
-
|
|
13814
|
-
|
|
14152
|
+
if (
|
|
14153
|
+
typeof($target) == 'undefined'
|
|
14154
|
+
&& typeof(this.target) != 'undefined'
|
|
14155
|
+
&& /FORM/i.test(this.target.tagName)
|
|
14156
|
+
||
|
|
14157
|
+
!/object/i.test( typeof($target) )
|
|
14158
|
+
) {
|
|
14159
|
+
_id = this.target.id || this.target.getAttribute('id');
|
|
14160
|
+
} else if ( /string/i.test(typeof($target)) ) {
|
|
14161
|
+
_id = $target
|
|
14162
|
+
} else {
|
|
14163
|
+
_id = $target.getAttribute('id')
|
|
14164
|
+
}
|
|
13815
14165
|
|
|
14166
|
+
try {
|
|
14167
|
+
if ( typeof(instance.$forms[_id]) != 'undefined') {
|
|
14168
|
+
$form = instance.$forms[_id];
|
|
14169
|
+
if ( typeof($form.target) == 'undefined' ) {
|
|
14170
|
+
throw new Error('Validator::bindForm($target, customRule): `$target` must be a DOM element\n');
|
|
14171
|
+
}
|
|
14172
|
+
$target = $form.target;
|
|
13816
14173
|
} else {
|
|
13817
|
-
throw new Error('
|
|
14174
|
+
throw new Error('form instance `'+ _id +'` not found');
|
|
13818
14175
|
}
|
|
13819
14176
|
} catch(err) {
|
|
13820
|
-
throw new Error('Validator::bindForm($target, customRule) could not bind form `'+ $target +'`\n'+err.stack )
|
|
13821
|
-
}
|
|
13822
|
-
|
|
13823
|
-
if ( typeof($form) != 'undefined' && $form.binded) {
|
|
13824
|
-
return false
|
|
14177
|
+
throw new Error('Validator::bindForm($target, customRule) could not bind form `'+ $target +'`\n'+err.stack );
|
|
13825
14178
|
}
|
|
13826
14179
|
|
|
13827
14180
|
console.debug('binding for: '+ _id);
|
|
@@ -14127,7 +14480,7 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
14127
14480
|
} else if ( /img/i.test($els[i].tagName) ) {
|
|
14128
14481
|
$img = $els[i];
|
|
14129
14482
|
deleteLinkId = uploadTriggerId + '-'+index+'-delete-trigger';
|
|
14130
|
-
let file = $img.src.
|
|
14483
|
+
let file = $img.src.substring($img.src.lastIndexOf('/')+1);
|
|
14131
14484
|
$uploadTrigger.customFiles.push({
|
|
14132
14485
|
name: file,
|
|
14133
14486
|
deleteLinkId: deleteLinkId
|
|
@@ -14519,7 +14872,16 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
14519
14872
|
validate($gForm, gFields, $gFields, gRules, function onSilentGlobalLiveValidation(gResult){
|
|
14520
14873
|
instance.$forms[formId].isValidating = false;
|
|
14521
14874
|
console.debug('[updateSelect]: onSilentGlobalLiveValidation: '+ gResult.isValid(), gResult);
|
|
14875
|
+
// Fixed on 2025-03-16
|
|
14522
14876
|
var isFormValid = gResult.isValid();
|
|
14877
|
+
if (!isFormValid) {
|
|
14878
|
+
instance.$forms[formId].errors = gResult.error;
|
|
14879
|
+
for (let eField in gResult.error) {
|
|
14880
|
+
// refreshWarning($gFields[eField]);
|
|
14881
|
+
handleErrorsDisplay($gForm, gResult.error, gResult.data, eField);
|
|
14882
|
+
}
|
|
14883
|
+
}
|
|
14884
|
+
|
|
14523
14885
|
updateSubmitTriggerState( $gForm, isFormValid);
|
|
14524
14886
|
once = false;
|
|
14525
14887
|
})
|
|
@@ -15113,6 +15475,25 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
15113
15475
|
if (gina.events[_evt]) {
|
|
15114
15476
|
cancelEvent(event);
|
|
15115
15477
|
|
|
15478
|
+
// Fixed on 2025-03-05 - "last focus" vs "current focus"
|
|
15479
|
+
// To get active element: document.activeElement
|
|
15480
|
+
var formId = event.target.form.getAttribute('id') || event.currentTarget.getAttribute('id');
|
|
15481
|
+
var lastFocused = {
|
|
15482
|
+
id : $el.id,
|
|
15483
|
+
name: $el.name
|
|
15484
|
+
};
|
|
15485
|
+
if (!instance.$forms[formId].lastFocused.length) {
|
|
15486
|
+
instance.$forms[formId].lastFocused[0] = lastFocused;
|
|
15487
|
+
} else {
|
|
15488
|
+
instance.$forms[formId].lastFocused.splice(0,0,lastFocused);
|
|
15489
|
+
}
|
|
15490
|
+
lastFocused = ( typeof(instance.$forms[formId].lastFocused[1]) != 'undefined' ) ? instance.$forms[formId].lastFocused[1].id : null;
|
|
15491
|
+
|
|
15492
|
+
// cleanup
|
|
15493
|
+
instance.$forms[formId].lastFocused.splice(2);
|
|
15494
|
+
|
|
15495
|
+
// console.debug('lastFocused: ', lastFocused, ' VS current: ', $el.id);
|
|
15496
|
+
|
|
15116
15497
|
triggerEvent(gina, $el, _evt, event.detail);
|
|
15117
15498
|
}
|
|
15118
15499
|
});
|
|
@@ -15429,7 +15810,7 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
15429
15810
|
;
|
|
15430
15811
|
$buttonsTMP = $target.getElementsByTagName('button');
|
|
15431
15812
|
if ( $buttonsTMP.length > 0 ) {
|
|
15432
|
-
for(let b = 0, len = $buttonsTMP.length; b < len; ++b) {
|
|
15813
|
+
for (let b = 0, len = $buttonsTMP.length; b < len; ++b) {
|
|
15433
15814
|
if ($buttonsTMP[b].type == 'submit') {
|
|
15434
15815
|
$buttons.push($buttonsTMP[b])
|
|
15435
15816
|
}
|
|
@@ -15439,7 +15820,7 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
15439
15820
|
// binding links
|
|
15440
15821
|
$buttonsTMP = $target.getElementsByTagName('a');
|
|
15441
15822
|
if ( $buttonsTMP.length > 0 ) {
|
|
15442
|
-
for(let b = 0, len = $buttonsTMP.length; b < len; ++b) {
|
|
15823
|
+
for (let b = 0, len = $buttonsTMP.length; b < len; ++b) {
|
|
15443
15824
|
if ( $buttonsTMP[b].attributes.getNamedItem('data-gina-form-submit') ) {
|
|
15444
15825
|
$buttons.push($buttonsTMP[b])
|
|
15445
15826
|
} else if (
|
|
@@ -15696,7 +16077,8 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
15696
16077
|
}
|
|
15697
16078
|
updateSubmitTriggerState( $form, result.isValid() );
|
|
15698
16079
|
});
|
|
15699
|
-
}
|
|
16080
|
+
}
|
|
16081
|
+
else if (!/^(true)$/i.test($form.target.dataset.ginaFormLiveCheckEnabled) ) {
|
|
15700
16082
|
updateSubmitTriggerState( $form , true );
|
|
15701
16083
|
}
|
|
15702
16084
|
|
|
@@ -16159,7 +16541,8 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
16159
16541
|
if ( !/^form$/i.test($formOrElement.tagName) ) {
|
|
16160
16542
|
$currentForm = $formOrElement.form;
|
|
16161
16543
|
}
|
|
16162
|
-
var formId
|
|
16544
|
+
var formId = $currentForm.getAttribute('id');
|
|
16545
|
+
var isFormValid = null;
|
|
16163
16546
|
|
|
16164
16547
|
if (
|
|
16165
16548
|
hasParsedAllRules
|
|
@@ -16180,10 +16563,16 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
16180
16563
|
if ( typeof(instance.$forms[formId].errors) == 'undefined' ) {
|
|
16181
16564
|
instance.$forms[formId].errors = {}
|
|
16182
16565
|
}
|
|
16566
|
+
// Fixed on 2025-03-16
|
|
16567
|
+
if ( typeof(cb._errors[field]) != 'undefined' ) {
|
|
16568
|
+
instance.$forms[formId].errors[field] = cb._errors[field];
|
|
16569
|
+
}
|
|
16570
|
+
console.debug('[A] Refreshing warning/error on field '+ field);
|
|
16571
|
+
if (
|
|
16572
|
+
!isFormValid && /^true|false$/i.test(instance.$forms[formId].isValidating)
|
|
16573
|
+
|| d[field].target.value != ''
|
|
16183
16574
|
|
|
16184
|
-
|
|
16185
|
-
|
|
16186
|
-
if (!isFormValid && /^true|false$/i.test(instance.$forms[formId].isValidating) || d[field].target.value != '' ) {
|
|
16575
|
+
) {
|
|
16187
16576
|
refreshWarning($allFields[field]);
|
|
16188
16577
|
handleErrorsDisplay($currentForm, cb._errors, cb._data, field);
|
|
16189
16578
|
updateSubmitTriggerState( $currentForm, isFormValid);
|
|
@@ -16191,8 +16580,9 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
16191
16580
|
|
|
16192
16581
|
if ( envIsDev && isGFFCtx && typeof(window.ginaToolbar) != 'undefined' && window.ginaToolbar ) {
|
|
16193
16582
|
// update toolbar
|
|
16194
|
-
if (!gina.forms.errors)
|
|
16583
|
+
if (!gina.forms.errors) {
|
|
16195
16584
|
gina.forms.errors = {};
|
|
16585
|
+
}
|
|
16196
16586
|
|
|
16197
16587
|
var objCallback = {
|
|
16198
16588
|
id : formId,
|
|
@@ -16209,13 +16599,13 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
16209
16599
|
}
|
|
16210
16600
|
|
|
16211
16601
|
// is this the last or the only field to be validated ?
|
|
16212
|
-
var needsGlobalReValidation = false
|
|
16602
|
+
var needsGlobalReValidation = false;
|
|
16213
16603
|
if ( listedFields.length == 1 || listedFields[listedFields.length-1] == field) {
|
|
16214
16604
|
// trigger end of validation
|
|
16215
16605
|
// console.debug(field +' is the last element to be validated for formId: '+ formId, cb._errors, instance.$forms[formId].errors);
|
|
16216
16606
|
isFormValid = ( cb._errors.count() > 0 ) ? false : true;
|
|
16217
16607
|
if (!isFormValid && /^true|false$/i.test(instance.$forms[formId].isValidating)) {
|
|
16218
|
-
|
|
16608
|
+
console.debug('[1] Should update error display now ', cb._errors);
|
|
16219
16609
|
instance.$forms[formId].errors = merge(cb._errors, instance.$forms[formId].errors);
|
|
16220
16610
|
refreshWarning($allFields[field]);
|
|
16221
16611
|
handleErrorsDisplay($currentForm, cb._errors, cb._data, field);
|
|
@@ -16247,8 +16637,6 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
16247
16637
|
window.ginaToolbar.update('forms', objCallback);
|
|
16248
16638
|
}
|
|
16249
16639
|
|
|
16250
|
-
|
|
16251
|
-
|
|
16252
16640
|
handleErrorsDisplay($currentForm, gResult.error, gResult.data, field);
|
|
16253
16641
|
updateSubmitTriggerState( $currentForm, isFormValid);
|
|
16254
16642
|
})
|
|
@@ -16392,7 +16780,7 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
16392
16780
|
|
|
16393
16781
|
for (var c in rules) {
|
|
16394
16782
|
if (!/^\_case\_/.test(c) ) continue;
|
|
16395
|
-
if ( typeof(rules[c].conditions) == 'undefined' ||
|
|
16783
|
+
if ( typeof(rules[c].conditions) == 'undefined' || Array.isArray(rules[c].conditions) && !rules[c].conditions.length ) continue;
|
|
16396
16784
|
if ( typeof(rules[c].conditions[0].rules) == 'undefined' ) continue;
|
|
16397
16785
|
|
|
16398
16786
|
|
|
@@ -16574,7 +16962,14 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
16574
16962
|
// filtering conditions
|
|
16575
16963
|
for (var _c = 0, _cLen = rules[c].conditions.length; _c < _cLen; ++_c) {
|
|
16576
16964
|
|
|
16577
|
-
if (
|
|
16965
|
+
if (
|
|
16966
|
+
Array.isArray(rules[c].conditions[_c].case)
|
|
16967
|
+
&& rules[c].conditions[_c].case.indexOf(caseValue) == -1
|
|
16968
|
+
||
|
|
16969
|
+
!Array.isArray(rules[c].conditions[_c].case)
|
|
16970
|
+
&& rules[c].conditions[_c].case != caseValue
|
|
16971
|
+
|
|
16972
|
+
) {
|
|
16578
16973
|
continue;
|
|
16579
16974
|
}
|
|
16580
16975
|
|
|
@@ -16719,7 +17114,8 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
16719
17114
|
if (
|
|
16720
17115
|
conditions[c]['case'] === caseValue
|
|
16721
17116
|
||
|
|
16722
|
-
Array.isArray(conditions[c]['case'])
|
|
17117
|
+
Array.isArray(conditions[c]['case'])
|
|
17118
|
+
&& conditions[c]['case'].indexOf(caseValue) > -1
|
|
16723
17119
|
||
|
|
16724
17120
|
/^\//.test(conditions[c]['case'])
|
|
16725
17121
|
) {
|
|
@@ -16836,8 +17232,6 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
16836
17232
|
}
|
|
16837
17233
|
--i;
|
|
16838
17234
|
}
|
|
16839
|
-
|
|
16840
|
-
|
|
16841
17235
|
} // EO for
|
|
16842
17236
|
}
|
|
16843
17237
|
|
|
@@ -16858,7 +17252,7 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
16858
17252
|
}
|
|
16859
17253
|
|
|
16860
17254
|
if (isGFFCtx)
|
|
16861
|
-
$fields[field].setAttribute('data-gina-form-errors', fieldErrorsAttributes[field].
|
|
17255
|
+
$fields[field].setAttribute('data-gina-form-errors', fieldErrorsAttributes[field].substring(0, fieldErrorsAttributes[field].length-1))
|
|
16862
17256
|
}
|
|
16863
17257
|
|
|
16864
17258
|
//calling back
|
|
@@ -16929,6 +17323,8 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
16929
17323
|
'data' : formatData( _data )
|
|
16930
17324
|
});
|
|
16931
17325
|
removeListener(gina, event.target, 'validated.' + event.target.id);
|
|
17326
|
+
|
|
17327
|
+
|
|
16932
17328
|
return
|
|
16933
17329
|
}
|
|
16934
17330
|
});
|
|
@@ -17157,6 +17553,11 @@ define('gina/toolbar', ['require', 'jquery', 'vendor/uuid'/**, 'lib/merge'*/, 'l
|
|
|
17157
17553
|
try {
|
|
17158
17554
|
|
|
17159
17555
|
txt = ($json) ? $json.text() : '';
|
|
17556
|
+
// txt = txt
|
|
17557
|
+
// .replace(/:null/gi, ':\"null\"')
|
|
17558
|
+
// .replace(/:true/gi, ':\"true\"')
|
|
17559
|
+
// .replace(/:false/gi, ':\"false\"');
|
|
17560
|
+
|
|
17160
17561
|
if (txt == '' || txt == 'null' ) {
|
|
17161
17562
|
// $json.text('Empty')
|
|
17162
17563
|
$json.text('{}')
|
|
@@ -17180,8 +17581,9 @@ define('gina/toolbar', ['require', 'jquery', 'vendor/uuid'/**, 'lib/merge'*/, 'l
|
|
|
17180
17581
|
|
|
17181
17582
|
var sectionStr = ( section ) ? ' [ '+ section + ' ] ' : ' ';
|
|
17182
17583
|
// var _err = 'Could not load'+ sectionStr +'json\n' + (err.stack||err.message||err);
|
|
17183
|
-
var _err = 'Could not load'+ sectionStr +'json\n' + err.message +'\n'+ err.stack;
|
|
17584
|
+
var _err = 'Could not load ['+ sectionStr +'] json\n' + err.message +'\n'+ err.stack;
|
|
17184
17585
|
console.error(_err);
|
|
17586
|
+
return;
|
|
17185
17587
|
// if ($json) {
|
|
17186
17588
|
// $json.text(_err);
|
|
17187
17589
|
// } else {
|
|
@@ -17806,7 +18208,7 @@ define('gina/toolbar', ['require', 'jquery', 'vendor/uuid'/**, 'lib/merge'*/, 'l
|
|
|
17806
18208
|
|
|
17807
18209
|
foldingStateName += name
|
|
17808
18210
|
} else {
|
|
17809
|
-
foldingStateName = foldingStateName.
|
|
18211
|
+
foldingStateName = foldingStateName.substring(0, foldingStateName.length-1)
|
|
17810
18212
|
}
|
|
17811
18213
|
|
|
17812
18214
|
return foldingStateName.trim()
|
|
@@ -17843,8 +18245,8 @@ define('gina/toolbar', ['require', 'jquery', 'vendor/uuid'/**, 'lib/merge'*/, 'l
|
|
|
17843
18245
|
html += '<ul class="gina-toolbar-object">' + parseObject(obj[i], ginaObj[i], id, elIsXHR, elSection) +'</ul>';
|
|
17844
18246
|
html += '</li>';
|
|
17845
18247
|
// clear one level
|
|
17846
|
-
//id = id.
|
|
17847
|
-
id = id.
|
|
18248
|
+
//id = id.substring(0, id.length - i.length - 1);
|
|
18249
|
+
id = id.substring(0, id.length - i.length);
|
|
17848
18250
|
} else if ( Array.isArray(obj[i]) ) {
|
|
17849
18251
|
//id += i + '-';
|
|
17850
18252
|
id += '-' + i.replace(/[^A-Za-z0-9_-]/g, '_');
|
|
@@ -17855,8 +18257,8 @@ define('gina/toolbar', ['require', 'jquery', 'vendor/uuid'/**, 'lib/merge'*/, 'l
|
|
|
17855
18257
|
html += '<ul class="gina-toolbar-collection">' + parseCollection(obj[i], ginaObj[i], id, elIsXHR, elSection) +'</ul>';
|
|
17856
18258
|
html += '</li>';
|
|
17857
18259
|
// clear one level
|
|
17858
|
-
//id = id.
|
|
17859
|
-
id = id.
|
|
18260
|
+
//id = id.substring(0, id.length - i.length - 1);
|
|
18261
|
+
id = id.substring(0, id.length - i.length);
|
|
17860
18262
|
} else {
|
|
17861
18263
|
objType = (ginaObj[i] === null) ? 'null' : typeof(ginaObj[i]);
|
|
17862
18264
|
if ( objType == 'undefined' ) { // new key declaration added by user
|
|
@@ -17913,7 +18315,7 @@ define('gina/toolbar', ['require', 'jquery', 'vendor/uuid'/**, 'lib/merge'*/, 'l
|
|
|
17913
18315
|
html += '<ul class="gina-toolbar-object">' + parseObject(arr[i], ginaArr[i], id, elIsXHR, elSection) +'</ul>';
|
|
17914
18316
|
html += '</li>';
|
|
17915
18317
|
// clear one level
|
|
17916
|
-
id = id.
|
|
18318
|
+
id = id.substring(0, id.length - i.toString().length - 1);
|
|
17917
18319
|
|
|
17918
18320
|
} else if ( Array.isArray(arr[i]) ) {
|
|
17919
18321
|
//id += i + '-';
|
|
@@ -17926,8 +18328,8 @@ define('gina/toolbar', ['require', 'jquery', 'vendor/uuid'/**, 'lib/merge'*/, 'l
|
|
|
17926
18328
|
html += '<ul class="gina-toolbar-collection">' + parseCollection(arr[i], ginaArr[i], id, elIsXHR, elSection) +'</ul>';
|
|
17927
18329
|
html += '</li>';
|
|
17928
18330
|
// clear one level
|
|
17929
|
-
//id = id.
|
|
17930
|
-
id = id.
|
|
18331
|
+
//id = id.substring(0, id.length - i.toString().length - 1);
|
|
18332
|
+
id = id.substring(0, id.length - i.toString().length);
|
|
17931
18333
|
} else {
|
|
17932
18334
|
html += '<li class="gina-toolbar-key-value"><span class="gina-toolbar-key">'+ i +':</span> <span class="gina-toolbar-value">'+ arr[i] +'</span></li>';
|
|
17933
18335
|
}
|
|
@@ -17956,16 +18358,16 @@ define('gina/toolbar', ['require', 'jquery', 'vendor/uuid'/**, 'lib/merge'*/, 'l
|
|
|
17956
18358
|
section = i;
|
|
17957
18359
|
if ( typeof(obj[i]) == 'object' && !Array.isArray(obj[i]) && obj[i] !== null ) { // parse
|
|
17958
18360
|
|
|
17959
|
-
$parent = $('#gina-toolbar-view-' + id.
|
|
18361
|
+
$parent = $('#gina-toolbar-view-' + id.substring(0, id.length - 1));
|
|
17960
18362
|
hasParent = ( $parent.length ) ? true : false;
|
|
17961
18363
|
|
|
17962
18364
|
if (!hasParent ) {
|
|
17963
18365
|
id += i.replace(/[^A-Za-z0-9_-]/g, '_') + '-';
|
|
17964
18366
|
|
|
17965
18367
|
if (i == 'params') { // force to top
|
|
17966
|
-
var htmlParams = '<div id="gina-toolbar-view-'+ id.
|
|
17967
|
-
'<h2 class="gina-toolbar-section-title">'+ id.
|
|
17968
|
-
'<ul class="'+ id.
|
|
18368
|
+
var htmlParams = '<div id="gina-toolbar-view-'+ id.substring(0, id.length - 1) +'" class="gina-toolbar-section">' +
|
|
18369
|
+
'<h2 class="gina-toolbar-section-title">'+ id.substring(0, id.length - 1) +'</h2>' +
|
|
18370
|
+
'<ul class="'+ id.substring(0, id.length - 1) +'"></ul>' +
|
|
17969
18371
|
'</div>';
|
|
17970
18372
|
|
|
17971
18373
|
$('#gina-toolbar-view-html-properties')
|
|
@@ -17974,9 +18376,9 @@ define('gina/toolbar', ['require', 'jquery', 'vendor/uuid'/**, 'lib/merge'*/, 'l
|
|
|
17974
18376
|
|
|
17975
18377
|
if ( !/^html/.test(id) ) {
|
|
17976
18378
|
|
|
17977
|
-
var htmlOther = '<div id="gina-toolbar-view-'+ id.
|
|
17978
|
-
'<h2 class="gina-toolbar-section-title">'+ id.
|
|
17979
|
-
'<ul class="'+ id.
|
|
18379
|
+
var htmlOther = '<div id="gina-toolbar-view-'+ id.substring(0, id.length - 1) +'" class="gina-toolbar-section">' +
|
|
18380
|
+
'<h2 class="gina-toolbar-section-title">'+ id.substring(0, id.length - 1) +'</h2>' +
|
|
18381
|
+
'<ul class="'+ id.substring(0, id.length - 1) +'"></ul>' +
|
|
17980
18382
|
'</div>';
|
|
17981
18383
|
|
|
17982
18384
|
$html
|
|
@@ -17984,36 +18386,36 @@ define('gina/toolbar', ['require', 'jquery', 'vendor/uuid'/**, 'lib/merge'*/, 'l
|
|
|
17984
18386
|
}/** else { // add to properties section
|
|
17985
18387
|
$root
|
|
17986
18388
|
.find('.gina-toolbar-properties')
|
|
17987
|
-
.append('ul.' + id.
|
|
18389
|
+
.append('ul.' + id.substring(0, id.length - 1))
|
|
17988
18390
|
}*/
|
|
17989
18391
|
|
|
17990
18392
|
}
|
|
17991
18393
|
|
|
17992
|
-
parseView(obj[i], ginaObj[i], id, elIsXHR, $html.find('ul.'+ id.
|
|
18394
|
+
parseView(obj[i], ginaObj[i], id, elIsXHR, $html.find('ul.'+ id.substring(0, id.length - 1)), $root );
|
|
17993
18395
|
|
|
17994
18396
|
} else {
|
|
17995
18397
|
|
|
17996
18398
|
parentId = id + i.replace(/[^A-Za-z0-9_-]/g, '_') + '-';
|
|
17997
18399
|
|
|
17998
18400
|
$parent
|
|
17999
|
-
.find('ul.'+ id.
|
|
18000
|
-
.append('<li class="gina-toolbar-object"><a href="#" class="gina-toolbar-key gina-toolbar'+ isXHR +'-folding-state-'+ normalizeFoldingStateName( i.replace(/[^A-Za-z0-9_-]/g, '_'), parentId.
|
|
18401
|
+
.find('ul.'+ id.substring(0, id.length - 1))
|
|
18402
|
+
.append('<li class="gina-toolbar-object"><a href="#" class="gina-toolbar-key gina-toolbar'+ isXHR +'-folding-state-'+ normalizeFoldingStateName( i.replace(/[^A-Za-z0-9_-]/g, '_'), parentId.substring(0, parentId.length - 1) ) +'">'+ i +' <span>{ }</span></a><ul class="gina-toolbar-object '+ parentId.substring(0, parentId.length - 1) +'"></ul></li>');
|
|
18001
18403
|
|
|
18002
|
-
parseView(obj[i], ginaObj[i], parentId, elIsXHR, $parent.find('ul.'+ id.
|
|
18404
|
+
parseView(obj[i], ginaObj[i], parentId, elIsXHR, $parent.find('ul.'+ id.substring(0, id.length - 1)), $root );
|
|
18003
18405
|
|
|
18004
18406
|
id += i.replace(/[^A-Za-z0-9_-]/g, '_') + '-';
|
|
18005
18407
|
}
|
|
18006
18408
|
|
|
18007
18409
|
|
|
18008
18410
|
// clear one level
|
|
18009
|
-
id = id.
|
|
18411
|
+
id = id.substring(0, id.length - i.length - 1);
|
|
18010
18412
|
|
|
18011
18413
|
|
|
18012
18414
|
} else if ( Array.isArray(obj[i]) ) { // parse collection
|
|
18013
18415
|
|
|
18014
18416
|
|
|
18015
18417
|
|
|
18016
|
-
$parent = $('#gina-toolbar-view-' + id.
|
|
18418
|
+
$parent = $('#gina-toolbar-view-' + id.substring(0, id.length - 1));
|
|
18017
18419
|
|
|
18018
18420
|
hasParent = ( $parent.length ) ? true : false;
|
|
18019
18421
|
|
|
@@ -18023,16 +18425,16 @@ define('gina/toolbar', ['require', 'jquery', 'vendor/uuid'/**, 'lib/merge'*/, 'l
|
|
|
18023
18425
|
parentId = id + i.replace(/[^A-Za-z0-9_-]/g, '_') + '-';
|
|
18024
18426
|
|
|
18025
18427
|
$parent
|
|
18026
|
-
//.find('ul.'+ id.
|
|
18027
|
-
.append('<li class="gina-toolbar-collection"><a href="#" class="gina-toolbar-key gina-toolbar'+ isXHR +'-folding-state-'+ normalizeFoldingStateName( i.replace(/[^A-Za-z0-9_-]/g, '_'), parentId.
|
|
18428
|
+
//.find('ul.'+ id.substring(0, id.length - 1))
|
|
18429
|
+
.append('<li class="gina-toolbar-collection"><a href="#" class="gina-toolbar-key gina-toolbar'+ isXHR +'-folding-state-'+ normalizeFoldingStateName( i.replace(/[^A-Za-z0-9_-]/g, '_'), parentId.substring(0, parentId.length - 1) ) +'">'+ i +' <span>['+ obj[i].length +']</span></a><ul> '+ parseCollection(obj[i], ginaObj[i], parentId, $parent.find('li ul.'+ id.substring(0, id.length - 1)), section )+'</ul></li>');
|
|
18028
18430
|
|
|
18029
18431
|
|
|
18030
|
-
//parentId = parentId.
|
|
18031
|
-
//parentId = id.
|
|
18032
|
-
//parseView(obj[i], ginaObj[i], parentId, elIsXHR, $parent.find('ul.'+ parentId.
|
|
18432
|
+
//parentId = parentId.substring(0, parentId.length - 1)+ '-';
|
|
18433
|
+
//parentId = id.substring(0, id.length - i.length - 1);
|
|
18434
|
+
//parseView(obj[i], ginaObj[i], parentId, elIsXHR, $parent.find('ul.'+ parentId.substring(0, parentId.length - 1)), $root );
|
|
18033
18435
|
|
|
18034
18436
|
//id += i.replace(/[^A-Za-z0-9_-]/g, '_') + '-';
|
|
18035
|
-
//$parent = $('#gina-toolbar-view-' + id.
|
|
18437
|
+
//$parent = $('#gina-toolbar-view-' + id.substring(0, id.length - 1));
|
|
18036
18438
|
id += i.replace(/[^A-Za-z0-9_-]/g, '_') + '-';
|
|
18037
18439
|
} else {
|
|
18038
18440
|
|
|
@@ -18040,8 +18442,8 @@ define('gina/toolbar', ['require', 'jquery', 'vendor/uuid'/**, 'lib/merge'*/, 'l
|
|
|
18040
18442
|
parentId = id + i.replace(/[^A-Za-z0-9_-]/g, '_') + '-';
|
|
18041
18443
|
|
|
18042
18444
|
$parent
|
|
18043
|
-
.find('li.'+ id.
|
|
18044
|
-
.append('<li class="gina-toolbar-collection"><a class="gina-toolbar-key gina-toolbar'+ isXHR +'-folding-state-'+ normalizeFoldingStateName( i.replace(/[^A-Za-z0-9_-]/g, '_'), parentId.
|
|
18445
|
+
.find('li.'+ id.substring(0, id.length - 1) +' ul')
|
|
18446
|
+
.append('<li class="gina-toolbar-collection"><a class="gina-toolbar-key gina-toolbar'+ isXHR +'-folding-state-'+ normalizeFoldingStateName( i.replace(/[^A-Za-z0-9_-]/g, '_'), parentId.substring(0, parentId.length - 1) ) +'">'+ i +' <span>['+ obj[i].length +']</span></a><ul>'+ parseCollection(obj[i], ginaObj[i], parentId, $parent.find('li ul.'+ id.substring(0, id.length - 1)), section ) +'</ul></li>');
|
|
18045
18447
|
|
|
18046
18448
|
id += i.replace(/[^A-Za-z0-9_-]/g, '_') + '-';
|
|
18047
18449
|
|
|
@@ -18052,7 +18454,7 @@ define('gina/toolbar', ['require', 'jquery', 'vendor/uuid'/**, 'lib/merge'*/, 'l
|
|
|
18052
18454
|
// id = id + i.replace(/[^A-Za-z0-9_-]/g, '_') + '-';
|
|
18053
18455
|
// $root
|
|
18054
18456
|
// .find('.gina-toolbar-properties')
|
|
18055
|
-
// .append('<li class="gina-toolbar-collection"><a class="gina-toolbar-key gina-toolbar'+ isXHR +'-folding-state-'+ normalizeFoldingStateName( i.replace(/[^A-Za-z0-9_-]/g, '_'), id.
|
|
18457
|
+
// .append('<li class="gina-toolbar-collection"><a class="gina-toolbar-key gina-toolbar'+ isXHR +'-folding-state-'+ normalizeFoldingStateName( i.replace(/[^A-Za-z0-9_-]/g, '_'), id.substring(0, id.length - 1) ) +'">'+ i +' <span>['+ obj[i].length +']</span></a><ul>'+ parseCollection(obj[i], ginaObj[i], parentId, $root.find('.gina-toolbar-properties'), section) +'</ul></li>');
|
|
18056
18458
|
|
|
18057
18459
|
|
|
18058
18460
|
// } else {
|
|
@@ -18061,14 +18463,14 @@ define('gina/toolbar', ['require', 'jquery', 'vendor/uuid'/**, 'lib/merge'*/, 'l
|
|
|
18061
18463
|
// parentId = id + i.replace(/[^A-Za-z0-9_-]/g, '_') + '-';
|
|
18062
18464
|
|
|
18063
18465
|
// $parent
|
|
18064
|
-
// .find('li.'+ id.
|
|
18065
|
-
// .append('<li class="gina-toolbar-collection"><a class="gina-toolbar-key gina-toolbar'+ isXHR +'-folding-state-'+ normalizeFoldingStateName( i.replace(/[^A-Za-z0-9_-]/g, '_'), parentId.
|
|
18466
|
+
// .find('li.'+ id.substring(0, id.length - 1) +' ul')
|
|
18467
|
+
// .append('<li class="gina-toolbar-collection"><a class="gina-toolbar-key gina-toolbar'+ isXHR +'-folding-state-'+ normalizeFoldingStateName( i.replace(/[^A-Za-z0-9_-]/g, '_'), parentId.substring(0, parentId.length - 1) ) +'">'+ i +' <span>['+ obj[i].length +']</span></a><ul>'+ parseCollection(obj[i], ginaObj[i], parentId, $parent.find('li ul.'+ id.substring(0, id.length - 1)), section ) +'</ul></li>');
|
|
18066
18468
|
|
|
18067
18469
|
// id += i.replace(/[^A-Za-z0-9_-]/g, '_') + '-';
|
|
18068
18470
|
// }
|
|
18069
18471
|
|
|
18070
18472
|
// clear one level
|
|
18071
|
-
id = id.
|
|
18473
|
+
id = id.substring(0, id.length - i.length - 1);
|
|
18072
18474
|
} else {
|
|
18073
18475
|
|
|
18074
18476
|
|
|
@@ -18076,7 +18478,7 @@ define('gina/toolbar', ['require', 'jquery', 'vendor/uuid'/**, 'lib/merge'*/, 'l
|
|
|
18076
18478
|
objType = (ginaObj[i] === null) ? 'null' : typeof(ginaObj[i]);
|
|
18077
18479
|
if ( objType == 'undefined' ) { // new key declaration added by user
|
|
18078
18480
|
if (/\-$/.test(id)) {
|
|
18079
|
-
id = id.
|
|
18481
|
+
id = id.substring(0, id.length - 1);
|
|
18080
18482
|
}
|
|
18081
18483
|
|
|
18082
18484
|
if (!id) continue;
|
|
@@ -18123,7 +18525,7 @@ define('gina/toolbar', ['require', 'jquery', 'vendor/uuid'/**, 'lib/merge'*/, 'l
|
|
|
18123
18525
|
} else {
|
|
18124
18526
|
|
|
18125
18527
|
$root
|
|
18126
|
-
.find('ul.' + id.
|
|
18528
|
+
.find('ul.' + id.substring(0, id.length - 1))
|
|
18127
18529
|
.append('<li class="gina-toolbar-key-value"><span class="gina-toolbar-key">'+ i +':</span> <span class="gina-toolbar-value gina-toolbar-value-type-is-'+ objType +'">'+ obj[i] +'</span></li>')
|
|
18128
18530
|
}
|
|
18129
18531
|
}
|
|
@@ -18643,11 +19045,11 @@ define('gina', [ 'require', 'vendor/uuid', 'lib/merge', 'utils/events', 'helpers
|
|
|
18643
19045
|
return construct
|
|
18644
19046
|
});
|
|
18645
19047
|
/*!
|
|
18646
|
-
* Engine.IO v6.
|
|
18647
|
-
* (c) 2014-
|
|
19048
|
+
* Engine.IO v6.6.3
|
|
19049
|
+
* (c) 2014-2025 Guillermo Rauch
|
|
18648
19050
|
* Released under the MIT License.
|
|
18649
19051
|
*/
|
|
18650
|
-
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define('vendor/engine.io',e):(t="undefined"!=typeof globalThis?globalThis:t||self).eio=e()}(this,(function(){"use strict";function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t(e)}function e(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function r(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function n(t,e,n){return e&&r(t.prototype,e),n&&r(t,n),t}function o(){return o=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(t[n]=r[n])}return t},o.apply(this,arguments)}function i(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&a(t,e)}function s(t){return s=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},s(t)}function a(t,e){return a=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t},a(t,e)}function u(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}function c(t,e,r){return c=u()?Reflect.construct:function(t,e,r){var n=[null];n.push.apply(n,e);var o=new(Function.bind.apply(t,n));return r&&a(o,r.prototype),o},c.apply(null,arguments)}function p(t){var e="function"==typeof Map?new Map:void 0;return p=function(t){if(null===t||(r=t,-1===Function.toString.call(r).indexOf("[native code]")))return t;var r;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,n)}function n(){return c(t,arguments,s(this).constructor)}return n.prototype=Object.create(t.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),a(n,t)},p(t)}function h(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function l(t,e){return!e||"object"!=typeof e&&"function"!=typeof e?h(t):e}function f(t){var e=u();return function(){var r,n=s(t);if(e){var o=s(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return l(this,r)}}function d(t,e,r){return d="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,r){var n=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=s(t)););return t}(t,e);if(n){var o=Object.getOwnPropertyDescriptor(n,e);return o.get?o.get.call(r):o.value}},d(t,e,r||t)}var y=Object.create(null);y.open="0",y.close="1",y.ping="2",y.pong="3",y.message="4",y.upgrade="5",y.noop="6";var v=Object.create(null);Object.keys(y).forEach((function(t){v[y[t]]=t}));for(var m={type:"error",data:"parser error"},g="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===Object.prototype.toString.call(Blob),b="function"==typeof ArrayBuffer,k=function(t,e,r){var n,o=t.type,i=t.data;return g&&i instanceof Blob?e?r(i):w(i,r):b&&(i instanceof ArrayBuffer||(n=i,"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(n):n&&n.buffer instanceof ArrayBuffer))?e?r(i):w(new Blob([i]),r):r(y[o]+(i||""))},w=function(t,e){var r=new FileReader;return r.onload=function(){var t=r.result.split(",")[1];e("b"+t)},r.readAsDataURL(t)},T="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",S="undefined"==typeof Uint8Array?[]:new Uint8Array(256),R=0;R<T.length;R++)S[T.charCodeAt(R)]=R;var x="function"==typeof ArrayBuffer,O=function(t,e){if("string"!=typeof t)return{type:"message",data:P(t,e)};var r=t.charAt(0);return"b"===r?{type:"message",data:E(t.substring(1),e)}:v[r]?t.length>1?{type:v[r],data:t.substring(1)}:{type:v[r]}:m},E=function(t,e){if(x){var r=function(t){var e,r,n,o,i,s=.75*t.length,a=t.length,u=0;"="===t[t.length-1]&&(s--,"="===t[t.length-2]&&s--);var c=new ArrayBuffer(s),p=new Uint8Array(c);for(e=0;e<a;e+=4)r=S[t.charCodeAt(e)],n=S[t.charCodeAt(e+1)],o=S[t.charCodeAt(e+2)],i=S[t.charCodeAt(e+3)],p[u++]=r<<2|n>>4,p[u++]=(15&n)<<4|o>>2,p[u++]=(3&o)<<6|63&i;return c}(t);return P(r,e)}return{base64:!0,data:t}},P=function(t,e){return"blob"===e&&t instanceof ArrayBuffer?new Blob([t]):t},B=String.fromCharCode(30);function C(t){if(t)return function(t){for(var e in C.prototype)t[e]=C.prototype[e];return t}(t)}C.prototype.on=C.prototype.addEventListener=function(t,e){return this._callbacks=this._callbacks||{},(this._callbacks["$"+t]=this._callbacks["$"+t]||[]).push(e),this},C.prototype.once=function(t,e){function r(){this.off(t,r),e.apply(this,arguments)}return r.fn=e,this.on(t,r),this},C.prototype.off=C.prototype.removeListener=C.prototype.removeAllListeners=C.prototype.removeEventListener=function(t,e){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var r,n=this._callbacks["$"+t];if(!n)return this;if(1==arguments.length)return delete this._callbacks["$"+t],this;for(var o=0;o<n.length;o++)if((r=n[o])===e||r.fn===e){n.splice(o,1);break}return 0===n.length&&delete this._callbacks["$"+t],this},C.prototype.emit=function(t){this._callbacks=this._callbacks||{};for(var e=new Array(arguments.length-1),r=this._callbacks["$"+t],n=1;n<arguments.length;n++)e[n-1]=arguments[n];if(r){n=0;for(var o=(r=r.slice(0)).length;n<o;++n)r[n].apply(this,e)}return this},C.prototype.emitReserved=C.prototype.emit,C.prototype.listeners=function(t){return this._callbacks=this._callbacks||{},this._callbacks["$"+t]||[]},C.prototype.hasListeners=function(t){return!!this.listeners(t).length};var L="undefined"!=typeof self?self:"undefined"!=typeof window?window:Function("return this")();function q(t){for(var e=arguments.length,r=new Array(e>1?e-1:0),n=1;n<e;n++)r[n-1]=arguments[n];return r.reduce((function(e,r){return t.hasOwnProperty(r)&&(e[r]=t[r]),e}),{})}var A=setTimeout,j=clearTimeout;function _(t,e){e.useNativeTimers?(t.setTimeoutFn=A.bind(L),t.clearTimeoutFn=j.bind(L)):(t.setTimeoutFn=setTimeout.bind(L),t.clearTimeoutFn=clearTimeout.bind(L))}var U,H=function(t){i(n,t);var r=f(n);function n(t,o,i){var s;return e(this,n),(s=r.call(this,t)).description=o,s.context=i,s.type="TransportError",s}return n}(p(Error)),F=function(t){i(o,t);var r=f(o);function o(t){var n;return e(this,o),(n=r.call(this)).writable=!1,_(h(n),t),n.opts=t,n.query=t.query,n.readyState="",n.socket=t.socket,n}return n(o,[{key:"onError",value:function(t,e,r){return d(s(o.prototype),"emitReserved",this).call(this,"error",new H(t,e,r)),this}},{key:"open",value:function(){return"closed"!==this.readyState&&""!==this.readyState||(this.readyState="opening",this.doOpen()),this}},{key:"close",value:function(){return"opening"!==this.readyState&&"open"!==this.readyState||(this.doClose(),this.onClose()),this}},{key:"send",value:function(t){"open"===this.readyState&&this.write(t)}},{key:"onOpen",value:function(){this.readyState="open",this.writable=!0,d(s(o.prototype),"emitReserved",this).call(this,"open")}},{key:"onData",value:function(t){var e=O(t,this.socket.binaryType);this.onPacket(e)}},{key:"onPacket",value:function(t){d(s(o.prototype),"emitReserved",this).call(this,"packet",t)}},{key:"onClose",value:function(t){this.readyState="closed",d(s(o.prototype),"emitReserved",this).call(this,"close",t)}}]),o}(C),D="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_".split(""),M={},I=0,W=0;function N(t){var e="";do{e=D[t%64]+e,t=Math.floor(t/64)}while(t>0);return e}function X(){var t=N(+new Date);return t!==U?(I=0,U=t):t+"."+N(I++)}for(;W<64;W++)M[D[W]]=W;function $(t){var e="";for(var r in t)t.hasOwnProperty(r)&&(e.length&&(e+="&"),e+=encodeURIComponent(r)+"="+encodeURIComponent(t[r]));return e}function z(t){for(var e={},r=t.split("&"),n=0,o=r.length;n<o;n++){var i=r[n].split("=");e[decodeURIComponent(i[0])]=decodeURIComponent(i[1])}return e}var V=!1;try{V="undefined"!=typeof XMLHttpRequest&&"withCredentials"in new XMLHttpRequest}catch(t){}var G=V;function J(t){var e=t.xdomain;try{if("undefined"!=typeof XMLHttpRequest&&(!e||G))return new XMLHttpRequest}catch(t){}if(!e)try{return new(L[["Active"].concat("Object").join("X")])("Microsoft.XMLHTTP")}catch(t){}}function K(){}var Q=null!=new J({xdomain:!1}).responseType,Y=function(t){i(s,t);var r=f(s);function s(t){var n;if(e(this,s),(n=r.call(this,t)).polling=!1,"undefined"!=typeof location){var o="https:"===location.protocol,i=location.port;i||(i=o?"443":"80"),n.xd="undefined"!=typeof location&&t.hostname!==location.hostname||i!==t.port,n.xs=t.secure!==o}var a=t&&t.forceBase64;return n.supportsBinary=Q&&!a,n}return n(s,[{key:"doOpen",value:function(){this.poll()}},{key:"pause",value:function(t){var e=this;this.readyState="pausing";var r=function(){e.readyState="paused",t()};if(this.polling||!this.writable){var n=0;this.polling&&(n++,this.once("pollComplete",(function(){--n||r()}))),this.writable||(n++,this.once("drain",(function(){--n||r()})))}else r()}},{key:"poll",value:function(){this.polling=!0,this.doPoll(),this.emitReserved("poll")}},{key:"onData",value:function(t){var e=this;(function(t,e){for(var r=t.split(B),n=[],o=0;o<r.length;o++){var i=O(r[o],e);if(n.push(i),"error"===i.type)break}return n})(t,this.socket.binaryType).forEach((function(t){if("opening"===e.readyState&&"open"===t.type&&e.onOpen(),"close"===t.type)return e.onClose({description:"transport closed by the server"}),!1;e.onPacket(t)})),"closed"!==this.readyState&&(this.polling=!1,this.emitReserved("pollComplete"),"open"===this.readyState&&this.poll())}},{key:"doClose",value:function(){var t=this,e=function(){t.write([{type:"close"}])};"open"===this.readyState?e():this.once("open",e)}},{key:"write",value:function(t){var e=this;this.writable=!1,function(t,e){var r=t.length,n=new Array(r),o=0;t.forEach((function(t,i){k(t,!1,(function(t){n[i]=t,++o===r&&e(n.join(B))}))}))}(t,(function(t){e.doWrite(t,(function(){e.writable=!0,e.emitReserved("drain")}))}))}},{key:"uri",value:function(){var t=this.query||{},e=this.opts.secure?"https":"http",r="";!1!==this.opts.timestampRequests&&(t[this.opts.timestampParam]=X()),this.supportsBinary||t.sid||(t.b64=1),this.opts.port&&("https"===e&&443!==Number(this.opts.port)||"http"===e&&80!==Number(this.opts.port))&&(r=":"+this.opts.port);var n=$(t);return e+"://"+(-1!==this.opts.hostname.indexOf(":")?"["+this.opts.hostname+"]":this.opts.hostname)+r+this.opts.path+(n.length?"?"+n:"")}},{key:"request",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return o(t,{xd:this.xd,xs:this.xs},this.opts),new Z(this.uri(),t)}},{key:"doWrite",value:function(t,e){var r=this,n=this.request({method:"POST",data:t});n.on("success",e),n.on("error",(function(t,e){r.onError("xhr post error",t,e)}))}},{key:"doPoll",value:function(){var t=this,e=this.request();e.on("data",this.onData.bind(this)),e.on("error",(function(e,r){t.onError("xhr poll error",e,r)})),this.pollXhr=e}},{key:"name",get:function(){return"polling"}}]),s}(F),Z=function(t){i(o,t);var r=f(o);function o(t,n){var i;return e(this,o),_(h(i=r.call(this)),n),i.opts=n,i.method=n.method||"GET",i.uri=t,i.async=!1!==n.async,i.data=void 0!==n.data?n.data:null,i.create(),i}return n(o,[{key:"create",value:function(){var t=this,e=q(this.opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");e.xdomain=!!this.opts.xd,e.xscheme=!!this.opts.xs;var r=this.xhr=new J(e);try{r.open(this.method,this.uri,this.async);try{if(this.opts.extraHeaders)for(var n in r.setDisableHeaderCheck&&r.setDisableHeaderCheck(!0),this.opts.extraHeaders)this.opts.extraHeaders.hasOwnProperty(n)&&r.setRequestHeader(n,this.opts.extraHeaders[n])}catch(t){}if("POST"===this.method)try{r.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch(t){}try{r.setRequestHeader("Accept","*/*")}catch(t){}"withCredentials"in r&&(r.withCredentials=this.opts.withCredentials),this.opts.requestTimeout&&(r.timeout=this.opts.requestTimeout),r.onreadystatechange=function(){4===r.readyState&&(200===r.status||1223===r.status?t.onLoad():t.setTimeoutFn((function(){t.onError("number"==typeof r.status?r.status:0)}),0))},r.send(this.data)}catch(e){return void this.setTimeoutFn((function(){t.onError(e)}),0)}"undefined"!=typeof document&&(this.index=o.requestsCount++,o.requests[this.index]=this)}},{key:"onError",value:function(t){this.emitReserved("error",t,this.xhr),this.cleanup(!0)}},{key:"cleanup",value:function(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.xhr.onreadystatechange=K,t)try{this.xhr.abort()}catch(t){}"undefined"!=typeof document&&delete o.requests[this.index],this.xhr=null}}},{key:"onLoad",value:function(){var t=this.xhr.responseText;null!==t&&(this.emitReserved("data",t),this.emitReserved("success"),this.cleanup())}},{key:"abort",value:function(){this.cleanup()}}]),o}(C);if(Z.requestsCount=0,Z.requests={},"undefined"!=typeof document)if("function"==typeof attachEvent)attachEvent("onunload",tt);else if("function"==typeof addEventListener){addEventListener("onpagehide"in L?"pagehide":"unload",tt,!1)}function tt(){for(var t in Z.requests)Z.requests.hasOwnProperty(t)&&Z.requests[t].abort()}var et="function"==typeof Promise&&"function"==typeof Promise.resolve?function(t){return Promise.resolve().then(t)}:function(t,e){return e(t,0)},rt=L.WebSocket||L.MozWebSocket,nt="undefined"!=typeof navigator&&"string"==typeof navigator.product&&"reactnative"===navigator.product.toLowerCase(),ot=function(t){i(o,t);var r=f(o);function o(t){var n;return e(this,o),(n=r.call(this,t)).supportsBinary=!t.forceBase64,n}return n(o,[{key:"doOpen",value:function(){if(this.check()){var t=this.uri(),e=this.opts.protocols,r=nt?{}:q(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(r.headers=this.opts.extraHeaders);try{this.ws=nt?new rt(t,e,r):e?new rt(t,e):new rt(t)}catch(t){return this.emitReserved("error",t)}this.ws.binaryType=this.socket.binaryType||"arraybuffer",this.addEventListeners()}}},{key:"addEventListeners",value:function(){var t=this;this.ws.onopen=function(){t.opts.autoUnref&&t.ws._socket.unref(),t.onOpen()},this.ws.onclose=function(e){return t.onClose({description:"websocket connection closed",context:e})},this.ws.onmessage=function(e){return t.onData(e.data)},this.ws.onerror=function(e){return t.onError("websocket error",e)}}},{key:"write",value:function(t){var e=this;this.writable=!1;for(var r=function(r){var n=t[r],o=r===t.length-1;k(n,e.supportsBinary,(function(t){try{e.ws.send(t)}catch(t){}o&&et((function(){e.writable=!0,e.emitReserved("drain")}),e.setTimeoutFn)}))},n=0;n<t.length;n++)r(n)}},{key:"doClose",value:function(){void 0!==this.ws&&(this.ws.close(),this.ws=null)}},{key:"uri",value:function(){var t=this.query||{},e=this.opts.secure?"wss":"ws",r="";this.opts.port&&("wss"===e&&443!==Number(this.opts.port)||"ws"===e&&80!==Number(this.opts.port))&&(r=":"+this.opts.port),this.opts.timestampRequests&&(t[this.opts.timestampParam]=X()),this.supportsBinary||(t.b64=1);var n=$(t);return e+"://"+(-1!==this.opts.hostname.indexOf(":")?"["+this.opts.hostname+"]":this.opts.hostname)+r+this.opts.path+(n.length?"?"+n:"")}},{key:"check",value:function(){return!!rt}},{key:"name",get:function(){return"websocket"}}]),o}(F),it={websocket:ot,polling:Y},st=/^(?:(?![^:@]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,at=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function ut(t){var e=t,r=t.indexOf("["),n=t.indexOf("]");-1!=r&&-1!=n&&(t=t.substring(0,r)+t.substring(r,n).replace(/:/g,";")+t.substring(n,t.length));for(var o,i,s=st.exec(t||""),a={},u=14;u--;)a[at[u]]=s[u]||"";return-1!=r&&-1!=n&&(a.source=e,a.host=a.host.substring(1,a.host.length-1).replace(/;/g,":"),a.authority=a.authority.replace("[","").replace("]","").replace(/;/g,":"),a.ipv6uri=!0),a.pathNames=function(t,e){var r=/\/{2,9}/g,n=e.replace(r,"/").split("/");"/"!=e.substr(0,1)&&0!==e.length||n.splice(0,1);"/"==e.substr(e.length-1,1)&&n.splice(n.length-1,1);return n}(0,a.path),a.queryKey=(o=a.query,i={},o.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,(function(t,e,r){e&&(i[e]=r)})),i),a}var ct=function(r){i(a,r);var s=f(a);function a(r){var n,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e(this,a),n=s.call(this),r&&"object"===t(r)&&(i=r,r=null),r?(r=ut(r),i.hostname=r.host,i.secure="https"===r.protocol||"wss"===r.protocol,i.port=r.port,r.query&&(i.query=r.query)):i.host&&(i.hostname=ut(i.host).host),_(h(n),i),n.secure=null!=i.secure?i.secure:"undefined"!=typeof location&&"https:"===location.protocol,i.hostname&&!i.port&&(i.port=n.secure?"443":"80"),n.hostname=i.hostname||("undefined"!=typeof location?location.hostname:"localhost"),n.port=i.port||("undefined"!=typeof location&&location.port?location.port:n.secure?"443":"80"),n.transports=i.transports||["polling","websocket"],n.readyState="",n.writeBuffer=[],n.prevBufferLen=0,n.opts=o({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!0},i),n.opts.path=n.opts.path.replace(/\/$/,"")+"/","string"==typeof n.opts.query&&(n.opts.query=z(n.opts.query)),n.id=null,n.upgrades=null,n.pingInterval=null,n.pingTimeout=null,n.pingTimeoutTimer=null,"function"==typeof addEventListener&&(n.opts.closeOnBeforeunload&&addEventListener("beforeunload",(function(){n.transport&&(n.transport.removeAllListeners(),n.transport.close())}),!1),"localhost"!==n.hostname&&(n.offlineEventListener=function(){n.onClose("transport close",{description:"network connection lost"})},addEventListener("offline",n.offlineEventListener,!1))),n.open(),n}return n(a,[{key:"createTransport",value:function(t){var e=o({},this.opts.query);e.EIO=4,e.transport=t,this.id&&(e.sid=this.id);var r=o({},this.opts.transportOptions[t],this.opts,{query:e,socket:this,hostname:this.hostname,secure:this.secure,port:this.port});return new it[t](r)}},{key:"open",value:function(){var t,e=this;if(this.opts.rememberUpgrade&&a.priorWebsocketSuccess&&-1!==this.transports.indexOf("websocket"))t="websocket";else{if(0===this.transports.length)return void this.setTimeoutFn((function(){e.emitReserved("error","No transports available")}),0);t=this.transports[0]}this.readyState="opening";try{t=this.createTransport(t)}catch(t){return this.transports.shift(),void this.open()}t.open(),this.setTransport(t)}},{key:"setTransport",value:function(t){var e=this;this.transport&&this.transport.removeAllListeners(),this.transport=t,t.on("drain",this.onDrain.bind(this)).on("packet",this.onPacket.bind(this)).on("error",this.onError.bind(this)).on("close",(function(t){return e.onClose("transport close",t)}))}},{key:"probe",value:function(t){var e=this,r=this.createTransport(t),n=!1;a.priorWebsocketSuccess=!1;var o=function(){n||(r.send([{type:"ping",data:"probe"}]),r.once("packet",(function(t){if(!n)if("pong"===t.type&&"probe"===t.data){if(e.upgrading=!0,e.emitReserved("upgrading",r),!r)return;a.priorWebsocketSuccess="websocket"===r.name,e.transport.pause((function(){n||"closed"!==e.readyState&&(h(),e.setTransport(r),r.send([{type:"upgrade"}]),e.emitReserved("upgrade",r),r=null,e.upgrading=!1,e.flush())}))}else{var o=new Error("probe error");o.transport=r.name,e.emitReserved("upgradeError",o)}})))};function i(){n||(n=!0,h(),r.close(),r=null)}var s=function(t){var n=new Error("probe error: "+t);n.transport=r.name,i(),e.emitReserved("upgradeError",n)};function u(){s("transport closed")}function c(){s("socket closed")}function p(t){r&&t.name!==r.name&&i()}var h=function(){r.removeListener("open",o),r.removeListener("error",s),r.removeListener("close",u),e.off("close",c),e.off("upgrading",p)};r.once("open",o),r.once("error",s),r.once("close",u),this.once("close",c),this.once("upgrading",p),r.open()}},{key:"onOpen",value:function(){if(this.readyState="open",a.priorWebsocketSuccess="websocket"===this.transport.name,this.emitReserved("open"),this.flush(),"open"===this.readyState&&this.opts.upgrade&&this.transport.pause)for(var t=0,e=this.upgrades.length;t<e;t++)this.probe(this.upgrades[t])}},{key:"onPacket",value:function(t){if("opening"===this.readyState||"open"===this.readyState||"closing"===this.readyState)switch(this.emitReserved("packet",t),this.emitReserved("heartbeat"),t.type){case"open":this.onHandshake(JSON.parse(t.data));break;case"ping":this.resetPingTimeout(),this.sendPacket("pong"),this.emitReserved("ping"),this.emitReserved("pong");break;case"error":var e=new Error("server error");e.code=t.data,this.onError(e);break;case"message":this.emitReserved("data",t.data),this.emitReserved("message",t.data)}}},{key:"onHandshake",value:function(t){this.emitReserved("handshake",t),this.id=t.sid,this.transport.query.sid=t.sid,this.upgrades=this.filterUpgrades(t.upgrades),this.pingInterval=t.pingInterval,this.pingTimeout=t.pingTimeout,this.maxPayload=t.maxPayload,this.onOpen(),"closed"!==this.readyState&&this.resetPingTimeout()}},{key:"resetPingTimeout",value:function(){var t=this;this.clearTimeoutFn(this.pingTimeoutTimer),this.pingTimeoutTimer=this.setTimeoutFn((function(){t.onClose("ping timeout")}),this.pingInterval+this.pingTimeout),this.opts.autoUnref&&this.pingTimeoutTimer.unref()}},{key:"onDrain",value:function(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBufferLen=0,0===this.writeBuffer.length?this.emitReserved("drain"):this.flush()}},{key:"flush",value:function(){if("closed"!==this.readyState&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){var t=this.getWritablePackets();this.transport.send(t),this.prevBufferLen=t.length,this.emitReserved("flush")}}},{key:"getWritablePackets",value:function(){if(!(this.maxPayload&&"polling"===this.transport.name&&this.writeBuffer.length>1))return this.writeBuffer;for(var t,e=1,r=0;r<this.writeBuffer.length;r++){var n=this.writeBuffer[r].data;if(n&&(e+="string"==typeof(t=n)?function(t){for(var e=0,r=0,n=0,o=t.length;n<o;n++)(e=t.charCodeAt(n))<128?r+=1:e<2048?r+=2:e<55296||e>=57344?r+=3:(n++,r+=4);return r}(t):Math.ceil(1.33*(t.byteLength||t.size))),r>0&&e>this.maxPayload)return this.writeBuffer.slice(0,r);e+=2}return this.writeBuffer}},{key:"write",value:function(t,e,r){return this.sendPacket("message",t,e,r),this}},{key:"send",value:function(t,e,r){return this.sendPacket("message",t,e,r),this}},{key:"sendPacket",value:function(t,e,r,n){if("function"==typeof e&&(n=e,e=void 0),"function"==typeof r&&(n=r,r=null),"closing"!==this.readyState&&"closed"!==this.readyState){(r=r||{}).compress=!1!==r.compress;var o={type:t,data:e,options:r};this.emitReserved("packetCreate",o),this.writeBuffer.push(o),n&&this.once("flush",n),this.flush()}}},{key:"close",value:function(){var t=this,e=function(){t.onClose("forced close"),t.transport.close()},r=function r(){t.off("upgrade",r),t.off("upgradeError",r),e()},n=function(){t.once("upgrade",r),t.once("upgradeError",r)};return"opening"!==this.readyState&&"open"!==this.readyState||(this.readyState="closing",this.writeBuffer.length?this.once("drain",(function(){t.upgrading?n():e()})):this.upgrading?n():e()),this}},{key:"onError",value:function(t){a.priorWebsocketSuccess=!1,this.emitReserved("error",t),this.onClose("transport error",t)}},{key:"onClose",value:function(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"closing"!==this.readyState||(this.clearTimeoutFn(this.pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),"function"==typeof removeEventListener&&removeEventListener("offline",this.offlineEventListener,!1),this.readyState="closed",this.id=null,this.emitReserved("close",t,e),this.writeBuffer=[],this.prevBufferLen=0)}},{key:"filterUpgrades",value:function(t){for(var e=[],r=0,n=t.length;r<n;r++)~this.transports.indexOf(t[r])&&e.push(t[r]);return e}}]),a}(C);ct.protocol=4;return function(t,e){return new ct(t,e)}}));
|
|
19052
|
+
!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define('vendor/engine.io',n):(t="undefined"!=typeof globalThis?globalThis:t||self).eio=n()}(this,(function(){"use strict";function t(t,n){for(var i=0;i<n.length;i++){var r=n[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,u(r.key),r)}}function n(n,i,r){return i&&t(n.prototype,i),r&&t(n,r),Object.defineProperty(n,"prototype",{writable:!1}),n}function i(){return i=Object.assign?Object.assign.bind():function(t){for(var n=1;n<arguments.length;n++){var i=arguments[n];for(var r in i)({}).hasOwnProperty.call(i,r)&&(t[r]=i[r])}return t},i.apply(null,arguments)}function r(t){return r=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},r(t)}function e(t,n){t.prototype=Object.create(n.prototype),t.prototype.constructor=t,s(t,n)}function o(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(o=function(){return!!t})()}function s(t,n){return s=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,n){return t.__proto__=n,t},s(t,n)}function u(t){var n=function(t,n){if("object"!=typeof t||!t)return t;var i=t[Symbol.toPrimitive];if(void 0!==i){var r=i.call(t,n||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(t)}(t,"string");return"symbol"==typeof n?n:n+""}function f(t){return f="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},f(t)}function h(t){var n="function"==typeof Map?new Map:void 0;return h=function(t){if(null===t||!function(t){try{return-1!==Function.toString.call(t).indexOf("[native code]")}catch(n){return"function"==typeof t}}(t))return t;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==n){if(n.has(t))return n.get(t);n.set(t,i)}function i(){return function(t,n,i){if(o())return Reflect.construct.apply(null,arguments);var r=[null];r.push.apply(r,n);var e=new(t.bind.apply(t,r));return i&&s(e,i.prototype),e}(t,arguments,r(this).constructor)}return i.prototype=Object.create(t.prototype,{constructor:{value:i,enumerable:!1,writable:!0,configurable:!0}}),s(i,t)},h(t)}var c=Object.create(null);c.open="0",c.close="1",c.ping="2",c.pong="3",c.message="4",c.upgrade="5",c.noop="6";var a=Object.create(null);Object.keys(c).forEach((function(t){a[c[t]]=t}));var p,l={type:"error",data:"parser error"},v="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===Object.prototype.toString.call(Blob),d="function"==typeof ArrayBuffer,y=function(t){return"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(t):t&&t.buffer instanceof ArrayBuffer},b=function(t,n,i){var r=t.type,e=t.data;return v&&e instanceof Blob?n?i(e):g(e,i):d&&(e instanceof ArrayBuffer||y(e))?n?i(e):g(new Blob([e]),i):i(c[r]+(e||""))},g=function(t,n){var i=new FileReader;return i.onload=function(){var t=i.result.split(",")[1];n("b"+(t||""))},i.readAsDataURL(t)};function w(t){return t instanceof Uint8Array?t:t instanceof ArrayBuffer?new Uint8Array(t):new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}for(var m="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",k="undefined"==typeof Uint8Array?[]:new Uint8Array(256),A=0;A<64;A++)k[m.charCodeAt(A)]=A;var j,B="function"==typeof ArrayBuffer,E=function(t,n){if("string"!=typeof t)return{type:"message",data:U(t,n)};var i=t.charAt(0);return"b"===i?{type:"message",data:O(t.substring(1),n)}:a[i]?t.length>1?{type:a[i],data:t.substring(1)}:{type:a[i]}:l},O=function(t,n){if(B){var i=function(t){var n,i,r,e,o,s=.75*t.length,u=t.length,f=0;"="===t[t.length-1]&&(s--,"="===t[t.length-2]&&s--);var h=new ArrayBuffer(s),c=new Uint8Array(h);for(n=0;n<u;n+=4)i=k[t.charCodeAt(n)],r=k[t.charCodeAt(n+1)],e=k[t.charCodeAt(n+2)],o=k[t.charCodeAt(n+3)],c[f++]=i<<2|r>>4,c[f++]=(15&r)<<4|e>>2,c[f++]=(3&e)<<6|63&o;return h}(t);return U(i,n)}return{base64:!0,data:t}},U=function(t,n){return"blob"===n?t instanceof Blob?t:new Blob([t]):t instanceof ArrayBuffer?t:t.buffer},T=String.fromCharCode(30);function S(){return new TransformStream({transform:function(t,n){!function(t,n){v&&t.data instanceof Blob?t.data.arrayBuffer().then(w).then(n):d&&(t.data instanceof ArrayBuffer||y(t.data))?n(w(t.data)):b(t,!1,(function(t){p||(p=new TextEncoder),n(p.encode(t))}))}(t,(function(i){var r,e=i.length;if(e<126)r=new Uint8Array(1),new DataView(r.buffer).setUint8(0,e);else if(e<65536){r=new Uint8Array(3);var o=new DataView(r.buffer);o.setUint8(0,126),o.setUint16(1,e)}else{r=new Uint8Array(9);var s=new DataView(r.buffer);s.setUint8(0,127),s.setBigUint64(1,BigInt(e))}t.data&&"string"!=typeof t.data&&(r[0]|=128),n.enqueue(r),n.enqueue(i)}))}})}function M(t){return t.reduce((function(t,n){return t+n.length}),0)}function x(t,n){if(t[0].length===n)return t.shift();for(var i=new Uint8Array(n),r=0,e=0;e<n;e++)i[e]=t[0][r++],r===t[0].length&&(t.shift(),r=0);return t.length&&r<t[0].length&&(t[0]=t[0].slice(r)),i}function C(t){if(t)return function(t){for(var n in C.prototype)t[n]=C.prototype[n];return t}(t)}C.prototype.on=C.prototype.addEventListener=function(t,n){return this.t=this.t||{},(this.t["$"+t]=this.t["$"+t]||[]).push(n),this},C.prototype.once=function(t,n){function i(){this.off(t,i),n.apply(this,arguments)}return i.fn=n,this.on(t,i),this},C.prototype.off=C.prototype.removeListener=C.prototype.removeAllListeners=C.prototype.removeEventListener=function(t,n){if(this.t=this.t||{},0==arguments.length)return this.t={},this;var i,r=this.t["$"+t];if(!r)return this;if(1==arguments.length)return delete this.t["$"+t],this;for(var e=0;e<r.length;e++)if((i=r[e])===n||i.fn===n){r.splice(e,1);break}return 0===r.length&&delete this.t["$"+t],this},C.prototype.emit=function(t){this.t=this.t||{};for(var n=new Array(arguments.length-1),i=this.t["$"+t],r=1;r<arguments.length;r++)n[r-1]=arguments[r];if(i){r=0;for(var e=(i=i.slice(0)).length;r<e;++r)i[r].apply(this,n)}return this},C.prototype.emitReserved=C.prototype.emit,C.prototype.listeners=function(t){return this.t=this.t||{},this.t["$"+t]||[]},C.prototype.hasListeners=function(t){return!!this.listeners(t).length};var L="function"==typeof Promise&&"function"==typeof Promise.resolve?function(t){return Promise.resolve().then(t)}:function(t,n){return n(t,0)},R="undefined"!=typeof self?self:"undefined"!=typeof window?window:Function("return this")();function D(t){for(var n=arguments.length,i=new Array(n>1?n-1:0),r=1;r<n;r++)i[r-1]=arguments[r];return i.reduce((function(n,i){return t.hasOwnProperty(i)&&(n[i]=t[i]),n}),{})}var P=R.setTimeout,I=R.clearTimeout;function $(t,n){n.useNativeTimers?(t.setTimeoutFn=P.bind(R),t.clearTimeoutFn=I.bind(R)):(t.setTimeoutFn=R.setTimeout.bind(R),t.clearTimeoutFn=R.clearTimeout.bind(R))}function q(){return Date.now().toString(36).substring(3)+Math.random().toString(36).substring(2,5)}var N=function(t){function n(n,i,r){var e;return(e=t.call(this,n)||this).description=i,e.context=r,e.type="TransportError",e}return e(n,t),n}(h(Error)),V=function(t){function n(n){var i;return(i=t.call(this)||this).writable=!1,$(i,n),i.opts=n,i.query=n.query,i.socket=n.socket,i.supportsBinary=!n.forceBase64,i}e(n,t);var i=n.prototype;return i.onError=function(n,i,r){return t.prototype.emitReserved.call(this,"error",new N(n,i,r)),this},i.open=function(){return this.readyState="opening",this.doOpen(),this},i.close=function(){return"opening"!==this.readyState&&"open"!==this.readyState||(this.doClose(),this.onClose()),this},i.send=function(t){"open"===this.readyState&&this.write(t)},i.onOpen=function(){this.readyState="open",this.writable=!0,t.prototype.emitReserved.call(this,"open")},i.onData=function(t){var n=E(t,this.socket.binaryType);this.onPacket(n)},i.onPacket=function(n){t.prototype.emitReserved.call(this,"packet",n)},i.onClose=function(n){this.readyState="closed",t.prototype.emitReserved.call(this,"close",n)},i.pause=function(t){},i.createUri=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return t+"://"+this.i()+this.o()+this.opts.path+this.u(n)},i.i=function(){var t=this.opts.hostname;return-1===t.indexOf(":")?t:"["+t+"]"},i.o=function(){return this.opts.port&&(this.opts.secure&&Number(443!==this.opts.port)||!this.opts.secure&&80!==Number(this.opts.port))?":"+this.opts.port:""},i.u=function(t){var n=function(t){var n="";for(var i in t)t.hasOwnProperty(i)&&(n.length&&(n+="&"),n+=encodeURIComponent(i)+"="+encodeURIComponent(t[i]));return n}(t);return n.length?"?"+n:""},n}(C),X=function(t){function i(){var n;return(n=t.apply(this,arguments)||this).h=!1,n}e(i,t);var r=i.prototype;return r.doOpen=function(){this.p()},r.pause=function(t){var n=this;this.readyState="pausing";var i=function(){n.readyState="paused",t()};if(this.h||!this.writable){var r=0;this.h&&(r++,this.once("pollComplete",(function(){--r||i()}))),this.writable||(r++,this.once("drain",(function(){--r||i()})))}else i()},r.p=function(){this.h=!0,this.doPoll(),this.emitReserved("poll")},r.onData=function(t){var n=this;(function(t,n){for(var i=t.split(T),r=[],e=0;e<i.length;e++){var o=E(i[e],n);if(r.push(o),"error"===o.type)break}return r})(t,this.socket.binaryType).forEach((function(t){if("opening"===n.readyState&&"open"===t.type&&n.onOpen(),"close"===t.type)return n.onClose({description:"transport closed by the server"}),!1;n.onPacket(t)})),"closed"!==this.readyState&&(this.h=!1,this.emitReserved("pollComplete"),"open"===this.readyState&&this.p())},r.doClose=function(){var t=this,n=function(){t.write([{type:"close"}])};"open"===this.readyState?n():this.once("open",n)},r.write=function(t){var n=this;this.writable=!1,function(t,n){var i=t.length,r=new Array(i),e=0;t.forEach((function(t,o){b(t,!1,(function(t){r[o]=t,++e===i&&n(r.join(T))}))}))}(t,(function(t){n.doWrite(t,(function(){n.writable=!0,n.emitReserved("drain")}))}))},r.uri=function(){var t=this.opts.secure?"https":"http",n=this.query||{};return!1!==this.opts.timestampRequests&&(n[this.opts.timestampParam]=q()),this.supportsBinary||n.sid||(n.b64=1),this.createUri(t,n)},n(i,[{key:"name",get:function(){return"polling"}}])}(V),H=!1;try{H="undefined"!=typeof XMLHttpRequest&&"withCredentials"in new XMLHttpRequest}catch(t){}var F=H;function z(){}var G=function(t){function n(n){var i;if(i=t.call(this,n)||this,"undefined"!=typeof location){var r="https:"===location.protocol,e=location.port;e||(e=r?"443":"80"),i.xd="undefined"!=typeof location&&n.hostname!==location.hostname||e!==n.port}return i}e(n,t);var i=n.prototype;return i.doWrite=function(t,n){var i=this,r=this.request({method:"POST",data:t});r.on("success",n),r.on("error",(function(t,n){i.onError("xhr post error",t,n)}))},i.doPoll=function(){var t=this,n=this.request();n.on("data",this.onData.bind(this)),n.on("error",(function(n,i){t.onError("xhr poll error",n,i)})),this.pollXhr=n},n}(X),J=function(t){function n(n,i,r){var e;return(e=t.call(this)||this).createRequest=n,$(e,r),e.l=r,e.v=r.method||"GET",e.m=i,e.k=void 0!==r.data?r.data:null,e.A(),e}e(n,t);var i=n.prototype;return i.A=function(){var t,i=this,r=D(this.l,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");r.xdomain=!!this.l.xd;var e=this.j=this.createRequest(r);try{e.open(this.v,this.m,!0);try{if(this.l.extraHeaders)for(var o in e.setDisableHeaderCheck&&e.setDisableHeaderCheck(!0),this.l.extraHeaders)this.l.extraHeaders.hasOwnProperty(o)&&e.setRequestHeader(o,this.l.extraHeaders[o])}catch(t){}if("POST"===this.v)try{e.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch(t){}try{e.setRequestHeader("Accept","*/*")}catch(t){}null===(t=this.l.cookieJar)||void 0===t||t.addCookies(e),"withCredentials"in e&&(e.withCredentials=this.l.withCredentials),this.l.requestTimeout&&(e.timeout=this.l.requestTimeout),e.onreadystatechange=function(){var t;3===e.readyState&&(null===(t=i.l.cookieJar)||void 0===t||t.parseCookies(e.getResponseHeader("set-cookie"))),4===e.readyState&&(200===e.status||1223===e.status?i.B():i.setTimeoutFn((function(){i.O("number"==typeof e.status?e.status:0)}),0))},e.send(this.k)}catch(t){return void this.setTimeoutFn((function(){i.O(t)}),0)}"undefined"!=typeof document&&(this.U=n.requestsCount++,n.requests[this.U]=this)},i.O=function(t){this.emitReserved("error",t,this.j),this.T(!0)},i.T=function(t){if(void 0!==this.j&&null!==this.j){if(this.j.onreadystatechange=z,t)try{this.j.abort()}catch(t){}"undefined"!=typeof document&&delete n.requests[this.U],this.j=null}},i.B=function(){var t=this.j.responseText;null!==t&&(this.emitReserved("data",t),this.emitReserved("success"),this.T())},i.abort=function(){this.T()},n}(C);if(J.requestsCount=0,J.requests={},"undefined"!=typeof document)if("function"==typeof attachEvent)attachEvent("onunload",W);else if("function"==typeof addEventListener){addEventListener("onpagehide"in R?"pagehide":"unload",W,!1)}function W(){for(var t in J.requests)J.requests.hasOwnProperty(t)&&J.requests[t].abort()}var K,Q=(K=Z({xdomain:!1}))&&null!==K.responseType,Y=function(t){function n(n){var i;i=t.call(this,n)||this;var r=n&&n.forceBase64;return i.supportsBinary=Q&&!r,i}return e(n,t),n.prototype.request=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return i(t,{xd:this.xd},this.opts),new J(Z,this.uri(),t)},n}(G);function Z(t){var n=t.xdomain;try{if("undefined"!=typeof XMLHttpRequest&&(!n||F))return new XMLHttpRequest}catch(t){}if(!n)try{return new(R[["Active"].concat("Object").join("X")])("Microsoft.XMLHTTP")}catch(t){}}var _="undefined"!=typeof navigator&&"string"==typeof navigator.product&&"reactnative"===navigator.product.toLowerCase(),tt=function(t){function i(){return t.apply(this,arguments)||this}e(i,t);var r=i.prototype;return r.doOpen=function(){var t=this.uri(),n=this.opts.protocols,i=_?{}:D(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(i.headers=this.opts.extraHeaders);try{this.ws=this.createSocket(t,n,i)}catch(t){return this.emitReserved("error",t)}this.ws.binaryType=this.socket.binaryType,this.addEventListeners()},r.addEventListeners=function(){var t=this;this.ws.onopen=function(){t.opts.autoUnref&&t.ws.S.unref(),t.onOpen()},this.ws.onclose=function(n){return t.onClose({description:"websocket connection closed",context:n})},this.ws.onmessage=function(n){return t.onData(n.data)},this.ws.onerror=function(n){return t.onError("websocket error",n)}},r.write=function(t){var n=this;this.writable=!1;for(var i=function(){var i=t[r],e=r===t.length-1;b(i,n.supportsBinary,(function(t){try{n.doWrite(i,t)}catch(t){}e&&L((function(){n.writable=!0,n.emitReserved("drain")}),n.setTimeoutFn)}))},r=0;r<t.length;r++)i()},r.doClose=function(){void 0!==this.ws&&(this.ws.onerror=function(){},this.ws.close(),this.ws=null)},r.uri=function(){var t=this.opts.secure?"wss":"ws",n=this.query||{};return this.opts.timestampRequests&&(n[this.opts.timestampParam]=q()),this.supportsBinary||(n.b64=1),this.createUri(t,n)},n(i,[{key:"name",get:function(){return"websocket"}}])}(V),nt=R.WebSocket||R.MozWebSocket,it=function(t){function n(){return t.apply(this,arguments)||this}e(n,t);var i=n.prototype;return i.createSocket=function(t,n,i){return _?new nt(t,n,i):n?new nt(t,n):new nt(t)},i.doWrite=function(t,n){this.ws.send(n)},n}(tt),rt=function(t){function i(){return t.apply(this,arguments)||this}e(i,t);var r=i.prototype;return r.doOpen=function(){var t=this;try{this.M=new WebTransport(this.createUri("https"),this.opts.transportOptions[this.name])}catch(t){return this.emitReserved("error",t)}this.M.closed.then((function(){t.onClose()})).catch((function(n){t.onError("webtransport error",n)})),this.M.ready.then((function(){t.M.createBidirectionalStream().then((function(n){var i=function(t,n){j||(j=new TextDecoder);var i=[],r=0,e=-1,o=!1;return new TransformStream({transform:function(s,u){for(i.push(s);;){if(0===r){if(M(i)<1)break;var f=x(i,1);o=!(128&~f[0]),e=127&f[0],r=e<126?3:126===e?1:2}else if(1===r){if(M(i)<2)break;var h=x(i,2);e=new DataView(h.buffer,h.byteOffset,h.length).getUint16(0),r=3}else if(2===r){if(M(i)<8)break;var c=x(i,8),a=new DataView(c.buffer,c.byteOffset,c.length),p=a.getUint32(0);if(p>Math.pow(2,21)-1){u.enqueue(l);break}e=p*Math.pow(2,32)+a.getUint32(4),r=3}else{if(M(i)<e)break;var v=x(i,e);u.enqueue(E(o?v:j.decode(v),n)),r=0}if(0===e||e>t){u.enqueue(l);break}}}})}(Number.MAX_SAFE_INTEGER,t.socket.binaryType),r=n.readable.pipeThrough(i).getReader(),e=S();e.readable.pipeTo(n.writable),t.C=e.writable.getWriter();!function n(){r.read().then((function(i){var r=i.done,e=i.value;r||(t.onPacket(e),n())})).catch((function(t){}))}();var o={type:"open"};t.query.sid&&(o.data='{"sid":"'.concat(t.query.sid,'"}')),t.C.write(o).then((function(){return t.onOpen()}))}))}))},r.write=function(t){var n=this;this.writable=!1;for(var i=function(){var i=t[r],e=r===t.length-1;n.C.write(i).then((function(){e&&L((function(){n.writable=!0,n.emitReserved("drain")}),n.setTimeoutFn)}))},r=0;r<t.length;r++)i()},r.doClose=function(){var t;null===(t=this.M)||void 0===t||t.close()},n(i,[{key:"name",get:function(){return"webtransport"}}])}(V),et={websocket:it,webtransport:rt,polling:Y},ot=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,st=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function ut(t){if(t.length>8e3)throw"URI too long";var n=t,i=t.indexOf("["),r=t.indexOf("]");-1!=i&&-1!=r&&(t=t.substring(0,i)+t.substring(i,r).replace(/:/g,";")+t.substring(r,t.length));for(var e,o,s=ot.exec(t||""),u={},f=14;f--;)u[st[f]]=s[f]||"";return-1!=i&&-1!=r&&(u.source=n,u.host=u.host.substring(1,u.host.length-1).replace(/;/g,":"),u.authority=u.authority.replace("[","").replace("]","").replace(/;/g,":"),u.ipv6uri=!0),u.pathNames=function(t,n){var i=/\/{2,9}/g,r=n.replace(i,"/").split("/");"/"!=n.slice(0,1)&&0!==n.length||r.splice(0,1);"/"==n.slice(-1)&&r.splice(r.length-1,1);return r}(0,u.path),u.queryKey=(e=u.query,o={},e.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,(function(t,n,i){n&&(o[n]=i)})),o),u}var ft="function"==typeof addEventListener&&"function"==typeof removeEventListener,ht=[];ft&&addEventListener("offline",(function(){ht.forEach((function(t){return t()}))}),!1);var ct=function(t){function n(n,r){var e;if((e=t.call(this)||this).binaryType="arraybuffer",e.writeBuffer=[],e.L=0,e.R=-1,e.D=-1,e.P=-1,e.I=1/0,n&&"object"===f(n)&&(r=n,n=null),n){var o=ut(n);r.hostname=o.host,r.secure="https"===o.protocol||"wss"===o.protocol,r.port=o.port,o.query&&(r.query=o.query)}else r.host&&(r.hostname=ut(r.host).host);return $(e,r),e.secure=null!=r.secure?r.secure:"undefined"!=typeof location&&"https:"===location.protocol,r.hostname&&!r.port&&(r.port=e.secure?"443":"80"),e.hostname=r.hostname||("undefined"!=typeof location?location.hostname:"localhost"),e.port=r.port||("undefined"!=typeof location&&location.port?location.port:e.secure?"443":"80"),e.transports=[],e.$={},r.transports.forEach((function(t){var n=t.prototype.name;e.transports.push(n),e.$[n]=t})),e.opts=i({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},r),e.opts.path=e.opts.path.replace(/\/$/,"")+(e.opts.addTrailingSlash?"/":""),"string"==typeof e.opts.query&&(e.opts.query=function(t){for(var n={},i=t.split("&"),r=0,e=i.length;r<e;r++){var o=i[r].split("=");n[decodeURIComponent(o[0])]=decodeURIComponent(o[1])}return n}(e.opts.query)),ft&&(e.opts.closeOnBeforeunload&&(e.q=function(){e.transport&&(e.transport.removeAllListeners(),e.transport.close())},addEventListener("beforeunload",e.q,!1)),"localhost"!==e.hostname&&(e.N=function(){e.V("transport close",{description:"network connection lost"})},ht.push(e.N))),e.opts.withCredentials&&(e.X=void 0),e.H(),e}e(n,t);var r=n.prototype;return r.createTransport=function(t){var n=i({},this.opts.query);n.EIO=4,n.transport=t,this.id&&(n.sid=this.id);var r=i({},this.opts,{query:n,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptions[t]);return new this.$[t](r)},r.H=function(){var t=this;if(0!==this.transports.length){var i=this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1!==this.transports.indexOf("websocket")?"websocket":this.transports[0];this.readyState="opening";var r=this.createTransport(i);r.open(),this.setTransport(r)}else this.setTimeoutFn((function(){t.emitReserved("error","No transports available")}),0)},r.setTransport=function(t){var n=this;this.transport&&this.transport.removeAllListeners(),this.transport=t,t.on("drain",this.F.bind(this)).on("packet",this.G.bind(this)).on("error",this.O.bind(this)).on("close",(function(t){return n.V("transport close",t)}))},r.onOpen=function(){this.readyState="open",n.priorWebsocketSuccess="websocket"===this.transport.name,this.emitReserved("open"),this.flush()},r.G=function(t){if("opening"===this.readyState||"open"===this.readyState||"closing"===this.readyState)switch(this.emitReserved("packet",t),this.emitReserved("heartbeat"),t.type){case"open":this.onHandshake(JSON.parse(t.data));break;case"ping":this.J("pong"),this.emitReserved("ping"),this.emitReserved("pong"),this.W();break;case"error":var n=new Error("server error");n.code=t.data,this.O(n);break;case"message":this.emitReserved("data",t.data),this.emitReserved("message",t.data)}},r.onHandshake=function(t){this.emitReserved("handshake",t),this.id=t.sid,this.transport.query.sid=t.sid,this.R=t.pingInterval,this.D=t.pingTimeout,this.P=t.maxPayload,this.onOpen(),"closed"!==this.readyState&&this.W()},r.W=function(){var t=this;this.clearTimeoutFn(this.K);var n=this.R+this.D;this.I=Date.now()+n,this.K=this.setTimeoutFn((function(){t.V("ping timeout")}),n),this.opts.autoUnref&&this.K.unref()},r.F=function(){this.writeBuffer.splice(0,this.L),this.L=0,0===this.writeBuffer.length?this.emitReserved("drain"):this.flush()},r.flush=function(){if("closed"!==this.readyState&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){var t=this.Y();this.transport.send(t),this.L=t.length,this.emitReserved("flush")}},r.Y=function(){if(!(this.P&&"polling"===this.transport.name&&this.writeBuffer.length>1))return this.writeBuffer;for(var t,n=1,i=0;i<this.writeBuffer.length;i++){var r=this.writeBuffer[i].data;if(r&&(n+="string"==typeof(t=r)?function(t){for(var n=0,i=0,r=0,e=t.length;r<e;r++)(n=t.charCodeAt(r))<128?i+=1:n<2048?i+=2:n<55296||n>=57344?i+=3:(r++,i+=4);return i}(t):Math.ceil(1.33*(t.byteLength||t.size))),i>0&&n>this.P)return this.writeBuffer.slice(0,i);n+=2}return this.writeBuffer},r.Z=function(){var t=this;if(!this.I)return!0;var n=Date.now()>this.I;return n&&(this.I=0,L((function(){t.V("ping timeout")}),this.setTimeoutFn)),n},r.write=function(t,n,i){return this.J("message",t,n,i),this},r.send=function(t,n,i){return this.J("message",t,n,i),this},r.J=function(t,n,i,r){if("function"==typeof n&&(r=n,n=void 0),"function"==typeof i&&(r=i,i=null),"closing"!==this.readyState&&"closed"!==this.readyState){(i=i||{}).compress=!1!==i.compress;var e={type:t,data:n,options:i};this.emitReserved("packetCreate",e),this.writeBuffer.push(e),r&&this.once("flush",r),this.flush()}},r.close=function(){var t=this,n=function(){t.V("forced close"),t.transport.close()},i=function i(){t.off("upgrade",i),t.off("upgradeError",i),n()},r=function(){t.once("upgrade",i),t.once("upgradeError",i)};return"opening"!==this.readyState&&"open"!==this.readyState||(this.readyState="closing",this.writeBuffer.length?this.once("drain",(function(){t.upgrading?r():n()})):this.upgrading?r():n()),this},r.O=function(t){if(n.priorWebsocketSuccess=!1,this.opts.tryAllTransports&&this.transports.length>1&&"opening"===this.readyState)return this.transports.shift(),this.H();this.emitReserved("error",t),this.V("transport error",t)},r.V=function(t,n){if("opening"===this.readyState||"open"===this.readyState||"closing"===this.readyState){if(this.clearTimeoutFn(this.K),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),ft&&(this.q&&removeEventListener("beforeunload",this.q,!1),this.N)){var i=ht.indexOf(this.N);-1!==i&&ht.splice(i,1)}this.readyState="closed",this.id=null,this.emitReserved("close",t,n),this.writeBuffer=[],this.L=0}},n}(C);ct.protocol=4;var at=function(t){function n(){var n;return(n=t.apply(this,arguments)||this)._=[],n}e(n,t);var i=n.prototype;return i.onOpen=function(){if(t.prototype.onOpen.call(this),"open"===this.readyState&&this.opts.upgrade)for(var n=0;n<this._.length;n++)this.tt(this._[n])},i.tt=function(t){var n=this,i=this.createTransport(t),r=!1;ct.priorWebsocketSuccess=!1;var e=function(){r||(i.send([{type:"ping",data:"probe"}]),i.once("packet",(function(t){if(!r)if("pong"===t.type&&"probe"===t.data){if(n.upgrading=!0,n.emitReserved("upgrading",i),!i)return;ct.priorWebsocketSuccess="websocket"===i.name,n.transport.pause((function(){r||"closed"!==n.readyState&&(c(),n.setTransport(i),i.send([{type:"upgrade"}]),n.emitReserved("upgrade",i),i=null,n.upgrading=!1,n.flush())}))}else{var e=new Error("probe error");e.transport=i.name,n.emitReserved("upgradeError",e)}})))};function o(){r||(r=!0,c(),i.close(),i=null)}var s=function(t){var r=new Error("probe error: "+t);r.transport=i.name,o(),n.emitReserved("upgradeError",r)};function u(){s("transport closed")}function f(){s("socket closed")}function h(t){i&&t.name!==i.name&&o()}var c=function(){i.removeListener("open",e),i.removeListener("error",s),i.removeListener("close",u),n.off("close",f),n.off("upgrading",h)};i.once("open",e),i.once("error",s),i.once("close",u),this.once("close",f),this.once("upgrading",h),-1!==this._.indexOf("webtransport")&&"webtransport"!==t?this.setTimeoutFn((function(){r||i.open()}),200):i.open()},i.onHandshake=function(n){this._=this.nt(n.upgrades),t.prototype.onHandshake.call(this,n)},i.nt=function(t){for(var n=[],i=0;i<t.length;i++)~this.transports.indexOf(t[i])&&n.push(t[i]);return n},n}(ct),pt=function(t){function n(n){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r="object"===f(n)?n:i;return(!r.transports||r.transports&&"string"==typeof r.transports[0])&&(r.transports=(r.transports||["polling","websocket","webtransport"]).map((function(t){return et[t]})).filter((function(t){return!!t}))),t.call(this,n,r)||this}return e(n,t),n}(at);return function(t,n){return new pt(t,n)}}));
|
|
18651
19053
|
//# sourceMappingURL=engine.io.min.js.map
|
|
18652
19054
|
;
|
|
18653
19055
|
function BindingHelper(handlerContext) {
|
|
@@ -18743,12 +19145,13 @@ function BindingHelper(handlerContext) {
|
|
|
18743
19145
|
define( 'helpers/binding',[],function() { return BindingHelper });
|
|
18744
19146
|
/*
|
|
18745
19147
|
* This file is part of the gina package.
|
|
18746
|
-
* Copyright (c) 2009-
|
|
19148
|
+
* Copyright (c) 2009-2025 Rhinostone <contact@gina.io>
|
|
18747
19149
|
*
|
|
18748
19150
|
* For the full copyright and license information, please view the LICENSE
|
|
18749
19151
|
* file that was distributed with this source code.
|
|
18750
19152
|
*/
|
|
18751
19153
|
|
|
19154
|
+
|
|
18752
19155
|
// nodejs dependencies
|
|
18753
19156
|
if ( typeof(module) !== 'undefined' && module.exports) {
|
|
18754
19157
|
var fs = require('fs');
|
|
@@ -18786,8 +19189,10 @@ function Domain(options, cb) {
|
|
|
18786
19189
|
var isGFFCtx = ( ( typeof(module) !== 'undefined' ) && module.exports ) ? false : true;
|
|
18787
19190
|
// Detect if user is on IE browser
|
|
18788
19191
|
var isIE = false;
|
|
19192
|
+
var defaultUrl = "/_gina/assets/public_suffix_list.dat";
|
|
18789
19193
|
if (isGFFCtx) {
|
|
18790
19194
|
isIE = !!window.MSInputMethodContext && !!document.documentMode;
|
|
19195
|
+
defaultUrl = gina.config.webroot + defaultUrl.substring(1);
|
|
18791
19196
|
}
|
|
18792
19197
|
|
|
18793
19198
|
if ( typeof(arguments[0]) == 'function' ) {
|
|
@@ -18799,20 +19204,31 @@ function Domain(options, cb) {
|
|
|
18799
19204
|
// if isGFFCtx, should be place in the public folder to be served by your own host
|
|
18800
19205
|
// e.g.: "./public_suffix_list.dat" located under "/my-www-folder/"
|
|
18801
19206
|
filename : "../dist/public_suffix_list.dat",
|
|
18802
|
-
url :
|
|
19207
|
+
url : defaultUrl,
|
|
19208
|
+
// url : "https://publicsuffix.org/list/public_suffix_list.dat",
|
|
18803
19209
|
alternativeUrl : "https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat",
|
|
18804
19210
|
// only available from backend calls
|
|
18805
19211
|
isCachingRequired : false,
|
|
18806
19212
|
isUpdating : false
|
|
18807
19213
|
}
|
|
18808
19214
|
|
|
19215
|
+
if (
|
|
19216
|
+
!isGFFCtx
|
|
19217
|
+
&& typeof(options) != 'undefined'
|
|
19218
|
+
&& typeof(options.webroot) != 'undefined'
|
|
19219
|
+
) {
|
|
19220
|
+
defaultOptions.url = options.webroot + defaultUrl.substring(1);
|
|
19221
|
+
}
|
|
19222
|
+
|
|
19223
|
+
// Get the commit version
|
|
19224
|
+
// cat ./framework/v0.1.6-alpha.83/core/asset/data/public_suffix_list.dat|grep 'COMMIT:'|sed 's/^\/\/ COMMIT\: //'
|
|
19225
|
+
|
|
18809
19226
|
var self = {
|
|
18810
19227
|
options : null,
|
|
18811
19228
|
rawPSL : null,
|
|
18812
19229
|
PSL : [],
|
|
18813
19230
|
};
|
|
18814
19231
|
|
|
18815
|
-
|
|
18816
19232
|
var init = function(proto, options, cb) {
|
|
18817
19233
|
if ( typeof(options) == 'undefined' ) {
|
|
18818
19234
|
options = defaultOptions
|
|
@@ -18843,9 +19259,8 @@ function Domain(options, cb) {
|
|
|
18843
19259
|
return
|
|
18844
19260
|
}
|
|
18845
19261
|
|
|
18846
|
-
console.debug('[DOMAIN] PSL Loaded');
|
|
19262
|
+
console.debug('[DOMAIN][CB] PSL Loaded');
|
|
18847
19263
|
// return proto
|
|
18848
|
-
|
|
18849
19264
|
cb(err, proto)
|
|
18850
19265
|
});
|
|
18851
19266
|
}
|
|
@@ -19045,7 +19460,7 @@ function Domain(options, cb) {
|
|
|
19045
19460
|
return host
|
|
19046
19461
|
}
|
|
19047
19462
|
|
|
19048
|
-
console.debug('[DOMAIN][getFQDN]
|
|
19463
|
+
console.debug('[DOMAIN][getFQDN] FQDN: ' + host);
|
|
19049
19464
|
var ipObj = null
|
|
19050
19465
|
, err = null
|
|
19051
19466
|
;
|
|
@@ -19094,6 +19509,7 @@ function Domain(options, cb) {
|
|
|
19094
19509
|
if ( typeof(jsonFormat) == 'undefined' ) {
|
|
19095
19510
|
jsonFormat = false
|
|
19096
19511
|
}
|
|
19512
|
+
urlOrHostname = urlOrHostname.trim();
|
|
19097
19513
|
var isSLD = false
|
|
19098
19514
|
, isRegisteredTldOrSld = false
|
|
19099
19515
|
, rootDomain = urlOrHostname.replace(/^(.*)\:\/\/|\/(.*)/g, '')
|
|
@@ -19739,13 +20155,15 @@ define('gina/link', [ 'require', 'jquery', 'vendor/uuid', 'lib/domain', 'lib/mer
|
|
|
19739
20155
|
instance.getLinkByUrl = getLinkByUrl;
|
|
19740
20156
|
}
|
|
19741
20157
|
|
|
19742
|
-
|
|
19743
|
-
|
|
19744
|
-
|
|
19745
|
-
|
|
20158
|
+
if (!domainInstance) {
|
|
20159
|
+
new Domain( function onReady(err, _domainInstance) {
|
|
20160
|
+
if (err) {
|
|
20161
|
+
throw err
|
|
20162
|
+
}
|
|
19746
20163
|
|
|
19747
|
-
|
|
19748
|
-
|
|
20164
|
+
domainInstance = _domainInstance;
|
|
20165
|
+
});
|
|
20166
|
+
}
|
|
19749
20167
|
|
|
19750
20168
|
return init(options)
|
|
19751
20169
|
}
|
|
@@ -21528,13 +21946,15 @@ define('gina/popin', [ 'require', 'vendor/uuid', 'jquery', 'lib/domain', 'lib/me
|
|
|
21528
21946
|
popinGetContainer()
|
|
21529
21947
|
}
|
|
21530
21948
|
|
|
21531
|
-
|
|
21532
|
-
|
|
21533
|
-
|
|
21534
|
-
|
|
21949
|
+
if (!domainInstance) {
|
|
21950
|
+
new Domain( function onReady(err, _domainInstance) {
|
|
21951
|
+
if (err) {
|
|
21952
|
+
throw err
|
|
21953
|
+
}
|
|
21535
21954
|
|
|
21536
|
-
|
|
21537
|
-
|
|
21955
|
+
domainInstance = _domainInstance;
|
|
21956
|
+
});
|
|
21957
|
+
}
|
|
21538
21958
|
|
|
21539
21959
|
return init(options)
|
|
21540
21960
|
}
|
|
@@ -21654,7 +22074,7 @@ define("utils/polyfill", function(){});
|
|
|
21654
22074
|
|
|
21655
22075
|
/**
|
|
21656
22076
|
* This file is part of the gina package.
|
|
21657
|
-
* Copyright (c) 2009-
|
|
22077
|
+
* Copyright (c) 2009-2025 Rhinostone <contact@gina.io>
|
|
21658
22078
|
*
|
|
21659
22079
|
* For the full copyright and license information, please view the LICENSE
|
|
21660
22080
|
* file that was distributed with this source code.
|