gina 0.1.6-alpha.12 → 0.1.6-alpha.121
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 +4 -4
- package/bin/cli +16 -2
- package/bin/gina +29 -1
- package/framework/{v0.1.6-alpha.12/lib/inherits → v0.1.6-alpha.121}/LICENSE +1 -1
- package/framework/v0.1.6-alpha.121/VERSION +1 -0
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/asset/plugin/README.md +1 -0
- package/framework/v0.1.6-alpha.121/core/asset/plugin/dist/vendor/gina/css/gina.min.css.map +1 -0
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/asset/plugin/dist/vendor/gina/html/toolbar.html +1 -1
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/asset/plugin/dist/vendor/gina/js/gina.js +619 -233
- package/framework/v0.1.6-alpha.121/core/asset/plugin/dist/vendor/gina/js/gina.min.js +778 -0
- package/framework/v0.1.6-alpha.121/core/asset/plugin/dist/vendor/gina/js/gina.min.js.map +8 -0
- package/framework/v0.1.6-alpha.121/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +8 -0
- package/framework/v0.1.6-alpha.121/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.map +8 -0
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/config.js +157 -74
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/connectors/couchbase/index.js +108 -26
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/connectors/couchbase/lib/connector.v4.js +124 -22
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/controller/controller.js +683 -163
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/controller/index.js +2 -2
- package/framework/v0.1.6-alpha.121/core/deps/busboy-1.6.0/.github/workflows/ci.yml +24 -0
- package/framework/v0.1.6-alpha.121/core/deps/busboy-1.6.0/.github/workflows/lint.yml +23 -0
- package/framework/v0.1.6-alpha.121/core/deps/busboy-1.6.0/README.md +191 -0
- package/framework/v0.1.6-alpha.121/core/deps/busboy-1.6.0/bench/bench-multipart-fields-100mb-big.js +149 -0
- package/framework/v0.1.6-alpha.121/core/deps/busboy-1.6.0/bench/bench-multipart-fields-100mb-small.js +143 -0
- package/framework/v0.1.6-alpha.121/core/deps/busboy-1.6.0/bench/bench-multipart-files-100mb-big.js +154 -0
- package/framework/v0.1.6-alpha.121/core/deps/busboy-1.6.0/bench/bench-multipart-files-100mb-small.js +148 -0
- package/framework/v0.1.6-alpha.121/core/deps/busboy-1.6.0/bench/bench-urlencoded-fields-100pairs-small.js +101 -0
- package/framework/v0.1.6-alpha.121/core/deps/busboy-1.6.0/bench/bench-urlencoded-fields-900pairs-small-alt.js +84 -0
- package/framework/v0.1.6-alpha.121/core/deps/busboy-1.6.0/lib/index.js +57 -0
- package/framework/v0.1.6-alpha.121/core/deps/busboy-1.6.0/lib/types/multipart.js +680 -0
- package/framework/v0.1.6-alpha.121/core/deps/busboy-1.6.0/lib/types/urlencoded.js +350 -0
- package/framework/v0.1.6-alpha.121/core/deps/busboy-1.6.0/lib/utils.js +596 -0
- package/framework/v0.1.6-alpha.121/core/deps/busboy-1.6.0/package.json +22 -0
- package/framework/v0.1.6-alpha.121/core/deps/optimist-0.6.1/.travis.yml +4 -0
- package/framework/v0.1.6-alpha.121/core/deps/optimist-0.6.1/LICENSE +21 -0
- package/framework/v0.1.6-alpha.121/core/deps/optimist-0.6.1/example/bool.js +10 -0
- package/framework/v0.1.6-alpha.121/core/deps/optimist-0.6.1/example/boolean_double.js +7 -0
- package/framework/v0.1.6-alpha.121/core/deps/optimist-0.6.1/example/boolean_single.js +7 -0
- package/framework/v0.1.6-alpha.121/core/deps/optimist-0.6.1/example/default_hash.js +8 -0
- package/framework/v0.1.6-alpha.121/core/deps/optimist-0.6.1/example/default_singles.js +7 -0
- package/framework/v0.1.6-alpha.121/core/deps/optimist-0.6.1/example/divide.js +8 -0
- package/framework/v0.1.6-alpha.121/core/deps/optimist-0.6.1/example/line_count.js +20 -0
- package/framework/v0.1.6-alpha.121/core/deps/optimist-0.6.1/example/line_count_options.js +29 -0
- package/framework/v0.1.6-alpha.121/core/deps/optimist-0.6.1/example/line_count_wrap.js +29 -0
- package/framework/v0.1.6-alpha.121/core/deps/optimist-0.6.1/example/nonopt.js +4 -0
- package/framework/v0.1.6-alpha.121/core/deps/optimist-0.6.1/example/reflect.js +2 -0
- package/framework/v0.1.6-alpha.121/core/deps/optimist-0.6.1/example/short.js +3 -0
- package/framework/v0.1.6-alpha.121/core/deps/optimist-0.6.1/example/string.js +11 -0
- package/framework/v0.1.6-alpha.121/core/deps/optimist-0.6.1/example/usage-options.js +19 -0
- package/framework/v0.1.6-alpha.121/core/deps/optimist-0.6.1/example/xup.js +10 -0
- package/framework/v0.1.6-alpha.121/core/deps/optimist-0.6.1/index.js +343 -0
- package/framework/v0.1.6-alpha.121/core/deps/optimist-0.6.1/package.json +31 -0
- package/framework/v0.1.6-alpha.121/core/deps/optimist-0.6.1/package.json.dist +39 -0
- package/framework/v0.1.6-alpha.121/core/deps/optimist-0.6.1/readme.markdown +513 -0
- package/framework/v0.1.6-alpha.121/core/deps/swig-1.4.2/HISTORY.md +498 -0
- package/framework/v0.1.6-alpha.121/core/deps/swig-1.4.2/LICENSE +7 -0
- package/framework/v0.1.6-alpha.121/core/deps/swig-1.4.2/README.md +88 -0
- package/framework/v0.1.6-alpha.121/core/deps/swig-1.4.2/bin/swig.js +161 -0
- package/framework/v0.1.6-alpha.121/core/deps/swig-1.4.2/bin/swig.js.dist +161 -0
- package/framework/v0.1.6-alpha.121/core/deps/swig-1.4.2/dist/swig.min.js +7 -0
- package/framework/v0.1.6-alpha.121/core/deps/swig-1.4.2/dist/swig.min.js.map +8 -0
- package/framework/v0.1.6-alpha.121/core/deps/swig-1.4.2/index.js +1 -0
- package/framework/v0.1.6-alpha.121/core/deps/swig-1.4.2/lib/dateformatter.js +198 -0
- package/framework/v0.1.6-alpha.121/core/deps/swig-1.4.2/lib/filters.js +630 -0
- package/framework/v0.1.6-alpha.121/core/deps/swig-1.4.2/lib/lexer.js +306 -0
- package/framework/v0.1.6-alpha.121/core/deps/swig-1.4.2/lib/loaders/filesystem.js +59 -0
- package/framework/v0.1.6-alpha.121/core/deps/swig-1.4.2/lib/loaders/index.js +53 -0
- package/framework/v0.1.6-alpha.121/core/deps/swig-1.4.2/lib/loaders/memory.js +63 -0
- package/framework/v0.1.6-alpha.121/core/deps/swig-1.4.2/lib/parser.js +744 -0
- package/framework/v0.1.6-alpha.121/core/deps/swig-1.4.2/lib/swig.js +740 -0
- package/framework/v0.1.6-alpha.121/core/deps/swig-1.4.2/lib/tags/autoescape.js +37 -0
- package/framework/v0.1.6-alpha.121/core/deps/swig-1.4.2/lib/tags/block.js +25 -0
- package/framework/v0.1.6-alpha.121/core/deps/swig-1.4.2/lib/tags/else.js +25 -0
- package/framework/v0.1.6-alpha.121/core/deps/swig-1.4.2/lib/tags/elseif.js +28 -0
- package/framework/v0.1.6-alpha.121/core/deps/swig-1.4.2/lib/tags/extends.js +19 -0
- package/framework/v0.1.6-alpha.121/core/deps/swig-1.4.2/lib/tags/filter.js +68 -0
- package/framework/v0.1.6-alpha.121/core/deps/swig-1.4.2/lib/tags/for.js +130 -0
- package/framework/v0.1.6-alpha.121/core/deps/swig-1.4.2/lib/tags/if.js +86 -0
- package/framework/v0.1.6-alpha.121/core/deps/swig-1.4.2/lib/tags/import.js +91 -0
- package/framework/v0.1.6-alpha.121/core/deps/swig-1.4.2/lib/tags/include.js +100 -0
- package/framework/v0.1.6-alpha.121/core/deps/swig-1.4.2/lib/tags/index.js +16 -0
- package/framework/v0.1.6-alpha.121/core/deps/swig-1.4.2/lib/tags/macro.js +79 -0
- package/framework/v0.1.6-alpha.121/core/deps/swig-1.4.2/lib/tags/parent.js +51 -0
- package/framework/v0.1.6-alpha.121/core/deps/swig-1.4.2/lib/tags/raw.js +23 -0
- package/framework/v0.1.6-alpha.121/core/deps/swig-1.4.2/lib/tags/set.js +109 -0
- package/framework/v0.1.6-alpha.121/core/deps/swig-1.4.2/lib/tags/spaceless.js +42 -0
- package/framework/v0.1.6-alpha.121/core/deps/swig-1.4.2/lib/utils.js +184 -0
- package/framework/v0.1.6-alpha.121/core/deps/swig-1.4.2/package.json +57 -0
- package/framework/v0.1.6-alpha.121/core/deps/swig-1.4.2/package.json.dist +61 -0
- package/framework/v0.1.6-alpha.121/core/deps/swig-client/swig.js +5031 -0
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/dev/index.js +1 -1
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/dev/lib/factory.js +1 -1
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/gna.js +104 -22
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/locales/index.js +3 -3
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/locales/src/make.js +1 -1
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/mime.types +1 -0
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/model/entity.js +5 -5
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/model/index.js +30 -26
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/model/template/entityFactory.js +1 -1
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/model/template/index.js +1 -1
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/plugins/index.js +3 -3
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/plugins/lib/file/package.json +2 -2
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/plugins/lib/intl/package.json +2 -2
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/plugins/lib/storage/package.json +2 -2
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/plugins/lib/validator/package.json +2 -2
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/plugins/lib/validator/src/form-validator.js +39 -27
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/plugins/lib/validator/src/main.js +390 -101
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/router.js +92 -47
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/server.isaac.js +91 -10
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/server.js +317 -130
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/status.codes +1 -11
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/template/boilerplate/bundle/controllers/setup.js +2 -2
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/template/command/gina.tpl +1 -1
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/template/conf/env.json +19 -0
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/template/conf/templates.json +4 -2
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/helpers/console.js +1 -1
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/helpers/context.js +29 -12
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/helpers/data/package.json +2 -2
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/helpers/data/src/main.js +1 -1
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/helpers/dateFormat.js +1 -1
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/helpers/index.js +1 -1
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/helpers/json/package.json +2 -2
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/helpers/json/src/main.js +6 -4
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/helpers/path.js +31 -15
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/helpers/plugins/package.json +2 -2
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/helpers/plugins/src/api-error.js +2 -2
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/helpers/plugins/src/main.js +1 -1
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/helpers/task.js +2 -2
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/helpers/text.js +1 -1
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/archiver/package.json +2 -2
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/archiver/src/main.js +11 -11
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/bundle/add.js +2 -1
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/bundle/start.js +21 -8
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/env/get.js +1 -1
- package/framework/v0.1.6-alpha.121/lib/cmd/env/help.js +30 -0
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/framework/build.js +1 -1
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/framework/dot.js +21 -0
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/framework/init.js +18 -0
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/framework/link-node-modules.js +2 -3
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/framework/link.js +1 -0
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/framework/tail.js +28 -11
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/framework/version.js +15 -1
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/helper.js +6 -2
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/index.js +1 -1
- package/framework/v0.1.6-alpha.121/lib/cmd/minion/help.txt +18 -0
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/project/add.js +3 -2
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/project/build.js +4 -4
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/project/list.js +1 -1
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/protocol/list.js +71 -50
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/collection/package.json +2 -2
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/collection/src/main.js +20 -14
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/config.js +1 -1
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cron/package.json +2 -2
- package/framework/v0.1.6-alpha.121/lib/domain/dist/2025-03-14_13-41-20_UTC.dat +15754 -0
- package/framework/v0.1.6-alpha.121/lib/domain/dist/public_suffix_list.dat +15754 -0
- package/framework/v0.1.6-alpha.121/lib/domain/exemples/backend.js +12 -0
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/domain/package.json +2 -2
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/domain/src/main.js +20 -6
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/generator/index.js +1 -1
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/index.js +1 -1
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121/lib/inherits}/LICENSE +1 -1
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/inherits/package.json +2 -2
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/inherits/src/main.js +1 -1
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/logger/package.json +2 -2
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/logger/src/containers/mq/listener.js +10 -2
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/logger/src/helper.js +1 -1
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/logger/src/main.js +1 -1
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/math/index.js +1 -1
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/merge/package.json +2 -2
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/model.js +3 -3
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/proc.js +10 -2
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/routing/package.json +2 -2
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/routing/src/main.js +72 -25
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/session-store.js +3 -3
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/swig-filters/package.json +2 -2
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/swig-filters/src/main.js +70 -15
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/validator.js +2 -2
- package/framework/v0.1.6-alpha.121/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.12/VERSION +0 -1
- package/framework/v0.1.6-alpha.12/core/asset/plugin/dist/vendor/gina/css/gina.min.css.map +0 -1
- package/framework/v0.1.6-alpha.12/core/asset/plugin/dist/vendor/gina/js/gina.min.js +0 -766
- package/framework/v0.1.6-alpha.12/core/asset/plugin/dist/vendor/gina/js/gina.min.js.map +0 -8
- package/framework/v0.1.6-alpha.12/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +0 -7
- package/framework/v0.1.6-alpha.12/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.map +0 -8
- package/framework/v0.1.6-alpha.12/core/deps/busboy/.travis.yml +0 -17
- package/framework/v0.1.6-alpha.12/core/deps/busboy/README.md +0 -225
- package/framework/v0.1.6-alpha.12/core/deps/busboy/deps/encoding/encoding-indexes.js +0 -73
- package/framework/v0.1.6-alpha.12/core/deps/busboy/deps/encoding/encoding.js +0 -2391
- package/framework/v0.1.6-alpha.12/core/deps/busboy/lib/main.js +0 -89
- package/framework/v0.1.6-alpha.12/core/deps/busboy/lib/types/multipart.js +0 -328
- package/framework/v0.1.6-alpha.12/core/deps/busboy/lib/types/urlencoded.js +0 -214
- package/framework/v0.1.6-alpha.12/core/deps/busboy/lib/utils.js +0 -191
- package/framework/v0.1.6-alpha.12/core/deps/busboy/package.json +0 -69
- package/framework/v0.1.6-alpha.12/lib/domain/dist/public_suffix_list.dat +0 -14186
- package/framework/v0.1.6-alpha.12/lib/domain/exemples/backend.js +0 -0
- package/framework/v0.1.6-alpha.12/package.json +0 -14
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/AUTHORS +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/asset/html/nolayout.html +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/asset/html/static.html +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/asset/img/android-chrome-192x192.png +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/asset/img/android-chrome-512x512.png +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/asset/img/apple-touch-icon.png +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/asset/img/favicon-16x16.png +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/asset/img/favicon-32x32.png +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/asset/img/favicon.ico +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/asset/plugin/dist/vendor/gina/css/gina.min.css +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/asset/plugin/uuid.json +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/connectors/couchbase/lib/connector.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/connectors/couchbase/lib/connector.v2.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/connectors/couchbase/lib/connector.v3.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/connectors/couchbase/lib/n1ql.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/connectors/couchbase/lib/session-store.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/connectors/couchbase/lib/session-store.v2.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/connectors/couchbase/lib/session-store.v3.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/connectors/couchbase/lib/session-store.v4.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/controller/controller.framework.js +0 -0
- /package/framework/{v0.1.6-alpha.12/core/deps/busboy → v0.1.6-alpha.121/core/deps/busboy-1.6.0}/LICENSE +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/deps/swig-client/swig-2.0.0.min.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/dev/lib/class.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/dev/lib/tools.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/locales/README.md +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/locales/currency.json +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/locales/dist/language/en.json +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/locales/dist/language/fr.json +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/locales/dist/region/en.json +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/locales/dist/region/fr.json +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/locales/src/resources/currency.csv +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/locales/src/resources/region.csv +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/locales/src/resources/region.mapping.json +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/plugins/README.md +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/plugins/lib/file/README.md +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/plugins/lib/file/build.json +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/plugins/lib/intl/README.md +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/plugins/lib/intl/build.json +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/plugins/lib/intl/src/main.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/plugins/lib/storage/README.md +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/plugins/lib/storage/build.json +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/plugins/lib/storage/src/main.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/plugins/lib/validator/README.md +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/plugins/lib/validator/build.json +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/server.express.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/template/_gitignore +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/template/boilerplate/bundle/config/app.json +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/template/boilerplate/bundle/config/routing.json +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/template/boilerplate/bundle/config/settings.json +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/template/boilerplate/bundle/config/settings.server.json +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/template/boilerplate/bundle/config/templates.json +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/template/boilerplate/bundle/controllers/controller.content.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/template/boilerplate/bundle/controllers/controller.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/template/boilerplate/bundle/index.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/template/boilerplate/bundle_namespace/controllers/controller.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/template/boilerplate/bundle_public/css/default.css +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/template/boilerplate/bundle_public/css/vendor/readme.md +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/template/boilerplate/bundle_public/favicon.ico +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/template/boilerplate/bundle_public/js/vendor/readme.md +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/template/boilerplate/bundle_public/readme.md +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/template/boilerplate/bundle_templates/handlers/main.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/template/boilerplate/bundle_templates/html/content/homepage.html +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/template/boilerplate/bundle_templates/html/includes/error-msg-noscript.html +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/template/boilerplate/bundle_templates/html/includes/error-msg-outdated-browser.html +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/template/boilerplate/bundle_templates/html/layouts/main.html +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/template/command/gina.bat.tpl +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/template/conf/manifest.json +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/template/conf/package.json +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/template/conf/settings.json +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/template/conf/statics.json +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/template/error/client/json/401.json +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/template/error/client/json/403.json +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/template/error/client/json/404.json +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/template/error/server/html/50x.html +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/template/error/server/json/500.json +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/template/error/server/json/503.json +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/core/template/extensions/logger/config.json +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/helpers/data/LICENSE +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/helpers/data/README.md +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/helpers/json/LICENSE +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/helpers/json/README.md +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/helpers/plugins/README.md +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/helpers/prototypes.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/archiver/README.md +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/archiver/build.json +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/archiver/src/dep/jszip.min.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/aliases.json +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/bundle/arguments.json +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/bundle/copy.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/bundle/cp.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/bundle/help.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/bundle/help.txt +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/bundle/list.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/bundle/remove.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/bundle/rename.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/bundle/restart.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/bundle/rm.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/bundle/status.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/bundle/stop.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/env/add.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/env/help.txt +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/env/link-dev.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/env/list.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/env/remove.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/env/rm.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/env/set.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/env/unset.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/env/use.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/framework/get.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/framework/help.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/framework/help.txt +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/framework/msg.json +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/framework/open.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/framework/restart.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/framework/set.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/framework/start.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/framework/status.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/framework/stop.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/framework/update.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/gina-dev.1.md +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/gina-framework.1.md +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/gina.1.md +0 -0
- /package/framework/{v0.1.6-alpha.12/lib/cmd/env → v0.1.6-alpha.121/lib/cmd/minion}/help.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/msg.json +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/port/help.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/port/help.txt +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/port/inc/scan.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/port/list.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/port/reset.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/port/set.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/project/arguments.json +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/project/help.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/project/help.txt +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/project/import.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/project/move.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/project/remove.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/project/rename.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/project/restart.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/project/rm.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/project/start.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/project/status.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/project/stop.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/protocol/help.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/protocol/help.txt +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/protocol/set.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/scope/add.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/scope/help.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/scope/help.txt +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/scope/link-local.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/scope/link-production.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/scope/list.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/scope/remove.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/scope/rm.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/scope/use.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cmd/view/add.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/collection/README.md +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/collection/build.json +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cron/README.md +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/cron/src/main.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/domain/LICENSE +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/domain/README.md +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/domain/exemples/frontend.html +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/inherits/README.md +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/inherits/example/inheriting_eventemitter.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/inherits/example/protected_inheritance.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/inherits/example/simple_inheritance.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/inherits/example/super_attribute_overridden_by_child_on_init.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/logger/README.md +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/logger/src/containers/default/index.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/logger/src/containers/file/index.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/logger/src/containers/file/lib/logrotator/README.md +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/logger/src/containers/file/lib/logrotator/index.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/logger/src/containers/mq/index.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/logger/src/containers/mq/speaker.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/merge/README.md +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/merge/example/merge.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/merge/example/merge_2_literal objects.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/merge/example/merge_and_preserve_first.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/merge/src/main.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/routing/README.md +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/routing/build.json +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/shell.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/swig-filters/README.md +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/url/README.md +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/url/index.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/url/mocks.json +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/url/routing.json +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/lib/url/test.js +0 -0
package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.121}/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,11 +8729,23 @@ 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
|
};
|
|
@@ -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;
|
|
@@ -9689,7 +9762,7 @@ define("utils/effects", function(){});
|
|
|
9689
9762
|
|
|
9690
9763
|
/*
|
|
9691
9764
|
* This file is part of the gina package.
|
|
9692
|
-
* Copyright (c) 2009-
|
|
9765
|
+
* Copyright (c) 2009-2025 Rhinostone <contact@gina.io>
|
|
9693
9766
|
*
|
|
9694
9767
|
* For the full copyright and license information, please view the LICENSE
|
|
9695
9768
|
* file that was distributed with this source code.
|
|
@@ -10002,7 +10075,7 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
10002
10075
|
* @param {object} [ data ] // from request
|
|
10003
10076
|
* @param {string} [ formId ]
|
|
10004
10077
|
* */
|
|
10005
|
-
|
|
10078
|
+
function ValidatorPlugin(rules, data, formId) {
|
|
10006
10079
|
|
|
10007
10080
|
this.plugin = 'validator';
|
|
10008
10081
|
|
|
@@ -10112,6 +10185,7 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
10112
10185
|
'eventData' : {},
|
|
10113
10186
|
'target' : (isGFFCtx) ? document : null, // by default
|
|
10114
10187
|
'cachedErrors' : {},
|
|
10188
|
+
'lastFocused' : (isGFFCtx) ? [] : null,
|
|
10115
10189
|
'binded' : false,
|
|
10116
10190
|
'unbinded' : false,
|
|
10117
10191
|
'withUserBindings' : false,
|
|
@@ -10137,16 +10211,16 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
10137
10211
|
* */
|
|
10138
10212
|
var xhr = null;
|
|
10139
10213
|
var xhrOptions = {
|
|
10140
|
-
'url'
|
|
10141
|
-
'method'
|
|
10142
|
-
'isSynchrone'
|
|
10143
|
-
'withCredentials': false,
|
|
10144
|
-
'
|
|
10214
|
+
'url' : '',
|
|
10215
|
+
'method' : 'GET',
|
|
10216
|
+
'isSynchrone' : false,
|
|
10217
|
+
'withCredentials' : false,
|
|
10218
|
+
'withRateLimit' : true,
|
|
10219
|
+
'headers' : {
|
|
10145
10220
|
// to upload, use `multipart/form-data` for `enctype`
|
|
10146
10221
|
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
|
|
10147
10222
|
// cross domain is enabled by default, but you need to setup `Access-Control-Allow-Origin`
|
|
10148
10223
|
'X-Requested-With': 'XMLHttpRequest' // in case of cross domain origin
|
|
10149
|
-
|
|
10150
10224
|
}
|
|
10151
10225
|
};
|
|
10152
10226
|
|
|
@@ -10213,6 +10287,8 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
10213
10287
|
var setOptions = function (options) {
|
|
10214
10288
|
options = merge(options, xhrOptions);
|
|
10215
10289
|
xhrOptions = options;
|
|
10290
|
+
|
|
10291
|
+
return this;
|
|
10216
10292
|
}
|
|
10217
10293
|
|
|
10218
10294
|
|
|
@@ -10392,22 +10468,34 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
10392
10468
|
}
|
|
10393
10469
|
|
|
10394
10470
|
var refreshWarning = function($el) {
|
|
10395
|
-
var formId = $el.form.getAttribute('id');
|
|
10471
|
+
var formId = $el.form.id || $el.form.getAttribute('id');
|
|
10472
|
+
var elName = $el.name || $el.form.getAttribute('name');
|
|
10473
|
+
var currentElName = document.activeElement.name;
|
|
10396
10474
|
if ( /^true$/i.test(instance.$forms[formId].isValidating) ) {
|
|
10397
10475
|
return;
|
|
10398
10476
|
}
|
|
10399
10477
|
|
|
10400
|
-
var $parent
|
|
10401
|
-
|
|
10478
|
+
var $parent = $el.parentNode
|
|
10479
|
+
, isErrorMessageHidden = false
|
|
10480
|
+
, $children = $parent.getElementsByTagName('div')
|
|
10481
|
+
;
|
|
10402
10482
|
|
|
10403
|
-
if ( /form\-item\-warning/.test($parent.className) ) {
|
|
10483
|
+
if ( /form\-item\-warning/.test($parent.className) && currentElName != elName ) {
|
|
10404
10484
|
$parent.className = $parent.className.replace(/form\-item\-warning/, 'form-item-error');
|
|
10405
10485
|
|
|
10406
|
-
} else if (/form\-item\-error/.test($parent.className) ) {
|
|
10486
|
+
} else if (/form\-item\-error/.test($parent.className) && currentElName == elName ) {
|
|
10407
10487
|
$parent.className = $parent.className.replace(/form\-item\-error/, 'form-item-warning');
|
|
10408
10488
|
isErrorMessageHidden = true;
|
|
10409
10489
|
}
|
|
10410
10490
|
|
|
10491
|
+
// Fixed on 2025-03-16
|
|
10492
|
+
if (
|
|
10493
|
+
/^true$/i.test(instance.$forms[formId].isValidating)
|
|
10494
|
+
&& !isErrorMessageHidden
|
|
10495
|
+
) {
|
|
10496
|
+
return;
|
|
10497
|
+
}
|
|
10498
|
+
|
|
10411
10499
|
|
|
10412
10500
|
for (var c = 0, cLen = $children.length; c<cLen; ++c) {
|
|
10413
10501
|
if ( /form\-item\-error\-message/.test($children[c].className) ) {
|
|
@@ -10429,7 +10517,7 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
10429
10517
|
* @param {object} $form - Target (HTMLFormElement)
|
|
10430
10518
|
* @param {object} errors
|
|
10431
10519
|
* @param {object|null} data
|
|
10432
|
-
* @param {
|
|
10520
|
+
* @param {string|null} [fileName]
|
|
10433
10521
|
*/
|
|
10434
10522
|
var liveCheckErrors = {}; // Per Form & Per Element
|
|
10435
10523
|
var handleErrorsDisplay = function($form, errors, data, fieldName) {
|
|
@@ -10460,7 +10548,7 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
10460
10548
|
if ( typeof(liveCheckErrors[formId]) == 'undefined') {
|
|
10461
10549
|
liveCheckErrors[formId] = {};
|
|
10462
10550
|
}
|
|
10463
|
-
if (errors.count() > 0) {
|
|
10551
|
+
if (errors && errors.count() > 0) {
|
|
10464
10552
|
// reset field name
|
|
10465
10553
|
liveCheckErrors[formId][fieldName] = {};
|
|
10466
10554
|
// override
|
|
@@ -10470,8 +10558,29 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
10470
10558
|
}
|
|
10471
10559
|
errors = liveCheckErrors[formId];
|
|
10472
10560
|
// only if the form has not been sent yet
|
|
10473
|
-
if (
|
|
10561
|
+
if (
|
|
10562
|
+
!instance.$forms[formId].sent
|
|
10563
|
+
||
|
|
10564
|
+
instance.$forms[formId].isValidating
|
|
10565
|
+
) {
|
|
10474
10566
|
isWarning = true;
|
|
10567
|
+
// Fixed on 2025-03-16
|
|
10568
|
+
var lastFocused = instance.$forms[formId].lastFocused;
|
|
10569
|
+
// console.debug('fieldName: '+ fieldName + '\nactiveElement: '+ document.activeElement.getAttribute('name') +'\nlastFocused: ', lastFocused);
|
|
10570
|
+
if (
|
|
10571
|
+
lastFocused.length > 0
|
|
10572
|
+
&& typeof(lastFocused[1]) != 'undefined'
|
|
10573
|
+
&& lastFocused[1].name == fieldName
|
|
10574
|
+
||
|
|
10575
|
+
lastFocused.length > 0
|
|
10576
|
+
&& !lastFocused[1]
|
|
10577
|
+
&& document.activeElement.getAttribute('name') != lastFocused[0].name
|
|
10578
|
+
||
|
|
10579
|
+
document.activeElement.getAttribute('name') != fieldName
|
|
10580
|
+
) {
|
|
10581
|
+
isWarning = false;
|
|
10582
|
+
}
|
|
10583
|
+
// console.debug('isWarning: '+isWarning);
|
|
10475
10584
|
}
|
|
10476
10585
|
} else {
|
|
10477
10586
|
if ( typeof(liveCheckErrors[formId][fieldName]) != 'undefined') {
|
|
@@ -10535,7 +10644,11 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
10535
10644
|
|
|
10536
10645
|
if (!name) continue;
|
|
10537
10646
|
|
|
10538
|
-
if (
|
|
10647
|
+
if (
|
|
10648
|
+
errors
|
|
10649
|
+
&& typeof(errors[name]) != 'undefined'
|
|
10650
|
+
&& !/(form\-item\-error|form\-item\-warning)/.test($parent.className)
|
|
10651
|
+
) {
|
|
10539
10652
|
|
|
10540
10653
|
if (isWarning) {
|
|
10541
10654
|
// adding warning class
|
|
@@ -10576,7 +10689,24 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
10576
10689
|
|
|
10577
10690
|
|
|
10578
10691
|
|
|
10579
|
-
} else if (
|
|
10692
|
+
} else if (
|
|
10693
|
+
errors
|
|
10694
|
+
&& typeof(errors[name]) == 'undefined'
|
|
10695
|
+
&& /(form\-item\-error|form\-item\-warning)/.test($parent.className)
|
|
10696
|
+
||
|
|
10697
|
+
errors
|
|
10698
|
+
&& typeof(errors[name]) != 'undefined' && errors[name].count() == 0
|
|
10699
|
+
&& /(form\-item\-error|form\-item\-warning)/.test($parent.className)
|
|
10700
|
+
) {
|
|
10701
|
+
// Fixed on 2025-03-10
|
|
10702
|
+
// targeted field must be the active element
|
|
10703
|
+
// if (
|
|
10704
|
+
// document.activeElement.getAttribute('name') != fieldName
|
|
10705
|
+
// && errors.count() > 0
|
|
10706
|
+
// ) {
|
|
10707
|
+
// break
|
|
10708
|
+
// }
|
|
10709
|
+
console.debug('[handleErrorsDisplay] Resetting when not in error');
|
|
10580
10710
|
// reset when not in error
|
|
10581
10711
|
// remove child elements
|
|
10582
10712
|
var $children = $parent.getElementsByTagName('div');
|
|
@@ -10590,16 +10720,34 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
10590
10720
|
|
|
10591
10721
|
$parent.className = $parent.className.replace(/(\s+form\-item\-error|form\-item\-error|\s+form\-item\-warning|form\-item\-warning)/, '');
|
|
10592
10722
|
|
|
10593
|
-
} else if (
|
|
10723
|
+
} else if (
|
|
10724
|
+
errors.count() > 0
|
|
10725
|
+
&& typeof(errors[name]) != 'undefined'
|
|
10726
|
+
&& errAttr
|
|
10727
|
+
) {
|
|
10594
10728
|
// refreshing already displayed error on msg update
|
|
10595
10729
|
var $divs = $parent.getElementsByTagName('div');
|
|
10596
10730
|
for (var d = 0, dLen = $divs.length; d<dLen; ++d) {
|
|
10597
|
-
|
|
10731
|
+
// Fixed on 2025-03-05: className can have more than one !!
|
|
10732
|
+
let foundMessage = $divs[d].className.match("form-item-error-message");
|
|
10733
|
+
if (
|
|
10734
|
+
foundMessage
|
|
10735
|
+
&& typeof(foundMessage.length) != 'undefined'
|
|
10736
|
+
&& foundMessage.length > 0
|
|
10737
|
+
) {
|
|
10598
10738
|
|
|
10599
10739
|
$divs[d].parentElement.removeChild($divs[d]);
|
|
10600
10740
|
$err = document.createElement('div');
|
|
10601
10741
|
$err.setAttribute('class', 'form-item-error-message');
|
|
10602
10742
|
|
|
10743
|
+
// Fixed on 2025-03-09: className cleanup
|
|
10744
|
+
if (
|
|
10745
|
+
!isWarning
|
|
10746
|
+
&& /(\s+form\-item\-warning|form\-item\-warning)/.test($parent.className)
|
|
10747
|
+
) {
|
|
10748
|
+
$parent.className = $parent.className.replace(/(\s+form\-item\-warning|form\-item\-warning)/, ' form-item-error');
|
|
10749
|
+
}
|
|
10750
|
+
|
|
10603
10751
|
// injecting error messages
|
|
10604
10752
|
// {
|
|
10605
10753
|
// field: {
|
|
@@ -10624,12 +10772,17 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
10624
10772
|
}
|
|
10625
10773
|
}
|
|
10626
10774
|
|
|
10627
|
-
if ($err && $target.type != 'hidden')
|
|
10775
|
+
if ($err && $target.type != 'hidden') {
|
|
10628
10776
|
insertAfter($target, $err);
|
|
10629
|
-
|
|
10777
|
+
}
|
|
10630
10778
|
}
|
|
10631
10779
|
|
|
10632
|
-
if (
|
|
10780
|
+
if (
|
|
10781
|
+
typeof(fieldName) != 'undefined'
|
|
10782
|
+
&& fieldName === $el.name
|
|
10783
|
+
) {
|
|
10784
|
+
break;
|
|
10785
|
+
}
|
|
10633
10786
|
}
|
|
10634
10787
|
|
|
10635
10788
|
|
|
@@ -10824,7 +10977,7 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
10824
10977
|
*
|
|
10825
10978
|
*
|
|
10826
10979
|
* @param {object} data - FormData object (https://developer.mozilla.org/en-US/docs/Web/API/FormData/Using_FormData_Objects)
|
|
10827
|
-
* @param {object} [ options ] : { isSynchrone:
|
|
10980
|
+
* @param {object} [ options ] : { isSynchrone: false, withCredentials: true, withRateLimit: true }
|
|
10828
10981
|
* */
|
|
10829
10982
|
var send = function(data, options) {
|
|
10830
10983
|
|
|
@@ -10836,19 +10989,28 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
10836
10989
|
var isAttachment = null; // handle download
|
|
10837
10990
|
var hFormIsRequired = null;
|
|
10838
10991
|
|
|
10992
|
+
options = (typeof (options) != 'undefined') ? merge(options, xhrOptions) : xhrOptions;
|
|
10993
|
+
|
|
10994
|
+
// Rate Limit to one request at the time
|
|
10995
|
+
// Attention: this should be an option
|
|
10996
|
+
// the request needs to be completed before another can be made
|
|
10997
|
+
// TODO - Check same url
|
|
10839
10998
|
if (
|
|
10840
|
-
|
|
10999
|
+
/^true$/i.test(options.withRateLimit)
|
|
11000
|
+
&& typeof($form.isSending) != 'undefined'
|
|
10841
11001
|
&& /^true$/i.test($form.isSending)
|
|
10842
11002
|
||
|
|
10843
|
-
|
|
11003
|
+
/^true$/i.test(options.withRateLimit)
|
|
11004
|
+
&& typeof($form.sent) != 'undefined'
|
|
10844
11005
|
&& /^true$/i.test($form.sent)
|
|
10845
11006
|
) {
|
|
10846
11007
|
return;
|
|
10847
11008
|
}
|
|
11009
|
+
|
|
10848
11010
|
instance.$forms[id].isSending = true;
|
|
10849
11011
|
|
|
10850
11012
|
|
|
10851
|
-
|
|
11013
|
+
|
|
10852
11014
|
// `x-gina-form`definition
|
|
10853
11015
|
//options.headers['X-Gina-Form-Location'] = gina.config.bundle;
|
|
10854
11016
|
if ( typeof($form.id) != 'undefined' ) {
|
|
@@ -10958,14 +11120,15 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
10958
11120
|
$form.isSending = false;
|
|
10959
11121
|
|
|
10960
11122
|
// limit send trigger to 1 sec to prevent from double clicks
|
|
10961
|
-
setTimeout( function onSent() {
|
|
10962
|
-
|
|
10963
|
-
}, 1000);
|
|
11123
|
+
// setTimeout( function onSent() {
|
|
11124
|
+
// $form.sent = false;
|
|
11125
|
+
// }, 1000); // 1000
|
|
10964
11126
|
|
|
10965
11127
|
// In case the user is also redirecting
|
|
10966
11128
|
var redirectDelay = (/Google Inc/i.test(navigator.vendor)) ? 50 : 0;
|
|
10967
11129
|
|
|
10968
|
-
|
|
11130
|
+
// responseType interception
|
|
11131
|
+
if (xhr.readyState == 2) {
|
|
10969
11132
|
isAttachment = ( /^attachment\;/.test( xhr.getResponseHeader("Content-Disposition") ) ) ? true : false;
|
|
10970
11133
|
// force blob response type
|
|
10971
11134
|
if ( !xhr.responseType && isAttachment ) {
|
|
@@ -10999,7 +11162,7 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
10999
11162
|
var url = window.URL.createObjectURL(blob);
|
|
11000
11163
|
a.href = url;
|
|
11001
11164
|
var contentDisposition = xhr.getResponseHeader("Content-Disposition");
|
|
11002
|
-
a.download = contentDisposition.match('\=(.*)')[0].
|
|
11165
|
+
a.download = contentDisposition.match('\=(.*)')[0].substring(1);
|
|
11003
11166
|
//programatically click the link to trigger the download
|
|
11004
11167
|
a.click();
|
|
11005
11168
|
|
|
@@ -11018,7 +11181,9 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
11018
11181
|
size : blob.size
|
|
11019
11182
|
}
|
|
11020
11183
|
|
|
11021
|
-
}
|
|
11184
|
+
}
|
|
11185
|
+
// normal case
|
|
11186
|
+
else {
|
|
11022
11187
|
result = xhr.responseText;
|
|
11023
11188
|
}
|
|
11024
11189
|
|
|
@@ -11027,9 +11192,14 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
11027
11192
|
if ( /\/json/.test( contentType ) ) {
|
|
11028
11193
|
result = JSON.parse(xhr.responseText);
|
|
11029
11194
|
|
|
11030
|
-
if ( typeof(result.status) == 'undefined' )
|
|
11195
|
+
if ( typeof(result.status) == 'undefined' ) {
|
|
11031
11196
|
result.status = xhr.status;
|
|
11032
|
-
|
|
11197
|
+
}
|
|
11198
|
+
// Fixed on 2025-03-13 Allowing toolbar to ubdate after xhr results
|
|
11199
|
+
// TODO - Allowing to revert to previously loaded data via a close button
|
|
11200
|
+
if (gina && envIsDev && typeof(window.ginaToolbar) && typeof(result) != 'undefined') {
|
|
11201
|
+
window.ginaToolbar.update('data-xhr', result);
|
|
11202
|
+
}
|
|
11033
11203
|
}
|
|
11034
11204
|
|
|
11035
11205
|
if ( /\/html/.test( contentType ) ) {
|
|
@@ -11260,6 +11430,13 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
11260
11430
|
// } else { // external - need to remove `X-Requested-With` from `options.headers`
|
|
11261
11431
|
result.location = (!/^http/.test(result.location) && !/^\//.test(result.location) ) ? location.protocol +'//' + result.location : result.location;
|
|
11262
11432
|
//}
|
|
11433
|
+
// isProxyHost ?
|
|
11434
|
+
if (
|
|
11435
|
+
result.location.replace(/^http(.*)\:\d+/, '$1').replace(/^\:\/\//, '').split(/\//g)[0] == gina.config.hostname
|
|
11436
|
+
&& gina.config.hostname == window.location.host
|
|
11437
|
+
) {
|
|
11438
|
+
result.location = location.protocol + result.location.replace(/^http(.*)\:\d+/, '$1').replace(/^\:/, '')
|
|
11439
|
+
}
|
|
11263
11440
|
|
|
11264
11441
|
return setTimeout(() => {
|
|
11265
11442
|
window.location.href = result.location;
|
|
@@ -11889,7 +12066,7 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
11889
12066
|
filesToBeRemoved.push(childNodeFilePreview);
|
|
11890
12067
|
}
|
|
11891
12068
|
} else {
|
|
11892
|
-
let file = childNodes[i].src.
|
|
12069
|
+
let file = childNodes[i].src.substring(childNodes[i].src.lastIndexOf('/')+1);
|
|
11893
12070
|
childNodeFile = file;
|
|
11894
12071
|
filesToBeRemoved.push(childNodeFile);
|
|
11895
12072
|
}
|
|
@@ -12325,7 +12502,7 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
12325
12502
|
for (let m = 0, mLen = mergingRules.length; m < mLen; m++) {
|
|
12326
12503
|
if ( re.test(mergingRules[m]) ) {
|
|
12327
12504
|
let tmpStr = JSON.stringify(rule);
|
|
12328
|
-
tmpStr = tmpStr.
|
|
12505
|
+
tmpStr = tmpStr.substring(1, tmpStr.length-1);// removing ->{ ... }<-
|
|
12329
12506
|
// is last ?
|
|
12330
12507
|
if (m < mLen-1) {
|
|
12331
12508
|
tmpStr += ','
|
|
@@ -13110,7 +13287,6 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
13110
13287
|
} else {
|
|
13111
13288
|
handleErrorsDisplay(event.target.form, errors, null, event.target.name);
|
|
13112
13289
|
}
|
|
13113
|
-
//return cancelEvent(event);
|
|
13114
13290
|
}
|
|
13115
13291
|
|
|
13116
13292
|
|
|
@@ -13120,7 +13296,7 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
13120
13296
|
|
|
13121
13297
|
instance.$forms[event.target.form.getAttribute('id')].isValidating = true;
|
|
13122
13298
|
validate(event.target, localField, $localField, $form.rules, function onLiveValidation(result){
|
|
13123
|
-
instance.$forms[event.target.form.getAttribute('id')].isValidating = false;
|
|
13299
|
+
// instance.$forms[event.target.form.getAttribute('id')].isValidating = false;
|
|
13124
13300
|
//console.debug('validation on processEvent(...) ', result);
|
|
13125
13301
|
|
|
13126
13302
|
var isFormValid = result.isValid();
|
|
@@ -13146,8 +13322,10 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
13146
13322
|
instance.$forms[formId].isValidating = true;
|
|
13147
13323
|
validate($gForm, gFields, $gFields, gRules, function onSilentGlobalLiveValidation(gResult){
|
|
13148
13324
|
instance.$forms[formId].isValidating = false;
|
|
13149
|
-
console.debug('['+ formId +'] onSilentGlobalLiveValidation: '+ gResult.isValid(), gResult);
|
|
13325
|
+
console.debug('['+ formId +'] onSilentGlobalLiveValidation: '+ gResult.isValid(), gResult, gFields);
|
|
13326
|
+
// var isFormValid = ( gResult.isValid() && instance.$forms[formId].errors && instance.$forms[formId].errors.count() == 0 )? true : false;
|
|
13150
13327
|
var isFormValid = gResult.isValid();
|
|
13328
|
+
// var isFormValid = gResult.isValid();
|
|
13151
13329
|
if ( envIsDev && isGFFCtx && typeof(window.ginaToolbar) != 'undefined' && window.ginaToolbar ) {
|
|
13152
13330
|
// update toolbar
|
|
13153
13331
|
if (!gina.forms.errors)
|
|
@@ -13162,6 +13340,27 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
13162
13340
|
}
|
|
13163
13341
|
|
|
13164
13342
|
|
|
13343
|
+
if ( !isFormValid && gResult.error ) {
|
|
13344
|
+
// Fixed on 2025-03-16 - we need past and live errors
|
|
13345
|
+
instance.$forms[ $el.form.getAttribute('id') ].errors = merge(result.error, gResult.error);
|
|
13346
|
+
// Fixed on 2025-03-16
|
|
13347
|
+
for (let eField in gResult.error) {
|
|
13348
|
+
refreshWarning($gFields[eField]);
|
|
13349
|
+
handleErrorsDisplay($gForm, gResult.error, gResult.data, eField);
|
|
13350
|
+
}
|
|
13351
|
+
}
|
|
13352
|
+
// Fixed on 2025-03-16
|
|
13353
|
+
// Eg.: input select change impacting another element: solve `no more errors`
|
|
13354
|
+
else if ( instance.$forms[formId].errors && !instance.$forms[formId].errors.count() ) {
|
|
13355
|
+
// recheck if valid
|
|
13356
|
+
//resetting error display
|
|
13357
|
+
instance.$forms[ formId ].errors = {};
|
|
13358
|
+
console.debug('resetting field: '+ $el.name);
|
|
13359
|
+
liveCheckErrors[formId] = {};
|
|
13360
|
+
// $form.dataset.ginaFormIsResetting = true;
|
|
13361
|
+
handleErrorsDisplay($gForm, {}, null, $el.name);
|
|
13362
|
+
}
|
|
13363
|
+
|
|
13165
13364
|
updateSubmitTriggerState( $gForm, isFormValid);
|
|
13166
13365
|
|
|
13167
13366
|
once = false;
|
|
@@ -13195,13 +13394,16 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
13195
13394
|
// other inputs & textareas
|
|
13196
13395
|
else if ( /^focusin\./i.test(event.type) ) {
|
|
13197
13396
|
if ( /\-error/.test($el.parentNode.className) ) {
|
|
13198
|
-
console.debug('#1 you just focusin ....'+$el.id, $el.value);
|
|
13397
|
+
console.debug('#1 you just focusin ....'+$el.id, $el.value, instance.$forms[ $el.form.getAttribute('id') ].isValidating);
|
|
13199
13398
|
refreshWarning($el);
|
|
13200
13399
|
}
|
|
13201
13400
|
}
|
|
13202
13401
|
else if ( /^focusout\./i.test(event.type) ) {
|
|
13203
13402
|
if ( /\-warning/.test($el.parentNode.className) ) {
|
|
13204
13403
|
console.debug('#1 you just focusout ....'+$el.id, $el.value);
|
|
13404
|
+
// Removed on 2025-03-16
|
|
13405
|
+
instance.$forms[ $el.form.getAttribute('id') ].isValidating = false;
|
|
13406
|
+
|
|
13205
13407
|
refreshWarning($el);
|
|
13206
13408
|
// in case error context is changed by another task
|
|
13207
13409
|
handleErrorsDisplay($el.form, instance.$forms[ $el.form.getAttribute('id') ].errors, null, $el.name);
|
|
@@ -13210,12 +13412,86 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
13210
13412
|
else if ( /^keyup\./i.test(event.type) ) {
|
|
13211
13413
|
$el.ginaFormValidatorTestedValue = $el.value;
|
|
13212
13414
|
liveCheckTimer = setTimeout( function onLiveCheckTimer() {
|
|
13213
|
-
//
|
|
13214
|
-
if ( ['91', '17'].indexOf(''+event.keyCode) > -1 && keyboardMapping.count() == 0) {
|
|
13415
|
+
// Do not trigger for copy/paste events
|
|
13416
|
+
if ( ['91', '17', '16'].indexOf(''+event.keyCode) > -1 && keyboardMapping.count() == 0) {
|
|
13215
13417
|
//console.debug('mapping ', keyboardMapping);
|
|
13216
13418
|
return;
|
|
13217
13419
|
}
|
|
13218
|
-
|
|
13420
|
+
|
|
13421
|
+
// Fixed on 2025-03-16:
|
|
13422
|
+
// Treat TAB as focus in/out
|
|
13423
|
+
// if ( ['9'].indexOf(''+event.keyCode) > -1 ) {
|
|
13424
|
+
|
|
13425
|
+
// console.debug('[TAB] you just focusout from "'+ instance.$forms[ $el.form.getAttribute('id') ].lastFocused[1].id +'" to "'+ $el.id +'"');
|
|
13426
|
+
// var $gForm = event.target.form, gFields = null, $gFields = null, gRules = null;
|
|
13427
|
+
// var gValidatorInfos = getFormValidationInfos($gForm, rules);
|
|
13428
|
+
// gFields = gValidatorInfos.fields;
|
|
13429
|
+
// $gFields = gValidatorInfos.$fields;
|
|
13430
|
+
// var formId = $gForm.getAttribute('id');
|
|
13431
|
+
// gRules = instance.$forms[formId].rules;
|
|
13432
|
+
// // Don't be tempted to revome fields that has already been validated
|
|
13433
|
+
// instance.$forms[formId].isValidating = true;
|
|
13434
|
+
// validate($gForm, gFields, $gFields, gRules, function onSilentGlobalLiveValidation(gResult){
|
|
13435
|
+
// instance.$forms[formId].isValidating = false;
|
|
13436
|
+
// console.debug('['+ formId +'] [9] onSilentGlobalLiveValidation: '+ gResult.isValid(), gResult, gFields);
|
|
13437
|
+
// var isFormValid = ( gResult.isValid() && instance.$forms[formId].errors && instance.$forms[formId].errors.count() == 0 )? true : false;
|
|
13438
|
+
// // var isFormValid = gResult.isValid();
|
|
13439
|
+
// if ( envIsDev && isGFFCtx && typeof(window.ginaToolbar) != 'undefined' && window.ginaToolbar ) {
|
|
13440
|
+
// // update toolbar
|
|
13441
|
+
// if (!gina.forms.errors)
|
|
13442
|
+
// gina.forms.errors = {};
|
|
13443
|
+
|
|
13444
|
+
// var objCallback = {
|
|
13445
|
+
// id : formId,
|
|
13446
|
+
// errors : gResult.error || {}
|
|
13447
|
+
// };
|
|
13448
|
+
|
|
13449
|
+
// window.ginaToolbar.update('forms', objCallback);
|
|
13450
|
+
// }
|
|
13451
|
+
|
|
13452
|
+
|
|
13453
|
+
// if ( !isFormValid && gResult.error ) {
|
|
13454
|
+
// // Fixed on 2025-03-16 - we need past and live errors
|
|
13455
|
+
// instance.$forms[ $el.form.getAttribute('id') ].errors = merge(result.error, gResult.error);
|
|
13456
|
+
// // Fixed on 2025-03-16
|
|
13457
|
+
// for (let eField in instance.$forms[ $el.form.getAttribute('id') ].errors) {
|
|
13458
|
+
// refreshWarning($gFields[eField]);
|
|
13459
|
+
// handleErrorsDisplay($gForm, instance.$forms[ $el.form.getAttribute('id') ].errors, gResult.data, eField);
|
|
13460
|
+
// }
|
|
13461
|
+
// }
|
|
13462
|
+
// // Fixed on 2025-03-16
|
|
13463
|
+
// // Eg.: input select change impacting another element: solve `no more errors`
|
|
13464
|
+
// else if ( instance.$forms[formId].errors && !instance.$forms[formId].errors.count() ) {
|
|
13465
|
+
// // recheck if valid
|
|
13466
|
+
// //resetting error display
|
|
13467
|
+
// instance.$forms[ formId ].errors = {};
|
|
13468
|
+
// console.debug('resetting field: '+ $el.name);
|
|
13469
|
+
// liveCheckErrors[formId] = {};
|
|
13470
|
+
// // $form.dataset.ginaFormIsResetting = true;
|
|
13471
|
+
// handleErrorsDisplay($gForm, {}, null, $el.name);
|
|
13472
|
+
// }
|
|
13473
|
+
|
|
13474
|
+
// updateSubmitTriggerState( $gForm, isFormValid);
|
|
13475
|
+
|
|
13476
|
+
// once = false;
|
|
13477
|
+
// });
|
|
13478
|
+
// // var $previeousEl = document.getElementById(instance.$forms[ $el.form.getAttribute('id') ].lastFocused[1].id);
|
|
13479
|
+
// // var errors = instance.$forms[ $previeousEl.form.getAttribute('id') ].errors;
|
|
13480
|
+
// // var isFormValid = (!errors[$previeousEl.name]) ? true : false;
|
|
13481
|
+
// // console.debug('[TAB] you just focusout from "'+ instance.$forms[ $el.form.getAttribute('id') ].lastFocused[1].id +'" to "'+ $el.id +'"', "errors: ", errors);
|
|
13482
|
+
// // if (errors && errors.count() > 0 ) {
|
|
13483
|
+
// // instance.$forms[ $previeousEl.form.getAttribute('id') ].isValidating = false;
|
|
13484
|
+
// // isFormValid = false;
|
|
13485
|
+
// // }
|
|
13486
|
+
// // refreshWarning($previeousEl);
|
|
13487
|
+
// // // // in case error context is changed by another task
|
|
13488
|
+
// // handleErrorsDisplay($previeousEl.form, errors, null, $previeousEl.name);
|
|
13489
|
+
// // updateSubmitTriggerState( $el.form, isFormValid);
|
|
13490
|
+
// return;
|
|
13491
|
+
// }
|
|
13492
|
+
|
|
13493
|
+
|
|
13494
|
+
console.debug('[A]['+keyboardMapping.count()+'] keyup ('+ event.keyCode +') .... '+$el.id, $el.value, ' VS ',$el.ginaFormValidatorTestedValue + '(old)');
|
|
13219
13495
|
processEvent();
|
|
13220
13496
|
}, 1000);
|
|
13221
13497
|
}
|
|
@@ -13317,14 +13593,14 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
13317
13593
|
case 46: //Delete
|
|
13318
13594
|
case 8: //Backspace
|
|
13319
13595
|
if (posStart != posEnd) {
|
|
13320
|
-
$_el.value = str.
|
|
13596
|
+
$_el.value = str.substring(0, posStart) + str.substring(posEnd);
|
|
13321
13597
|
if (posStart == 0) {
|
|
13322
|
-
$_el.value = str.
|
|
13598
|
+
$_el.value = str.substring(posEnd);
|
|
13323
13599
|
}
|
|
13324
13600
|
} else if (posStart == 0) {
|
|
13325
13601
|
$_el.value = str.substring(posStart+1);
|
|
13326
13602
|
} else {
|
|
13327
|
-
$_el.value = str.
|
|
13603
|
+
$_el.value = str.substring(0, posStart-1) + str.substring(posEnd);
|
|
13328
13604
|
}
|
|
13329
13605
|
|
|
13330
13606
|
e.currentTarget.setAttribute('readonly', 'readonly');
|
|
@@ -13362,9 +13638,9 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
13362
13638
|
}
|
|
13363
13639
|
break;
|
|
13364
13640
|
// Shortcuts
|
|
13365
|
-
case 17: //CTRL
|
|
13366
|
-
case 91: //CMD
|
|
13367
|
-
console.debug("CMD hit");
|
|
13641
|
+
case 17: // CTRL
|
|
13642
|
+
case 91: // CMD
|
|
13643
|
+
console.debug("CMD, CTRL hit");
|
|
13368
13644
|
e.preventDefault();
|
|
13369
13645
|
break;
|
|
13370
13646
|
case 67: // to handle CMD+C (copy)
|
|
@@ -13411,15 +13687,18 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
13411
13687
|
}
|
|
13412
13688
|
default:
|
|
13413
13689
|
// Replace selection
|
|
13690
|
+
if (e.key.length > 1) {
|
|
13691
|
+
break;
|
|
13692
|
+
}
|
|
13414
13693
|
if (posStart != posEnd) {
|
|
13415
|
-
$_el.value = str.
|
|
13694
|
+
$_el.value = str.substring(0, posStart) + e.key;
|
|
13416
13695
|
if (posEnd-1 < str.length) {
|
|
13417
13696
|
$_el.value += str.substring(posEnd)
|
|
13418
13697
|
}
|
|
13419
13698
|
} else if (posStart == 0) {
|
|
13420
13699
|
$_el.value = e.key + str.substring(posStart);
|
|
13421
13700
|
} else {
|
|
13422
|
-
$_el.value = str.
|
|
13701
|
+
$_el.value = str.substring(0, posStart) + e.key + str.substring(posEnd);
|
|
13423
13702
|
}
|
|
13424
13703
|
e.currentTarget.setAttribute('readonly', 'readonly');
|
|
13425
13704
|
// Force restore last caret position
|
|
@@ -13561,24 +13840,53 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
13561
13840
|
}
|
|
13562
13841
|
|
|
13563
13842
|
/**
|
|
13564
|
-
* reBindForm
|
|
13843
|
+
* reBindForm
|
|
13844
|
+
* Allows form rebinding: it is like reseting validation
|
|
13565
13845
|
*
|
|
13566
|
-
*
|
|
13567
|
-
*
|
|
13568
|
-
*
|
|
13846
|
+
* E.g.:
|
|
13847
|
+
* $validator
|
|
13848
|
+
* .getFormById('my-form-id')
|
|
13849
|
+
* .reBind();
|
|
13850
|
+
*
|
|
13851
|
+
* @param {string} [formId]
|
|
13852
|
+
* @param {string} [rules]
|
|
13853
|
+
* @param {callback} [cb]
|
|
13569
13854
|
*/
|
|
13570
|
-
var reBindForm = function(
|
|
13571
|
-
|
|
13572
|
-
|
|
13855
|
+
var reBindForm = function(formId, rules, cb) {
|
|
13856
|
+
var $form = null
|
|
13857
|
+
, _id = null
|
|
13858
|
+
;
|
|
13859
|
+
if (
|
|
13860
|
+
typeof(this.target) != 'undefined'
|
|
13861
|
+
&& /FORM/i.test(this.target.tagName)
|
|
13862
|
+
) {
|
|
13863
|
+
_id = formId = this.target.getAttribute('id')
|
|
13864
|
+
} else if ( /string/i.test(typeof(formId)) ) {
|
|
13865
|
+
_id = formId
|
|
13866
|
+
}
|
|
13867
|
+
|
|
13868
|
+
if ( typeof(instance.$forms[_id]) != 'undefined') {
|
|
13869
|
+
$form = instance.$forms[_id];
|
|
13870
|
+
} else {
|
|
13871
|
+
throw new Error('form instance `'+ _id +'` not found');
|
|
13872
|
+
}
|
|
13873
|
+
|
|
13573
13874
|
// reset errors
|
|
13574
|
-
|
|
13875
|
+
resetErrorsDisplay(_id);
|
|
13876
|
+
// Unbind form
|
|
13877
|
+
unbindForm($form.target);
|
|
13575
13878
|
// Bind
|
|
13576
|
-
|
|
13879
|
+
if ( typeof(rule) != 'undefined' ) {
|
|
13880
|
+
bindForm($form.target, rules);
|
|
13881
|
+
} else {
|
|
13882
|
+
bindForm($form.target);
|
|
13883
|
+
}
|
|
13577
13884
|
|
|
13578
13885
|
if ( cb ) {
|
|
13579
|
-
return cb(
|
|
13886
|
+
return cb($form);
|
|
13580
13887
|
}
|
|
13581
|
-
|
|
13888
|
+
|
|
13889
|
+
return $form;
|
|
13582
13890
|
}
|
|
13583
13891
|
|
|
13584
13892
|
var unbindForm = function($target) {
|
|
@@ -13596,7 +13904,7 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
13596
13904
|
|
|
13597
13905
|
} else if ( typeof($target.target) != 'undefined' ) {
|
|
13598
13906
|
$form = $target;
|
|
13599
|
-
_id = $form.id;
|
|
13907
|
+
_id = ( $target.getAttribute && $target.getAttribute('id') ) ? $form.getAttribute('id') : $form.id;
|
|
13600
13908
|
} else {
|
|
13601
13909
|
throw new Error('Validator::unbindForm($target): `$target` must be a DOM element\n'+err.stack )
|
|
13602
13910
|
}
|
|
@@ -13635,7 +13943,7 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
13635
13943
|
// submit buttons
|
|
13636
13944
|
$elTMP = $form.target.getElementsByTagName('button');
|
|
13637
13945
|
if ( $elTMP.length > 0 ) {
|
|
13638
|
-
for(let i = 0, len = $elTMP.length; i < len; ++i) {
|
|
13946
|
+
for (let i = 0, len = $elTMP.length; i < len; ++i) {
|
|
13639
13947
|
// if button is != type="submit", you will need to provide : data-gina-form-submit
|
|
13640
13948
|
// TODO - On button binding, you can then provide data-gina-form-action & data-gina-form-method
|
|
13641
13949
|
$els.push($elTMP[i])
|
|
@@ -13645,7 +13953,7 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
13645
13953
|
// submit links
|
|
13646
13954
|
$elTMP = $form.target.getElementsByTagName('a');
|
|
13647
13955
|
if ( $elTMP.length > 0 ) {
|
|
13648
|
-
for(let i = 0, len = $elTMP.length; i < len; ++i) {
|
|
13956
|
+
for (let i = 0, len = $elTMP.length; i < len; ++i) {
|
|
13649
13957
|
$els.push($elTMP[i])
|
|
13650
13958
|
}
|
|
13651
13959
|
}
|
|
@@ -13701,7 +14009,7 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
13701
14009
|
// textarea
|
|
13702
14010
|
$elTMP = $form.target.getElementsByTagName('textarea');
|
|
13703
14011
|
if ( $elTMP.length > 0 ) {
|
|
13704
|
-
for(let i = 0, len = $elTMP.length; i < len; ++i) {
|
|
14012
|
+
for (let i = 0, len = $elTMP.length; i < len; ++i) {
|
|
13705
14013
|
$els.push( $elTMP[i] )
|
|
13706
14014
|
}
|
|
13707
14015
|
}
|
|
@@ -13710,7 +14018,7 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
13710
14018
|
// forms inside main form
|
|
13711
14019
|
$elTMP = $form.target.getElementsByTagName('form');
|
|
13712
14020
|
if ( $elTMP.length > 0 ) {
|
|
13713
|
-
for(let i = 0, len = $elTMP.length; i < len; ++i) {
|
|
14021
|
+
for (let i = 0, len = $elTMP.length; i < len; ++i) {
|
|
13714
14022
|
$els.push( $elTMP[i] )
|
|
13715
14023
|
}
|
|
13716
14024
|
}
|
|
@@ -13795,8 +14103,10 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
13795
14103
|
/**
|
|
13796
14104
|
* bindForm
|
|
13797
14105
|
*
|
|
13798
|
-
* @param {object} $target - DOM element
|
|
13799
|
-
* @param {object} [customRule]
|
|
14106
|
+
* @param {object} [$target] - DOM element
|
|
14107
|
+
* @param {object|string} [customRule]
|
|
14108
|
+
*
|
|
14109
|
+
* @return {object} bindedForm
|
|
13800
14110
|
* */
|
|
13801
14111
|
var bindForm = function($target, customRule) {
|
|
13802
14112
|
|
|
@@ -13805,23 +14115,32 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
13805
14115
|
, rules = ( typeof(local.rules.count() > 0 ) ) ? local.rules : instance.rules
|
|
13806
14116
|
;
|
|
13807
14117
|
|
|
13808
|
-
|
|
13809
|
-
|
|
13810
|
-
|
|
13811
|
-
|
|
13812
|
-
|
|
13813
|
-
|
|
13814
|
-
|
|
14118
|
+
if (
|
|
14119
|
+
typeof($target) == 'undefined'
|
|
14120
|
+
&& typeof(this.target) != 'undefined'
|
|
14121
|
+
&& /FORM/i.test(this.target.tagName)
|
|
14122
|
+
||
|
|
14123
|
+
!/object/i.test( typeof($target) )
|
|
14124
|
+
) {
|
|
14125
|
+
_id = this.target.id || this.target.getAttribute('id');
|
|
14126
|
+
} else if ( /string/i.test(typeof($target)) ) {
|
|
14127
|
+
_id = $target
|
|
14128
|
+
} else {
|
|
14129
|
+
_id = $target.getAttribute('id')
|
|
14130
|
+
}
|
|
13815
14131
|
|
|
14132
|
+
try {
|
|
14133
|
+
if ( typeof(instance.$forms[_id]) != 'undefined') {
|
|
14134
|
+
$form = instance.$forms[_id];
|
|
14135
|
+
if ( typeof($form.target) == 'undefined' ) {
|
|
14136
|
+
throw new Error('Validator::bindForm($target, customRule): `$target` must be a DOM element\n');
|
|
14137
|
+
}
|
|
14138
|
+
$target = $form.target;
|
|
13816
14139
|
} else {
|
|
13817
|
-
throw new Error('
|
|
14140
|
+
throw new Error('form instance `'+ _id +'` not found');
|
|
13818
14141
|
}
|
|
13819
14142
|
} 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
|
|
14143
|
+
throw new Error('Validator::bindForm($target, customRule) could not bind form `'+ $target +'`\n'+err.stack );
|
|
13825
14144
|
}
|
|
13826
14145
|
|
|
13827
14146
|
console.debug('binding for: '+ _id);
|
|
@@ -14127,7 +14446,7 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
14127
14446
|
} else if ( /img/i.test($els[i].tagName) ) {
|
|
14128
14447
|
$img = $els[i];
|
|
14129
14448
|
deleteLinkId = uploadTriggerId + '-'+index+'-delete-trigger';
|
|
14130
|
-
let file = $img.src.
|
|
14449
|
+
let file = $img.src.substring($img.src.lastIndexOf('/')+1);
|
|
14131
14450
|
$uploadTrigger.customFiles.push({
|
|
14132
14451
|
name: file,
|
|
14133
14452
|
deleteLinkId: deleteLinkId
|
|
@@ -14519,7 +14838,16 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
14519
14838
|
validate($gForm, gFields, $gFields, gRules, function onSilentGlobalLiveValidation(gResult){
|
|
14520
14839
|
instance.$forms[formId].isValidating = false;
|
|
14521
14840
|
console.debug('[updateSelect]: onSilentGlobalLiveValidation: '+ gResult.isValid(), gResult);
|
|
14841
|
+
// Fixed on 2025-03-16
|
|
14522
14842
|
var isFormValid = gResult.isValid();
|
|
14843
|
+
if (!isFormValid) {
|
|
14844
|
+
instance.$forms[formId].errors = gResult.error;
|
|
14845
|
+
for (let eField in gResult.error) {
|
|
14846
|
+
// refreshWarning($gFields[eField]);
|
|
14847
|
+
handleErrorsDisplay($gForm, gResult.error, gResult.data, eField);
|
|
14848
|
+
}
|
|
14849
|
+
}
|
|
14850
|
+
|
|
14523
14851
|
updateSubmitTriggerState( $gForm, isFormValid);
|
|
14524
14852
|
once = false;
|
|
14525
14853
|
})
|
|
@@ -15113,6 +15441,25 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
15113
15441
|
if (gina.events[_evt]) {
|
|
15114
15442
|
cancelEvent(event);
|
|
15115
15443
|
|
|
15444
|
+
// Fixed on 2025-03-05 - "last focus" vs "current focus"
|
|
15445
|
+
// To get active element: document.activeElement
|
|
15446
|
+
var formId = event.target.form.getAttribute('id') || event.currentTarget.getAttribute('id');
|
|
15447
|
+
var lastFocused = {
|
|
15448
|
+
id : $el.id,
|
|
15449
|
+
name: $el.name
|
|
15450
|
+
};
|
|
15451
|
+
if (!instance.$forms[formId].lastFocused.length) {
|
|
15452
|
+
instance.$forms[formId].lastFocused[0] = lastFocused;
|
|
15453
|
+
} else {
|
|
15454
|
+
instance.$forms[formId].lastFocused.splice(0,0,lastFocused);
|
|
15455
|
+
}
|
|
15456
|
+
lastFocused = ( typeof(instance.$forms[formId].lastFocused[1]) != 'undefined' ) ? instance.$forms[formId].lastFocused[1].id : null;
|
|
15457
|
+
|
|
15458
|
+
// cleanup
|
|
15459
|
+
instance.$forms[formId].lastFocused.splice(2);
|
|
15460
|
+
|
|
15461
|
+
// console.debug('lastFocused: ', lastFocused, ' VS current: ', $el.id);
|
|
15462
|
+
|
|
15116
15463
|
triggerEvent(gina, $el, _evt, event.detail);
|
|
15117
15464
|
}
|
|
15118
15465
|
});
|
|
@@ -15429,7 +15776,7 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
15429
15776
|
;
|
|
15430
15777
|
$buttonsTMP = $target.getElementsByTagName('button');
|
|
15431
15778
|
if ( $buttonsTMP.length > 0 ) {
|
|
15432
|
-
for(let b = 0, len = $buttonsTMP.length; b < len; ++b) {
|
|
15779
|
+
for (let b = 0, len = $buttonsTMP.length; b < len; ++b) {
|
|
15433
15780
|
if ($buttonsTMP[b].type == 'submit') {
|
|
15434
15781
|
$buttons.push($buttonsTMP[b])
|
|
15435
15782
|
}
|
|
@@ -15439,7 +15786,7 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
15439
15786
|
// binding links
|
|
15440
15787
|
$buttonsTMP = $target.getElementsByTagName('a');
|
|
15441
15788
|
if ( $buttonsTMP.length > 0 ) {
|
|
15442
|
-
for(let b = 0, len = $buttonsTMP.length; b < len; ++b) {
|
|
15789
|
+
for (let b = 0, len = $buttonsTMP.length; b < len; ++b) {
|
|
15443
15790
|
if ( $buttonsTMP[b].attributes.getNamedItem('data-gina-form-submit') ) {
|
|
15444
15791
|
$buttons.push($buttonsTMP[b])
|
|
15445
15792
|
} else if (
|
|
@@ -15696,7 +16043,8 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
15696
16043
|
}
|
|
15697
16044
|
updateSubmitTriggerState( $form, result.isValid() );
|
|
15698
16045
|
});
|
|
15699
|
-
}
|
|
16046
|
+
}
|
|
16047
|
+
else if (!/^(true)$/i.test($form.target.dataset.ginaFormLiveCheckEnabled) ) {
|
|
15700
16048
|
updateSubmitTriggerState( $form , true );
|
|
15701
16049
|
}
|
|
15702
16050
|
|
|
@@ -16159,7 +16507,8 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
16159
16507
|
if ( !/^form$/i.test($formOrElement.tagName) ) {
|
|
16160
16508
|
$currentForm = $formOrElement.form;
|
|
16161
16509
|
}
|
|
16162
|
-
var formId
|
|
16510
|
+
var formId = $currentForm.getAttribute('id');
|
|
16511
|
+
var isFormValid = null;
|
|
16163
16512
|
|
|
16164
16513
|
if (
|
|
16165
16514
|
hasParsedAllRules
|
|
@@ -16180,10 +16529,16 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
16180
16529
|
if ( typeof(instance.$forms[formId].errors) == 'undefined' ) {
|
|
16181
16530
|
instance.$forms[formId].errors = {}
|
|
16182
16531
|
}
|
|
16532
|
+
// Fixed on 2025-03-16
|
|
16533
|
+
if ( typeof(cb._errors[field]) != 'undefined' ) {
|
|
16534
|
+
instance.$forms[formId].errors[field] = cb._errors[field];
|
|
16535
|
+
}
|
|
16536
|
+
console.debug('[A] Refreshing warning/error on field '+ field);
|
|
16537
|
+
if (
|
|
16538
|
+
!isFormValid && /^true|false$/i.test(instance.$forms[formId].isValidating)
|
|
16539
|
+
|| d[field].target.value != ''
|
|
16183
16540
|
|
|
16184
|
-
|
|
16185
|
-
|
|
16186
|
-
if (!isFormValid && /^true|false$/i.test(instance.$forms[formId].isValidating) || d[field].target.value != '' ) {
|
|
16541
|
+
) {
|
|
16187
16542
|
refreshWarning($allFields[field]);
|
|
16188
16543
|
handleErrorsDisplay($currentForm, cb._errors, cb._data, field);
|
|
16189
16544
|
updateSubmitTriggerState( $currentForm, isFormValid);
|
|
@@ -16191,8 +16546,9 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
16191
16546
|
|
|
16192
16547
|
if ( envIsDev && isGFFCtx && typeof(window.ginaToolbar) != 'undefined' && window.ginaToolbar ) {
|
|
16193
16548
|
// update toolbar
|
|
16194
|
-
if (!gina.forms.errors)
|
|
16549
|
+
if (!gina.forms.errors) {
|
|
16195
16550
|
gina.forms.errors = {};
|
|
16551
|
+
}
|
|
16196
16552
|
|
|
16197
16553
|
var objCallback = {
|
|
16198
16554
|
id : formId,
|
|
@@ -16209,13 +16565,13 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
16209
16565
|
}
|
|
16210
16566
|
|
|
16211
16567
|
// is this the last or the only field to be validated ?
|
|
16212
|
-
var needsGlobalReValidation = false
|
|
16568
|
+
var needsGlobalReValidation = false;
|
|
16213
16569
|
if ( listedFields.length == 1 || listedFields[listedFields.length-1] == field) {
|
|
16214
16570
|
// trigger end of validation
|
|
16215
16571
|
// console.debug(field +' is the last element to be validated for formId: '+ formId, cb._errors, instance.$forms[formId].errors);
|
|
16216
16572
|
isFormValid = ( cb._errors.count() > 0 ) ? false : true;
|
|
16217
16573
|
if (!isFormValid && /^true|false$/i.test(instance.$forms[formId].isValidating)) {
|
|
16218
|
-
|
|
16574
|
+
console.debug('[1] Should update error display now ', cb._errors);
|
|
16219
16575
|
instance.$forms[formId].errors = merge(cb._errors, instance.$forms[formId].errors);
|
|
16220
16576
|
refreshWarning($allFields[field]);
|
|
16221
16577
|
handleErrorsDisplay($currentForm, cb._errors, cb._data, field);
|
|
@@ -16247,8 +16603,6 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
16247
16603
|
window.ginaToolbar.update('forms', objCallback);
|
|
16248
16604
|
}
|
|
16249
16605
|
|
|
16250
|
-
|
|
16251
|
-
|
|
16252
16606
|
handleErrorsDisplay($currentForm, gResult.error, gResult.data, field);
|
|
16253
16607
|
updateSubmitTriggerState( $currentForm, isFormValid);
|
|
16254
16608
|
})
|
|
@@ -16392,7 +16746,7 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
16392
16746
|
|
|
16393
16747
|
for (var c in rules) {
|
|
16394
16748
|
if (!/^\_case\_/.test(c) ) continue;
|
|
16395
|
-
if ( typeof(rules[c].conditions) == 'undefined' ||
|
|
16749
|
+
if ( typeof(rules[c].conditions) == 'undefined' || Array.isArray(rules[c].conditions) && !rules[c].conditions.length ) continue;
|
|
16396
16750
|
if ( typeof(rules[c].conditions[0].rules) == 'undefined' ) continue;
|
|
16397
16751
|
|
|
16398
16752
|
|
|
@@ -16574,7 +16928,14 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
16574
16928
|
// filtering conditions
|
|
16575
16929
|
for (var _c = 0, _cLen = rules[c].conditions.length; _c < _cLen; ++_c) {
|
|
16576
16930
|
|
|
16577
|
-
if (
|
|
16931
|
+
if (
|
|
16932
|
+
Array.isArray(rules[c].conditions[_c].case)
|
|
16933
|
+
&& rules[c].conditions[_c].case.indexOf(caseValue) == -1
|
|
16934
|
+
||
|
|
16935
|
+
!Array.isArray(rules[c].conditions[_c].case)
|
|
16936
|
+
&& rules[c].conditions[_c].case != caseValue
|
|
16937
|
+
|
|
16938
|
+
) {
|
|
16578
16939
|
continue;
|
|
16579
16940
|
}
|
|
16580
16941
|
|
|
@@ -16719,7 +17080,8 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
16719
17080
|
if (
|
|
16720
17081
|
conditions[c]['case'] === caseValue
|
|
16721
17082
|
||
|
|
16722
|
-
Array.isArray(conditions[c]['case'])
|
|
17083
|
+
Array.isArray(conditions[c]['case'])
|
|
17084
|
+
&& conditions[c]['case'].indexOf(caseValue) > -1
|
|
16723
17085
|
||
|
|
16724
17086
|
/^\//.test(conditions[c]['case'])
|
|
16725
17087
|
) {
|
|
@@ -16836,8 +17198,6 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
16836
17198
|
}
|
|
16837
17199
|
--i;
|
|
16838
17200
|
}
|
|
16839
|
-
|
|
16840
|
-
|
|
16841
17201
|
} // EO for
|
|
16842
17202
|
}
|
|
16843
17203
|
|
|
@@ -16858,7 +17218,7 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
16858
17218
|
}
|
|
16859
17219
|
|
|
16860
17220
|
if (isGFFCtx)
|
|
16861
|
-
$fields[field].setAttribute('data-gina-form-errors', fieldErrorsAttributes[field].
|
|
17221
|
+
$fields[field].setAttribute('data-gina-form-errors', fieldErrorsAttributes[field].substring(0, fieldErrorsAttributes[field].length-1))
|
|
16862
17222
|
}
|
|
16863
17223
|
|
|
16864
17224
|
//calling back
|
|
@@ -16929,6 +17289,8 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
16929
17289
|
'data' : formatData( _data )
|
|
16930
17290
|
});
|
|
16931
17291
|
removeListener(gina, event.target, 'validated.' + event.target.id);
|
|
17292
|
+
|
|
17293
|
+
|
|
16932
17294
|
return
|
|
16933
17295
|
}
|
|
16934
17296
|
});
|
|
@@ -17157,6 +17519,11 @@ define('gina/toolbar', ['require', 'jquery', 'vendor/uuid'/**, 'lib/merge'*/, 'l
|
|
|
17157
17519
|
try {
|
|
17158
17520
|
|
|
17159
17521
|
txt = ($json) ? $json.text() : '';
|
|
17522
|
+
// txt = txt
|
|
17523
|
+
// .replace(/:null/gi, ':\"null\"')
|
|
17524
|
+
// .replace(/:true/gi, ':\"true\"')
|
|
17525
|
+
// .replace(/:false/gi, ':\"false\"');
|
|
17526
|
+
|
|
17160
17527
|
if (txt == '' || txt == 'null' ) {
|
|
17161
17528
|
// $json.text('Empty')
|
|
17162
17529
|
$json.text('{}')
|
|
@@ -17180,8 +17547,9 @@ define('gina/toolbar', ['require', 'jquery', 'vendor/uuid'/**, 'lib/merge'*/, 'l
|
|
|
17180
17547
|
|
|
17181
17548
|
var sectionStr = ( section ) ? ' [ '+ section + ' ] ' : ' ';
|
|
17182
17549
|
// 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;
|
|
17550
|
+
var _err = 'Could not load ['+ sectionStr +'] json\n' + err.message +'\n'+ err.stack;
|
|
17184
17551
|
console.error(_err);
|
|
17552
|
+
return;
|
|
17185
17553
|
// if ($json) {
|
|
17186
17554
|
// $json.text(_err);
|
|
17187
17555
|
// } else {
|
|
@@ -17806,7 +18174,7 @@ define('gina/toolbar', ['require', 'jquery', 'vendor/uuid'/**, 'lib/merge'*/, 'l
|
|
|
17806
18174
|
|
|
17807
18175
|
foldingStateName += name
|
|
17808
18176
|
} else {
|
|
17809
|
-
foldingStateName = foldingStateName.
|
|
18177
|
+
foldingStateName = foldingStateName.substring(0, foldingStateName.length-1)
|
|
17810
18178
|
}
|
|
17811
18179
|
|
|
17812
18180
|
return foldingStateName.trim()
|
|
@@ -17843,8 +18211,8 @@ define('gina/toolbar', ['require', 'jquery', 'vendor/uuid'/**, 'lib/merge'*/, 'l
|
|
|
17843
18211
|
html += '<ul class="gina-toolbar-object">' + parseObject(obj[i], ginaObj[i], id, elIsXHR, elSection) +'</ul>';
|
|
17844
18212
|
html += '</li>';
|
|
17845
18213
|
// clear one level
|
|
17846
|
-
//id = id.
|
|
17847
|
-
id = id.
|
|
18214
|
+
//id = id.substring(0, id.length - i.length - 1);
|
|
18215
|
+
id = id.substring(0, id.length - i.length);
|
|
17848
18216
|
} else if ( Array.isArray(obj[i]) ) {
|
|
17849
18217
|
//id += i + '-';
|
|
17850
18218
|
id += '-' + i.replace(/[^A-Za-z0-9_-]/g, '_');
|
|
@@ -17855,8 +18223,8 @@ define('gina/toolbar', ['require', 'jquery', 'vendor/uuid'/**, 'lib/merge'*/, 'l
|
|
|
17855
18223
|
html += '<ul class="gina-toolbar-collection">' + parseCollection(obj[i], ginaObj[i], id, elIsXHR, elSection) +'</ul>';
|
|
17856
18224
|
html += '</li>';
|
|
17857
18225
|
// clear one level
|
|
17858
|
-
//id = id.
|
|
17859
|
-
id = id.
|
|
18226
|
+
//id = id.substring(0, id.length - i.length - 1);
|
|
18227
|
+
id = id.substring(0, id.length - i.length);
|
|
17860
18228
|
} else {
|
|
17861
18229
|
objType = (ginaObj[i] === null) ? 'null' : typeof(ginaObj[i]);
|
|
17862
18230
|
if ( objType == 'undefined' ) { // new key declaration added by user
|
|
@@ -17913,7 +18281,7 @@ define('gina/toolbar', ['require', 'jquery', 'vendor/uuid'/**, 'lib/merge'*/, 'l
|
|
|
17913
18281
|
html += '<ul class="gina-toolbar-object">' + parseObject(arr[i], ginaArr[i], id, elIsXHR, elSection) +'</ul>';
|
|
17914
18282
|
html += '</li>';
|
|
17915
18283
|
// clear one level
|
|
17916
|
-
id = id.
|
|
18284
|
+
id = id.substring(0, id.length - i.toString().length - 1);
|
|
17917
18285
|
|
|
17918
18286
|
} else if ( Array.isArray(arr[i]) ) {
|
|
17919
18287
|
//id += i + '-';
|
|
@@ -17926,8 +18294,8 @@ define('gina/toolbar', ['require', 'jquery', 'vendor/uuid'/**, 'lib/merge'*/, 'l
|
|
|
17926
18294
|
html += '<ul class="gina-toolbar-collection">' + parseCollection(arr[i], ginaArr[i], id, elIsXHR, elSection) +'</ul>';
|
|
17927
18295
|
html += '</li>';
|
|
17928
18296
|
// clear one level
|
|
17929
|
-
//id = id.
|
|
17930
|
-
id = id.
|
|
18297
|
+
//id = id.substring(0, id.length - i.toString().length - 1);
|
|
18298
|
+
id = id.substring(0, id.length - i.toString().length);
|
|
17931
18299
|
} else {
|
|
17932
18300
|
html += '<li class="gina-toolbar-key-value"><span class="gina-toolbar-key">'+ i +':</span> <span class="gina-toolbar-value">'+ arr[i] +'</span></li>';
|
|
17933
18301
|
}
|
|
@@ -17956,16 +18324,16 @@ define('gina/toolbar', ['require', 'jquery', 'vendor/uuid'/**, 'lib/merge'*/, 'l
|
|
|
17956
18324
|
section = i;
|
|
17957
18325
|
if ( typeof(obj[i]) == 'object' && !Array.isArray(obj[i]) && obj[i] !== null ) { // parse
|
|
17958
18326
|
|
|
17959
|
-
$parent = $('#gina-toolbar-view-' + id.
|
|
18327
|
+
$parent = $('#gina-toolbar-view-' + id.substring(0, id.length - 1));
|
|
17960
18328
|
hasParent = ( $parent.length ) ? true : false;
|
|
17961
18329
|
|
|
17962
18330
|
if (!hasParent ) {
|
|
17963
18331
|
id += i.replace(/[^A-Za-z0-9_-]/g, '_') + '-';
|
|
17964
18332
|
|
|
17965
18333
|
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.
|
|
18334
|
+
var htmlParams = '<div id="gina-toolbar-view-'+ id.substring(0, id.length - 1) +'" class="gina-toolbar-section">' +
|
|
18335
|
+
'<h2 class="gina-toolbar-section-title">'+ id.substring(0, id.length - 1) +'</h2>' +
|
|
18336
|
+
'<ul class="'+ id.substring(0, id.length - 1) +'"></ul>' +
|
|
17969
18337
|
'</div>';
|
|
17970
18338
|
|
|
17971
18339
|
$('#gina-toolbar-view-html-properties')
|
|
@@ -17974,9 +18342,9 @@ define('gina/toolbar', ['require', 'jquery', 'vendor/uuid'/**, 'lib/merge'*/, 'l
|
|
|
17974
18342
|
|
|
17975
18343
|
if ( !/^html/.test(id) ) {
|
|
17976
18344
|
|
|
17977
|
-
var htmlOther = '<div id="gina-toolbar-view-'+ id.
|
|
17978
|
-
'<h2 class="gina-toolbar-section-title">'+ id.
|
|
17979
|
-
'<ul class="'+ id.
|
|
18345
|
+
var htmlOther = '<div id="gina-toolbar-view-'+ id.substring(0, id.length - 1) +'" class="gina-toolbar-section">' +
|
|
18346
|
+
'<h2 class="gina-toolbar-section-title">'+ id.substring(0, id.length - 1) +'</h2>' +
|
|
18347
|
+
'<ul class="'+ id.substring(0, id.length - 1) +'"></ul>' +
|
|
17980
18348
|
'</div>';
|
|
17981
18349
|
|
|
17982
18350
|
$html
|
|
@@ -17984,36 +18352,36 @@ define('gina/toolbar', ['require', 'jquery', 'vendor/uuid'/**, 'lib/merge'*/, 'l
|
|
|
17984
18352
|
}/** else { // add to properties section
|
|
17985
18353
|
$root
|
|
17986
18354
|
.find('.gina-toolbar-properties')
|
|
17987
|
-
.append('ul.' + id.
|
|
18355
|
+
.append('ul.' + id.substring(0, id.length - 1))
|
|
17988
18356
|
}*/
|
|
17989
18357
|
|
|
17990
18358
|
}
|
|
17991
18359
|
|
|
17992
|
-
parseView(obj[i], ginaObj[i], id, elIsXHR, $html.find('ul.'+ id.
|
|
18360
|
+
parseView(obj[i], ginaObj[i], id, elIsXHR, $html.find('ul.'+ id.substring(0, id.length - 1)), $root );
|
|
17993
18361
|
|
|
17994
18362
|
} else {
|
|
17995
18363
|
|
|
17996
18364
|
parentId = id + i.replace(/[^A-Za-z0-9_-]/g, '_') + '-';
|
|
17997
18365
|
|
|
17998
18366
|
$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.
|
|
18367
|
+
.find('ul.'+ id.substring(0, id.length - 1))
|
|
18368
|
+
.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
18369
|
|
|
18002
|
-
parseView(obj[i], ginaObj[i], parentId, elIsXHR, $parent.find('ul.'+ id.
|
|
18370
|
+
parseView(obj[i], ginaObj[i], parentId, elIsXHR, $parent.find('ul.'+ id.substring(0, id.length - 1)), $root );
|
|
18003
18371
|
|
|
18004
18372
|
id += i.replace(/[^A-Za-z0-9_-]/g, '_') + '-';
|
|
18005
18373
|
}
|
|
18006
18374
|
|
|
18007
18375
|
|
|
18008
18376
|
// clear one level
|
|
18009
|
-
id = id.
|
|
18377
|
+
id = id.substring(0, id.length - i.length - 1);
|
|
18010
18378
|
|
|
18011
18379
|
|
|
18012
18380
|
} else if ( Array.isArray(obj[i]) ) { // parse collection
|
|
18013
18381
|
|
|
18014
18382
|
|
|
18015
18383
|
|
|
18016
|
-
$parent = $('#gina-toolbar-view-' + id.
|
|
18384
|
+
$parent = $('#gina-toolbar-view-' + id.substring(0, id.length - 1));
|
|
18017
18385
|
|
|
18018
18386
|
hasParent = ( $parent.length ) ? true : false;
|
|
18019
18387
|
|
|
@@ -18023,16 +18391,16 @@ define('gina/toolbar', ['require', 'jquery', 'vendor/uuid'/**, 'lib/merge'*/, 'l
|
|
|
18023
18391
|
parentId = id + i.replace(/[^A-Za-z0-9_-]/g, '_') + '-';
|
|
18024
18392
|
|
|
18025
18393
|
$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.
|
|
18394
|
+
//.find('ul.'+ id.substring(0, id.length - 1))
|
|
18395
|
+
.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
18396
|
|
|
18029
18397
|
|
|
18030
|
-
//parentId = parentId.
|
|
18031
|
-
//parentId = id.
|
|
18032
|
-
//parseView(obj[i], ginaObj[i], parentId, elIsXHR, $parent.find('ul.'+ parentId.
|
|
18398
|
+
//parentId = parentId.substring(0, parentId.length - 1)+ '-';
|
|
18399
|
+
//parentId = id.substring(0, id.length - i.length - 1);
|
|
18400
|
+
//parseView(obj[i], ginaObj[i], parentId, elIsXHR, $parent.find('ul.'+ parentId.substring(0, parentId.length - 1)), $root );
|
|
18033
18401
|
|
|
18034
18402
|
//id += i.replace(/[^A-Za-z0-9_-]/g, '_') + '-';
|
|
18035
|
-
//$parent = $('#gina-toolbar-view-' + id.
|
|
18403
|
+
//$parent = $('#gina-toolbar-view-' + id.substring(0, id.length - 1));
|
|
18036
18404
|
id += i.replace(/[^A-Za-z0-9_-]/g, '_') + '-';
|
|
18037
18405
|
} else {
|
|
18038
18406
|
|
|
@@ -18040,8 +18408,8 @@ define('gina/toolbar', ['require', 'jquery', 'vendor/uuid'/**, 'lib/merge'*/, 'l
|
|
|
18040
18408
|
parentId = id + i.replace(/[^A-Za-z0-9_-]/g, '_') + '-';
|
|
18041
18409
|
|
|
18042
18410
|
$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.
|
|
18411
|
+
.find('li.'+ id.substring(0, id.length - 1) +' ul')
|
|
18412
|
+
.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
18413
|
|
|
18046
18414
|
id += i.replace(/[^A-Za-z0-9_-]/g, '_') + '-';
|
|
18047
18415
|
|
|
@@ -18052,7 +18420,7 @@ define('gina/toolbar', ['require', 'jquery', 'vendor/uuid'/**, 'lib/merge'*/, 'l
|
|
|
18052
18420
|
// id = id + i.replace(/[^A-Za-z0-9_-]/g, '_') + '-';
|
|
18053
18421
|
// $root
|
|
18054
18422
|
// .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.
|
|
18423
|
+
// .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
18424
|
|
|
18057
18425
|
|
|
18058
18426
|
// } else {
|
|
@@ -18061,14 +18429,14 @@ define('gina/toolbar', ['require', 'jquery', 'vendor/uuid'/**, 'lib/merge'*/, 'l
|
|
|
18061
18429
|
// parentId = id + i.replace(/[^A-Za-z0-9_-]/g, '_') + '-';
|
|
18062
18430
|
|
|
18063
18431
|
// $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.
|
|
18432
|
+
// .find('li.'+ id.substring(0, id.length - 1) +' ul')
|
|
18433
|
+
// .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
18434
|
|
|
18067
18435
|
// id += i.replace(/[^A-Za-z0-9_-]/g, '_') + '-';
|
|
18068
18436
|
// }
|
|
18069
18437
|
|
|
18070
18438
|
// clear one level
|
|
18071
|
-
id = id.
|
|
18439
|
+
id = id.substring(0, id.length - i.length - 1);
|
|
18072
18440
|
} else {
|
|
18073
18441
|
|
|
18074
18442
|
|
|
@@ -18076,7 +18444,7 @@ define('gina/toolbar', ['require', 'jquery', 'vendor/uuid'/**, 'lib/merge'*/, 'l
|
|
|
18076
18444
|
objType = (ginaObj[i] === null) ? 'null' : typeof(ginaObj[i]);
|
|
18077
18445
|
if ( objType == 'undefined' ) { // new key declaration added by user
|
|
18078
18446
|
if (/\-$/.test(id)) {
|
|
18079
|
-
id = id.
|
|
18447
|
+
id = id.substring(0, id.length - 1);
|
|
18080
18448
|
}
|
|
18081
18449
|
|
|
18082
18450
|
if (!id) continue;
|
|
@@ -18123,7 +18491,7 @@ define('gina/toolbar', ['require', 'jquery', 'vendor/uuid'/**, 'lib/merge'*/, 'l
|
|
|
18123
18491
|
} else {
|
|
18124
18492
|
|
|
18125
18493
|
$root
|
|
18126
|
-
.find('ul.' + id.
|
|
18494
|
+
.find('ul.' + id.substring(0, id.length - 1))
|
|
18127
18495
|
.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
18496
|
}
|
|
18129
18497
|
}
|
|
@@ -18643,11 +19011,11 @@ define('gina', [ 'require', 'vendor/uuid', 'lib/merge', 'utils/events', 'helpers
|
|
|
18643
19011
|
return construct
|
|
18644
19012
|
});
|
|
18645
19013
|
/*!
|
|
18646
|
-
* Engine.IO v6.
|
|
18647
|
-
* (c) 2014-
|
|
19014
|
+
* Engine.IO v6.6.3
|
|
19015
|
+
* (c) 2014-2025 Guillermo Rauch
|
|
18648
19016
|
* Released under the MIT License.
|
|
18649
19017
|
*/
|
|
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)}}));
|
|
19018
|
+
!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
19019
|
//# sourceMappingURL=engine.io.min.js.map
|
|
18652
19020
|
;
|
|
18653
19021
|
function BindingHelper(handlerContext) {
|
|
@@ -18743,12 +19111,13 @@ function BindingHelper(handlerContext) {
|
|
|
18743
19111
|
define( 'helpers/binding',[],function() { return BindingHelper });
|
|
18744
19112
|
/*
|
|
18745
19113
|
* This file is part of the gina package.
|
|
18746
|
-
* Copyright (c) 2009-
|
|
19114
|
+
* Copyright (c) 2009-2025 Rhinostone <contact@gina.io>
|
|
18747
19115
|
*
|
|
18748
19116
|
* For the full copyright and license information, please view the LICENSE
|
|
18749
19117
|
* file that was distributed with this source code.
|
|
18750
19118
|
*/
|
|
18751
19119
|
|
|
19120
|
+
|
|
18752
19121
|
// nodejs dependencies
|
|
18753
19122
|
if ( typeof(module) !== 'undefined' && module.exports) {
|
|
18754
19123
|
var fs = require('fs');
|
|
@@ -18786,8 +19155,10 @@ function Domain(options, cb) {
|
|
|
18786
19155
|
var isGFFCtx = ( ( typeof(module) !== 'undefined' ) && module.exports ) ? false : true;
|
|
18787
19156
|
// Detect if user is on IE browser
|
|
18788
19157
|
var isIE = false;
|
|
19158
|
+
var defaultUrl = "/_gina/assets/public_suffix_list.dat";
|
|
18789
19159
|
if (isGFFCtx) {
|
|
18790
19160
|
isIE = !!window.MSInputMethodContext && !!document.documentMode;
|
|
19161
|
+
defaultUrl = gina.config.webroot + defaultUrl.substring(1);
|
|
18791
19162
|
}
|
|
18792
19163
|
|
|
18793
19164
|
if ( typeof(arguments[0]) == 'function' ) {
|
|
@@ -18799,20 +19170,31 @@ function Domain(options, cb) {
|
|
|
18799
19170
|
// if isGFFCtx, should be place in the public folder to be served by your own host
|
|
18800
19171
|
// e.g.: "./public_suffix_list.dat" located under "/my-www-folder/"
|
|
18801
19172
|
filename : "../dist/public_suffix_list.dat",
|
|
18802
|
-
url :
|
|
19173
|
+
url : defaultUrl,
|
|
19174
|
+
// url : "https://publicsuffix.org/list/public_suffix_list.dat",
|
|
18803
19175
|
alternativeUrl : "https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat",
|
|
18804
19176
|
// only available from backend calls
|
|
18805
19177
|
isCachingRequired : false,
|
|
18806
19178
|
isUpdating : false
|
|
18807
19179
|
}
|
|
18808
19180
|
|
|
19181
|
+
if (
|
|
19182
|
+
!isGFFCtx
|
|
19183
|
+
&& typeof(options) != 'undefined'
|
|
19184
|
+
&& typeof(options.webroot) != 'undefined'
|
|
19185
|
+
) {
|
|
19186
|
+
defaultOptions.url = options.webroot + defaultUrl.substring(1);
|
|
19187
|
+
}
|
|
19188
|
+
|
|
19189
|
+
// Get the commit version
|
|
19190
|
+
// cat ./framework/v0.1.6-alpha.83/core/asset/data/public_suffix_list.dat|grep 'COMMIT:'|sed 's/^\/\/ COMMIT\: //'
|
|
19191
|
+
|
|
18809
19192
|
var self = {
|
|
18810
19193
|
options : null,
|
|
18811
19194
|
rawPSL : null,
|
|
18812
19195
|
PSL : [],
|
|
18813
19196
|
};
|
|
18814
19197
|
|
|
18815
|
-
|
|
18816
19198
|
var init = function(proto, options, cb) {
|
|
18817
19199
|
if ( typeof(options) == 'undefined' ) {
|
|
18818
19200
|
options = defaultOptions
|
|
@@ -18843,9 +19225,8 @@ function Domain(options, cb) {
|
|
|
18843
19225
|
return
|
|
18844
19226
|
}
|
|
18845
19227
|
|
|
18846
|
-
console.debug('[DOMAIN] PSL Loaded');
|
|
19228
|
+
console.debug('[DOMAIN][CB] PSL Loaded');
|
|
18847
19229
|
// return proto
|
|
18848
|
-
|
|
18849
19230
|
cb(err, proto)
|
|
18850
19231
|
});
|
|
18851
19232
|
}
|
|
@@ -19045,7 +19426,7 @@ function Domain(options, cb) {
|
|
|
19045
19426
|
return host
|
|
19046
19427
|
}
|
|
19047
19428
|
|
|
19048
|
-
console.debug('[DOMAIN][getFQDN]
|
|
19429
|
+
console.debug('[DOMAIN][getFQDN] FQDN: ' + host);
|
|
19049
19430
|
var ipObj = null
|
|
19050
19431
|
, err = null
|
|
19051
19432
|
;
|
|
@@ -19094,6 +19475,7 @@ function Domain(options, cb) {
|
|
|
19094
19475
|
if ( typeof(jsonFormat) == 'undefined' ) {
|
|
19095
19476
|
jsonFormat = false
|
|
19096
19477
|
}
|
|
19478
|
+
urlOrHostname = urlOrHostname.trim();
|
|
19097
19479
|
var isSLD = false
|
|
19098
19480
|
, isRegisteredTldOrSld = false
|
|
19099
19481
|
, rootDomain = urlOrHostname.replace(/^(.*)\:\/\/|\/(.*)/g, '')
|
|
@@ -19739,13 +20121,15 @@ define('gina/link', [ 'require', 'jquery', 'vendor/uuid', 'lib/domain', 'lib/mer
|
|
|
19739
20121
|
instance.getLinkByUrl = getLinkByUrl;
|
|
19740
20122
|
}
|
|
19741
20123
|
|
|
19742
|
-
|
|
19743
|
-
|
|
19744
|
-
|
|
19745
|
-
|
|
20124
|
+
if (!domainInstance) {
|
|
20125
|
+
new Domain( function onReady(err, _domainInstance) {
|
|
20126
|
+
if (err) {
|
|
20127
|
+
throw err
|
|
20128
|
+
}
|
|
19746
20129
|
|
|
19747
|
-
|
|
19748
|
-
|
|
20130
|
+
domainInstance = _domainInstance;
|
|
20131
|
+
});
|
|
20132
|
+
}
|
|
19749
20133
|
|
|
19750
20134
|
return init(options)
|
|
19751
20135
|
}
|
|
@@ -21528,13 +21912,15 @@ define('gina/popin', [ 'require', 'vendor/uuid', 'jquery', 'lib/domain', 'lib/me
|
|
|
21528
21912
|
popinGetContainer()
|
|
21529
21913
|
}
|
|
21530
21914
|
|
|
21531
|
-
|
|
21532
|
-
|
|
21533
|
-
|
|
21534
|
-
|
|
21915
|
+
if (!domainInstance) {
|
|
21916
|
+
new Domain( function onReady(err, _domainInstance) {
|
|
21917
|
+
if (err) {
|
|
21918
|
+
throw err
|
|
21919
|
+
}
|
|
21535
21920
|
|
|
21536
|
-
|
|
21537
|
-
|
|
21921
|
+
domainInstance = _domainInstance;
|
|
21922
|
+
});
|
|
21923
|
+
}
|
|
21538
21924
|
|
|
21539
21925
|
return init(options)
|
|
21540
21926
|
}
|
|
@@ -21654,7 +22040,7 @@ define("utils/polyfill", function(){});
|
|
|
21654
22040
|
|
|
21655
22041
|
/**
|
|
21656
22042
|
* This file is part of the gina package.
|
|
21657
|
-
* Copyright (c) 2009-
|
|
22043
|
+
* Copyright (c) 2009-2025 Rhinostone <contact@gina.io>
|
|
21658
22044
|
*
|
|
21659
22045
|
* For the full copyright and license information, please view the LICENSE
|
|
21660
22046
|
* file that was distributed with this source code.
|