gina 0.1.6-alpha.12 → 0.1.6-alpha.120
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.120}/LICENSE +1 -1
- package/framework/v0.1.6-alpha.120/VERSION +1 -0
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/asset/plugin/README.md +1 -0
- package/framework/v0.1.6-alpha.120/core/asset/plugin/dist/vendor/gina/css/gina.min.css.map +1 -0
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/asset/plugin/dist/vendor/gina/html/toolbar.html +1 -1
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/asset/plugin/dist/vendor/gina/js/gina.js +617 -233
- package/framework/v0.1.6-alpha.120/core/asset/plugin/dist/vendor/gina/js/gina.min.js +778 -0
- package/framework/v0.1.6-alpha.120/core/asset/plugin/dist/vendor/gina/js/gina.min.js.map +8 -0
- package/framework/v0.1.6-alpha.120/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +8 -0
- package/framework/v0.1.6-alpha.120/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.120}/core/config.js +157 -74
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/connectors/couchbase/index.js +108 -26
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/connectors/couchbase/lib/connector.v4.js +124 -22
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/controller/controller.js +683 -163
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/controller/index.js +2 -2
- package/framework/v0.1.6-alpha.120/core/deps/busboy-1.6.0/.github/workflows/ci.yml +24 -0
- package/framework/v0.1.6-alpha.120/core/deps/busboy-1.6.0/.github/workflows/lint.yml +23 -0
- package/framework/v0.1.6-alpha.120/core/deps/busboy-1.6.0/README.md +191 -0
- package/framework/v0.1.6-alpha.120/core/deps/busboy-1.6.0/bench/bench-multipart-fields-100mb-big.js +149 -0
- package/framework/v0.1.6-alpha.120/core/deps/busboy-1.6.0/bench/bench-multipart-fields-100mb-small.js +143 -0
- package/framework/v0.1.6-alpha.120/core/deps/busboy-1.6.0/bench/bench-multipart-files-100mb-big.js +154 -0
- package/framework/v0.1.6-alpha.120/core/deps/busboy-1.6.0/bench/bench-multipart-files-100mb-small.js +148 -0
- package/framework/v0.1.6-alpha.120/core/deps/busboy-1.6.0/bench/bench-urlencoded-fields-100pairs-small.js +101 -0
- package/framework/v0.1.6-alpha.120/core/deps/busboy-1.6.0/bench/bench-urlencoded-fields-900pairs-small-alt.js +84 -0
- package/framework/v0.1.6-alpha.120/core/deps/busboy-1.6.0/lib/index.js +57 -0
- package/framework/v0.1.6-alpha.120/core/deps/busboy-1.6.0/lib/types/multipart.js +680 -0
- package/framework/v0.1.6-alpha.120/core/deps/busboy-1.6.0/lib/types/urlencoded.js +350 -0
- package/framework/v0.1.6-alpha.120/core/deps/busboy-1.6.0/lib/utils.js +596 -0
- package/framework/v0.1.6-alpha.120/core/deps/busboy-1.6.0/package.json +22 -0
- package/framework/v0.1.6-alpha.120/core/deps/optimist-0.6.1/.travis.yml +4 -0
- package/framework/v0.1.6-alpha.120/core/deps/optimist-0.6.1/LICENSE +21 -0
- package/framework/v0.1.6-alpha.120/core/deps/optimist-0.6.1/example/bool.js +10 -0
- package/framework/v0.1.6-alpha.120/core/deps/optimist-0.6.1/example/boolean_double.js +7 -0
- package/framework/v0.1.6-alpha.120/core/deps/optimist-0.6.1/example/boolean_single.js +7 -0
- package/framework/v0.1.6-alpha.120/core/deps/optimist-0.6.1/example/default_hash.js +8 -0
- package/framework/v0.1.6-alpha.120/core/deps/optimist-0.6.1/example/default_singles.js +7 -0
- package/framework/v0.1.6-alpha.120/core/deps/optimist-0.6.1/example/divide.js +8 -0
- package/framework/v0.1.6-alpha.120/core/deps/optimist-0.6.1/example/line_count.js +20 -0
- package/framework/v0.1.6-alpha.120/core/deps/optimist-0.6.1/example/line_count_options.js +29 -0
- package/framework/v0.1.6-alpha.120/core/deps/optimist-0.6.1/example/line_count_wrap.js +29 -0
- package/framework/v0.1.6-alpha.120/core/deps/optimist-0.6.1/example/nonopt.js +4 -0
- package/framework/v0.1.6-alpha.120/core/deps/optimist-0.6.1/example/reflect.js +2 -0
- package/framework/v0.1.6-alpha.120/core/deps/optimist-0.6.1/example/short.js +3 -0
- package/framework/v0.1.6-alpha.120/core/deps/optimist-0.6.1/example/string.js +11 -0
- package/framework/v0.1.6-alpha.120/core/deps/optimist-0.6.1/example/usage-options.js +19 -0
- package/framework/v0.1.6-alpha.120/core/deps/optimist-0.6.1/example/xup.js +10 -0
- package/framework/v0.1.6-alpha.120/core/deps/optimist-0.6.1/index.js +343 -0
- package/framework/v0.1.6-alpha.120/core/deps/optimist-0.6.1/package.json +31 -0
- package/framework/v0.1.6-alpha.120/core/deps/optimist-0.6.1/package.json.dist +39 -0
- package/framework/v0.1.6-alpha.120/core/deps/optimist-0.6.1/readme.markdown +513 -0
- package/framework/v0.1.6-alpha.120/core/deps/swig-1.4.2/HISTORY.md +498 -0
- package/framework/v0.1.6-alpha.120/core/deps/swig-1.4.2/LICENSE +7 -0
- package/framework/v0.1.6-alpha.120/core/deps/swig-1.4.2/README.md +88 -0
- package/framework/v0.1.6-alpha.120/core/deps/swig-1.4.2/bin/swig.js +161 -0
- package/framework/v0.1.6-alpha.120/core/deps/swig-1.4.2/bin/swig.js.dist +161 -0
- package/framework/v0.1.6-alpha.120/core/deps/swig-1.4.2/dist/swig.min.js +7 -0
- package/framework/v0.1.6-alpha.120/core/deps/swig-1.4.2/dist/swig.min.js.map +8 -0
- package/framework/v0.1.6-alpha.120/core/deps/swig-1.4.2/index.js +1 -0
- package/framework/v0.1.6-alpha.120/core/deps/swig-1.4.2/lib/dateformatter.js +198 -0
- package/framework/v0.1.6-alpha.120/core/deps/swig-1.4.2/lib/filters.js +630 -0
- package/framework/v0.1.6-alpha.120/core/deps/swig-1.4.2/lib/lexer.js +306 -0
- package/framework/v0.1.6-alpha.120/core/deps/swig-1.4.2/lib/loaders/filesystem.js +59 -0
- package/framework/v0.1.6-alpha.120/core/deps/swig-1.4.2/lib/loaders/index.js +53 -0
- package/framework/v0.1.6-alpha.120/core/deps/swig-1.4.2/lib/loaders/memory.js +63 -0
- package/framework/v0.1.6-alpha.120/core/deps/swig-1.4.2/lib/parser.js +744 -0
- package/framework/v0.1.6-alpha.120/core/deps/swig-1.4.2/lib/swig.js +740 -0
- package/framework/v0.1.6-alpha.120/core/deps/swig-1.4.2/lib/tags/autoescape.js +37 -0
- package/framework/v0.1.6-alpha.120/core/deps/swig-1.4.2/lib/tags/block.js +25 -0
- package/framework/v0.1.6-alpha.120/core/deps/swig-1.4.2/lib/tags/else.js +25 -0
- package/framework/v0.1.6-alpha.120/core/deps/swig-1.4.2/lib/tags/elseif.js +28 -0
- package/framework/v0.1.6-alpha.120/core/deps/swig-1.4.2/lib/tags/extends.js +19 -0
- package/framework/v0.1.6-alpha.120/core/deps/swig-1.4.2/lib/tags/filter.js +68 -0
- package/framework/v0.1.6-alpha.120/core/deps/swig-1.4.2/lib/tags/for.js +130 -0
- package/framework/v0.1.6-alpha.120/core/deps/swig-1.4.2/lib/tags/if.js +86 -0
- package/framework/v0.1.6-alpha.120/core/deps/swig-1.4.2/lib/tags/import.js +91 -0
- package/framework/v0.1.6-alpha.120/core/deps/swig-1.4.2/lib/tags/include.js +100 -0
- package/framework/v0.1.6-alpha.120/core/deps/swig-1.4.2/lib/tags/index.js +16 -0
- package/framework/v0.1.6-alpha.120/core/deps/swig-1.4.2/lib/tags/macro.js +79 -0
- package/framework/v0.1.6-alpha.120/core/deps/swig-1.4.2/lib/tags/parent.js +51 -0
- package/framework/v0.1.6-alpha.120/core/deps/swig-1.4.2/lib/tags/raw.js +23 -0
- package/framework/v0.1.6-alpha.120/core/deps/swig-1.4.2/lib/tags/set.js +109 -0
- package/framework/v0.1.6-alpha.120/core/deps/swig-1.4.2/lib/tags/spaceless.js +42 -0
- package/framework/v0.1.6-alpha.120/core/deps/swig-1.4.2/lib/utils.js +184 -0
- package/framework/v0.1.6-alpha.120/core/deps/swig-1.4.2/package.json +57 -0
- package/framework/v0.1.6-alpha.120/core/deps/swig-1.4.2/package.json.dist +61 -0
- package/framework/v0.1.6-alpha.120/core/deps/swig-client/swig.js +5031 -0
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/dev/index.js +1 -1
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/dev/lib/factory.js +1 -1
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/gna.js +104 -22
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/locales/index.js +3 -3
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/locales/src/make.js +1 -1
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/mime.types +1 -0
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/model/entity.js +5 -5
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/model/index.js +30 -26
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/model/template/entityFactory.js +1 -1
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/model/template/index.js +1 -1
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/plugins/index.js +3 -3
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/plugins/lib/file/package.json +2 -2
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/plugins/lib/intl/package.json +2 -2
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/plugins/lib/storage/package.json +2 -2
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/plugins/lib/validator/package.json +2 -2
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/plugins/lib/validator/src/form-validator.js +39 -27
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/plugins/lib/validator/src/main.js +388 -101
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/router.js +92 -47
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/server.isaac.js +91 -10
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/server.js +317 -130
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/status.codes +1 -11
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/template/boilerplate/bundle/controllers/setup.js +2 -2
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/template/command/gina.tpl +1 -1
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/template/conf/env.json +19 -0
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/template/conf/templates.json +4 -2
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/helpers/console.js +1 -1
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/helpers/context.js +29 -12
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/helpers/data/package.json +2 -2
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/helpers/data/src/main.js +1 -1
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/helpers/dateFormat.js +1 -1
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/helpers/index.js +1 -1
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/helpers/json/package.json +2 -2
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/helpers/json/src/main.js +6 -4
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/helpers/path.js +31 -15
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/helpers/plugins/package.json +2 -2
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/helpers/plugins/src/api-error.js +2 -2
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/helpers/plugins/src/main.js +1 -1
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/helpers/task.js +2 -2
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/helpers/text.js +1 -1
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/archiver/package.json +2 -2
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/archiver/src/main.js +11 -11
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/bundle/add.js +2 -1
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/bundle/start.js +21 -8
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/env/get.js +1 -1
- package/framework/v0.1.6-alpha.120/lib/cmd/env/help.js +30 -0
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/framework/build.js +1 -1
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/framework/dot.js +21 -0
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/framework/init.js +18 -0
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/framework/link-node-modules.js +2 -3
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/framework/link.js +1 -0
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/framework/tail.js +28 -11
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/framework/version.js +15 -1
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/helper.js +6 -2
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/index.js +1 -1
- package/framework/v0.1.6-alpha.120/lib/cmd/minion/help.txt +18 -0
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/project/add.js +3 -2
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/project/build.js +4 -4
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/project/list.js +1 -1
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/protocol/list.js +71 -50
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/collection/package.json +2 -2
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/collection/src/main.js +20 -14
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/config.js +1 -1
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cron/package.json +2 -2
- package/framework/v0.1.6-alpha.120/lib/domain/dist/2025-03-14_13-41-20_UTC.dat +15754 -0
- package/framework/v0.1.6-alpha.120/lib/domain/dist/public_suffix_list.dat +15754 -0
- package/framework/v0.1.6-alpha.120/lib/domain/exemples/backend.js +12 -0
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/domain/package.json +2 -2
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/domain/src/main.js +20 -6
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/generator/index.js +1 -1
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/index.js +1 -1
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120/lib/inherits}/LICENSE +1 -1
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/inherits/package.json +2 -2
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/inherits/src/main.js +1 -1
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/logger/package.json +2 -2
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/logger/src/containers/mq/listener.js +10 -2
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/logger/src/helper.js +1 -1
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/logger/src/main.js +1 -1
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/math/index.js +1 -1
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/merge/package.json +2 -2
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/model.js +3 -3
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/proc.js +10 -2
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/routing/package.json +2 -2
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/routing/src/main.js +72 -25
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/session-store.js +3 -3
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/swig-filters/package.json +2 -2
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/swig-filters/src/main.js +70 -15
- package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/validator.js +2 -2
- package/framework/v0.1.6-alpha.120/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.120}/AUTHORS +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/asset/html/nolayout.html +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/asset/html/static.html +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/asset/img/android-chrome-192x192.png +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/asset/img/android-chrome-512x512.png +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/asset/img/apple-touch-icon.png +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/asset/img/favicon-16x16.png +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/asset/img/favicon-32x32.png +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/asset/img/favicon.ico +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/asset/plugin/dist/vendor/gina/css/gina.min.css +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/asset/plugin/uuid.json +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/connectors/couchbase/lib/connector.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/connectors/couchbase/lib/connector.v2.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/connectors/couchbase/lib/connector.v3.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/connectors/couchbase/lib/n1ql.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/connectors/couchbase/lib/session-store.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/connectors/couchbase/lib/session-store.v2.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/connectors/couchbase/lib/session-store.v3.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/connectors/couchbase/lib/session-store.v4.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/controller/controller.framework.js +0 -0
- /package/framework/{v0.1.6-alpha.12/core/deps/busboy → v0.1.6-alpha.120/core/deps/busboy-1.6.0}/LICENSE +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/deps/swig-client/swig-2.0.0.min.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/dev/lib/class.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/dev/lib/tools.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/locales/README.md +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/locales/currency.json +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/locales/dist/language/en.json +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/locales/dist/language/fr.json +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/locales/dist/region/en.json +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/locales/dist/region/fr.json +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/locales/src/resources/currency.csv +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/locales/src/resources/region.csv +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/locales/src/resources/region.mapping.json +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/plugins/README.md +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/plugins/lib/file/README.md +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/plugins/lib/file/build.json +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/plugins/lib/intl/README.md +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/plugins/lib/intl/build.json +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/plugins/lib/intl/src/main.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/plugins/lib/storage/README.md +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/plugins/lib/storage/build.json +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/plugins/lib/storage/src/main.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/plugins/lib/validator/README.md +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/plugins/lib/validator/build.json +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/server.express.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/template/_gitignore +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/template/boilerplate/bundle/config/app.json +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/template/boilerplate/bundle/config/routing.json +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/template/boilerplate/bundle/config/settings.json +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/template/boilerplate/bundle/config/settings.server.json +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/template/boilerplate/bundle/config/templates.json +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/template/boilerplate/bundle/controllers/controller.content.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/template/boilerplate/bundle/controllers/controller.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/template/boilerplate/bundle/index.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/template/boilerplate/bundle_namespace/controllers/controller.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/template/boilerplate/bundle_public/css/default.css +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/template/boilerplate/bundle_public/css/vendor/readme.md +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/template/boilerplate/bundle_public/favicon.ico +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/template/boilerplate/bundle_public/js/vendor/readme.md +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/template/boilerplate/bundle_public/readme.md +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/template/boilerplate/bundle_templates/handlers/main.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/template/boilerplate/bundle_templates/html/content/homepage.html +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/template/boilerplate/bundle_templates/html/includes/error-msg-noscript.html +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/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.120}/core/template/boilerplate/bundle_templates/html/layouts/main.html +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/template/command/gina.bat.tpl +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/template/conf/manifest.json +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/template/conf/package.json +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/template/conf/settings.json +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/template/conf/statics.json +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/template/error/client/json/401.json +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/template/error/client/json/403.json +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/template/error/client/json/404.json +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/template/error/server/html/50x.html +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/template/error/server/json/500.json +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/template/error/server/json/503.json +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/template/extensions/logger/config.json +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/helpers/data/LICENSE +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/helpers/data/README.md +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/helpers/json/LICENSE +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/helpers/json/README.md +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/helpers/plugins/README.md +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/helpers/prototypes.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/archiver/README.md +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/archiver/build.json +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/archiver/src/dep/jszip.min.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/aliases.json +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/bundle/arguments.json +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/bundle/copy.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/bundle/cp.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/bundle/help.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/bundle/help.txt +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/bundle/list.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/bundle/remove.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/bundle/rename.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/bundle/restart.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/bundle/rm.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/bundle/status.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/bundle/stop.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/env/add.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/env/help.txt +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/env/link-dev.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/env/list.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/env/remove.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/env/rm.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/env/set.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/env/unset.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/env/use.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/framework/get.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/framework/help.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/framework/help.txt +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/framework/msg.json +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/framework/open.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/framework/restart.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/framework/set.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/framework/start.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/framework/status.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/framework/stop.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/framework/update.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/gina-dev.1.md +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/gina-framework.1.md +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/gina.1.md +0 -0
- /package/framework/{v0.1.6-alpha.12/lib/cmd/env → v0.1.6-alpha.120/lib/cmd/minion}/help.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/msg.json +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/port/help.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/port/help.txt +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/port/inc/scan.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/port/list.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/port/reset.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/port/set.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/project/arguments.json +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/project/help.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/project/help.txt +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/project/import.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/project/move.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/project/remove.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/project/rename.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/project/restart.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/project/rm.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/project/start.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/project/status.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/project/stop.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/protocol/help.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/protocol/help.txt +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/protocol/set.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/scope/add.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/scope/help.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/scope/help.txt +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/scope/link-local.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/scope/link-production.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/scope/list.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/scope/remove.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/scope/rm.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/scope/use.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/view/add.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/collection/README.md +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/collection/build.json +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cron/README.md +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cron/src/main.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/domain/LICENSE +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/domain/README.md +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/domain/exemples/frontend.html +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/inherits/README.md +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/inherits/example/inheriting_eventemitter.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/inherits/example/protected_inheritance.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/inherits/example/simple_inheritance.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/inherits/example/super_attribute_overridden_by_child_on_init.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/logger/README.md +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/logger/src/containers/default/index.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/logger/src/containers/file/index.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/logger/src/containers/file/lib/logrotator/README.md +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/logger/src/containers/file/lib/logrotator/index.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/logger/src/containers/mq/index.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/logger/src/containers/mq/speaker.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/merge/README.md +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/merge/example/merge.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/merge/example/merge_2_literal objects.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/merge/example/merge_and_preserve_first.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/merge/src/main.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/routing/README.md +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/routing/build.json +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/shell.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/swig-filters/README.md +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/url/README.md +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/url/index.js +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/url/mocks.json +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/url/routing.json +0 -0
- /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/url/test.js +0 -0
package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/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,10 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
13362
13638
|
}
|
|
13363
13639
|
break;
|
|
13364
13640
|
// Shortcuts
|
|
13365
|
-
case 17: //CTRL
|
|
13366
|
-
case
|
|
13367
|
-
|
|
13641
|
+
case 17: // CTRL
|
|
13642
|
+
case 20: // CapsLock
|
|
13643
|
+
case 91: // CMD
|
|
13644
|
+
console.debug("CMD, CTRL or CapsLock hit");
|
|
13368
13645
|
e.preventDefault();
|
|
13369
13646
|
break;
|
|
13370
13647
|
case 67: // to handle CMD+C (copy)
|
|
@@ -13412,14 +13689,14 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
13412
13689
|
default:
|
|
13413
13690
|
// Replace selection
|
|
13414
13691
|
if (posStart != posEnd) {
|
|
13415
|
-
$_el.value = str.
|
|
13692
|
+
$_el.value = str.substring(0, posStart) + e.key;
|
|
13416
13693
|
if (posEnd-1 < str.length) {
|
|
13417
13694
|
$_el.value += str.substring(posEnd)
|
|
13418
13695
|
}
|
|
13419
13696
|
} else if (posStart == 0) {
|
|
13420
13697
|
$_el.value = e.key + str.substring(posStart);
|
|
13421
13698
|
} else {
|
|
13422
|
-
$_el.value = str.
|
|
13699
|
+
$_el.value = str.substring(0, posStart) + e.key + str.substring(posEnd);
|
|
13423
13700
|
}
|
|
13424
13701
|
e.currentTarget.setAttribute('readonly', 'readonly');
|
|
13425
13702
|
// Force restore last caret position
|
|
@@ -13561,24 +13838,53 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
13561
13838
|
}
|
|
13562
13839
|
|
|
13563
13840
|
/**
|
|
13564
|
-
* reBindForm
|
|
13841
|
+
* reBindForm
|
|
13842
|
+
* Allows form rebinding: it is like reseting validation
|
|
13565
13843
|
*
|
|
13566
|
-
*
|
|
13567
|
-
*
|
|
13568
|
-
*
|
|
13844
|
+
* E.g.:
|
|
13845
|
+
* $validator
|
|
13846
|
+
* .getFormById('my-form-id')
|
|
13847
|
+
* .reBind();
|
|
13848
|
+
*
|
|
13849
|
+
* @param {string} [formId]
|
|
13850
|
+
* @param {string} [rules]
|
|
13851
|
+
* @param {callback} [cb]
|
|
13569
13852
|
*/
|
|
13570
|
-
var reBindForm = function(
|
|
13571
|
-
|
|
13572
|
-
|
|
13853
|
+
var reBindForm = function(formId, rules, cb) {
|
|
13854
|
+
var $form = null
|
|
13855
|
+
, _id = null
|
|
13856
|
+
;
|
|
13857
|
+
if (
|
|
13858
|
+
typeof(this.target) != 'undefined'
|
|
13859
|
+
&& /FORM/i.test(this.target.tagName)
|
|
13860
|
+
) {
|
|
13861
|
+
_id = formId = this.target.getAttribute('id')
|
|
13862
|
+
} else if ( /string/i.test(typeof(formId)) ) {
|
|
13863
|
+
_id = formId
|
|
13864
|
+
}
|
|
13865
|
+
|
|
13866
|
+
if ( typeof(instance.$forms[_id]) != 'undefined') {
|
|
13867
|
+
$form = instance.$forms[_id];
|
|
13868
|
+
} else {
|
|
13869
|
+
throw new Error('form instance `'+ _id +'` not found');
|
|
13870
|
+
}
|
|
13871
|
+
|
|
13573
13872
|
// reset errors
|
|
13574
|
-
|
|
13873
|
+
resetErrorsDisplay(_id);
|
|
13874
|
+
// Unbind form
|
|
13875
|
+
unbindForm($form.target);
|
|
13575
13876
|
// Bind
|
|
13576
|
-
|
|
13877
|
+
if ( typeof(rule) != 'undefined' ) {
|
|
13878
|
+
bindForm($form.target, rules);
|
|
13879
|
+
} else {
|
|
13880
|
+
bindForm($form.target);
|
|
13881
|
+
}
|
|
13577
13882
|
|
|
13578
13883
|
if ( cb ) {
|
|
13579
|
-
return cb(
|
|
13884
|
+
return cb($form);
|
|
13580
13885
|
}
|
|
13581
|
-
|
|
13886
|
+
|
|
13887
|
+
return $form;
|
|
13582
13888
|
}
|
|
13583
13889
|
|
|
13584
13890
|
var unbindForm = function($target) {
|
|
@@ -13596,7 +13902,7 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
13596
13902
|
|
|
13597
13903
|
} else if ( typeof($target.target) != 'undefined' ) {
|
|
13598
13904
|
$form = $target;
|
|
13599
|
-
_id = $form.id;
|
|
13905
|
+
_id = ( $target.getAttribute && $target.getAttribute('id') ) ? $form.getAttribute('id') : $form.id;
|
|
13600
13906
|
} else {
|
|
13601
13907
|
throw new Error('Validator::unbindForm($target): `$target` must be a DOM element\n'+err.stack )
|
|
13602
13908
|
}
|
|
@@ -13635,7 +13941,7 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
13635
13941
|
// submit buttons
|
|
13636
13942
|
$elTMP = $form.target.getElementsByTagName('button');
|
|
13637
13943
|
if ( $elTMP.length > 0 ) {
|
|
13638
|
-
for(let i = 0, len = $elTMP.length; i < len; ++i) {
|
|
13944
|
+
for (let i = 0, len = $elTMP.length; i < len; ++i) {
|
|
13639
13945
|
// if button is != type="submit", you will need to provide : data-gina-form-submit
|
|
13640
13946
|
// TODO - On button binding, you can then provide data-gina-form-action & data-gina-form-method
|
|
13641
13947
|
$els.push($elTMP[i])
|
|
@@ -13645,7 +13951,7 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
13645
13951
|
// submit links
|
|
13646
13952
|
$elTMP = $form.target.getElementsByTagName('a');
|
|
13647
13953
|
if ( $elTMP.length > 0 ) {
|
|
13648
|
-
for(let i = 0, len = $elTMP.length; i < len; ++i) {
|
|
13954
|
+
for (let i = 0, len = $elTMP.length; i < len; ++i) {
|
|
13649
13955
|
$els.push($elTMP[i])
|
|
13650
13956
|
}
|
|
13651
13957
|
}
|
|
@@ -13701,7 +14007,7 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
13701
14007
|
// textarea
|
|
13702
14008
|
$elTMP = $form.target.getElementsByTagName('textarea');
|
|
13703
14009
|
if ( $elTMP.length > 0 ) {
|
|
13704
|
-
for(let i = 0, len = $elTMP.length; i < len; ++i) {
|
|
14010
|
+
for (let i = 0, len = $elTMP.length; i < len; ++i) {
|
|
13705
14011
|
$els.push( $elTMP[i] )
|
|
13706
14012
|
}
|
|
13707
14013
|
}
|
|
@@ -13710,7 +14016,7 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
13710
14016
|
// forms inside main form
|
|
13711
14017
|
$elTMP = $form.target.getElementsByTagName('form');
|
|
13712
14018
|
if ( $elTMP.length > 0 ) {
|
|
13713
|
-
for(let i = 0, len = $elTMP.length; i < len; ++i) {
|
|
14019
|
+
for (let i = 0, len = $elTMP.length; i < len; ++i) {
|
|
13714
14020
|
$els.push( $elTMP[i] )
|
|
13715
14021
|
}
|
|
13716
14022
|
}
|
|
@@ -13795,8 +14101,10 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
13795
14101
|
/**
|
|
13796
14102
|
* bindForm
|
|
13797
14103
|
*
|
|
13798
|
-
* @param {object} $target - DOM element
|
|
13799
|
-
* @param {object} [customRule]
|
|
14104
|
+
* @param {object} [$target] - DOM element
|
|
14105
|
+
* @param {object|string} [customRule]
|
|
14106
|
+
*
|
|
14107
|
+
* @return {object} bindedForm
|
|
13800
14108
|
* */
|
|
13801
14109
|
var bindForm = function($target, customRule) {
|
|
13802
14110
|
|
|
@@ -13805,23 +14113,32 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
13805
14113
|
, rules = ( typeof(local.rules.count() > 0 ) ) ? local.rules : instance.rules
|
|
13806
14114
|
;
|
|
13807
14115
|
|
|
13808
|
-
|
|
13809
|
-
|
|
13810
|
-
|
|
13811
|
-
|
|
13812
|
-
|
|
13813
|
-
|
|
13814
|
-
|
|
14116
|
+
if (
|
|
14117
|
+
typeof($target) == 'undefined'
|
|
14118
|
+
&& typeof(this.target) != 'undefined'
|
|
14119
|
+
&& /FORM/i.test(this.target.tagName)
|
|
14120
|
+
||
|
|
14121
|
+
!/object/i.test( typeof($target) )
|
|
14122
|
+
) {
|
|
14123
|
+
_id = this.target.id || this.target.getAttribute('id');
|
|
14124
|
+
} else if ( /string/i.test(typeof($target)) ) {
|
|
14125
|
+
_id = $target
|
|
14126
|
+
} else {
|
|
14127
|
+
_id = $target.getAttribute('id')
|
|
14128
|
+
}
|
|
13815
14129
|
|
|
14130
|
+
try {
|
|
14131
|
+
if ( typeof(instance.$forms[_id]) != 'undefined') {
|
|
14132
|
+
$form = instance.$forms[_id];
|
|
14133
|
+
if ( typeof($form.target) == 'undefined' ) {
|
|
14134
|
+
throw new Error('Validator::bindForm($target, customRule): `$target` must be a DOM element\n');
|
|
14135
|
+
}
|
|
14136
|
+
$target = $form.target;
|
|
13816
14137
|
} else {
|
|
13817
|
-
throw new Error('
|
|
14138
|
+
throw new Error('form instance `'+ _id +'` not found');
|
|
13818
14139
|
}
|
|
13819
14140
|
} 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
|
|
14141
|
+
throw new Error('Validator::bindForm($target, customRule) could not bind form `'+ $target +'`\n'+err.stack );
|
|
13825
14142
|
}
|
|
13826
14143
|
|
|
13827
14144
|
console.debug('binding for: '+ _id);
|
|
@@ -14127,7 +14444,7 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
14127
14444
|
} else if ( /img/i.test($els[i].tagName) ) {
|
|
14128
14445
|
$img = $els[i];
|
|
14129
14446
|
deleteLinkId = uploadTriggerId + '-'+index+'-delete-trigger';
|
|
14130
|
-
let file = $img.src.
|
|
14447
|
+
let file = $img.src.substring($img.src.lastIndexOf('/')+1);
|
|
14131
14448
|
$uploadTrigger.customFiles.push({
|
|
14132
14449
|
name: file,
|
|
14133
14450
|
deleteLinkId: deleteLinkId
|
|
@@ -14519,7 +14836,16 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
14519
14836
|
validate($gForm, gFields, $gFields, gRules, function onSilentGlobalLiveValidation(gResult){
|
|
14520
14837
|
instance.$forms[formId].isValidating = false;
|
|
14521
14838
|
console.debug('[updateSelect]: onSilentGlobalLiveValidation: '+ gResult.isValid(), gResult);
|
|
14839
|
+
// Fixed on 2025-03-16
|
|
14522
14840
|
var isFormValid = gResult.isValid();
|
|
14841
|
+
if (!isFormValid) {
|
|
14842
|
+
instance.$forms[formId].errors = gResult.error;
|
|
14843
|
+
for (let eField in gResult.error) {
|
|
14844
|
+
// refreshWarning($gFields[eField]);
|
|
14845
|
+
handleErrorsDisplay($gForm, gResult.error, gResult.data, eField);
|
|
14846
|
+
}
|
|
14847
|
+
}
|
|
14848
|
+
|
|
14523
14849
|
updateSubmitTriggerState( $gForm, isFormValid);
|
|
14524
14850
|
once = false;
|
|
14525
14851
|
})
|
|
@@ -15113,6 +15439,25 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
15113
15439
|
if (gina.events[_evt]) {
|
|
15114
15440
|
cancelEvent(event);
|
|
15115
15441
|
|
|
15442
|
+
// Fixed on 2025-03-05 - "last focus" vs "current focus"
|
|
15443
|
+
// To get active element: document.activeElement
|
|
15444
|
+
var formId = event.target.form.getAttribute('id') || event.currentTarget.getAttribute('id');
|
|
15445
|
+
var lastFocused = {
|
|
15446
|
+
id : $el.id,
|
|
15447
|
+
name: $el.name
|
|
15448
|
+
};
|
|
15449
|
+
if (!instance.$forms[formId].lastFocused.length) {
|
|
15450
|
+
instance.$forms[formId].lastFocused[0] = lastFocused;
|
|
15451
|
+
} else {
|
|
15452
|
+
instance.$forms[formId].lastFocused.splice(0,0,lastFocused);
|
|
15453
|
+
}
|
|
15454
|
+
lastFocused = ( typeof(instance.$forms[formId].lastFocused[1]) != 'undefined' ) ? instance.$forms[formId].lastFocused[1].id : null;
|
|
15455
|
+
|
|
15456
|
+
// cleanup
|
|
15457
|
+
instance.$forms[formId].lastFocused.splice(2);
|
|
15458
|
+
|
|
15459
|
+
// console.debug('lastFocused: ', lastFocused, ' VS current: ', $el.id);
|
|
15460
|
+
|
|
15116
15461
|
triggerEvent(gina, $el, _evt, event.detail);
|
|
15117
15462
|
}
|
|
15118
15463
|
});
|
|
@@ -15429,7 +15774,7 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
15429
15774
|
;
|
|
15430
15775
|
$buttonsTMP = $target.getElementsByTagName('button');
|
|
15431
15776
|
if ( $buttonsTMP.length > 0 ) {
|
|
15432
|
-
for(let b = 0, len = $buttonsTMP.length; b < len; ++b) {
|
|
15777
|
+
for (let b = 0, len = $buttonsTMP.length; b < len; ++b) {
|
|
15433
15778
|
if ($buttonsTMP[b].type == 'submit') {
|
|
15434
15779
|
$buttons.push($buttonsTMP[b])
|
|
15435
15780
|
}
|
|
@@ -15439,7 +15784,7 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
15439
15784
|
// binding links
|
|
15440
15785
|
$buttonsTMP = $target.getElementsByTagName('a');
|
|
15441
15786
|
if ( $buttonsTMP.length > 0 ) {
|
|
15442
|
-
for(let b = 0, len = $buttonsTMP.length; b < len; ++b) {
|
|
15787
|
+
for (let b = 0, len = $buttonsTMP.length; b < len; ++b) {
|
|
15443
15788
|
if ( $buttonsTMP[b].attributes.getNamedItem('data-gina-form-submit') ) {
|
|
15444
15789
|
$buttons.push($buttonsTMP[b])
|
|
15445
15790
|
} else if (
|
|
@@ -15696,7 +16041,8 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
15696
16041
|
}
|
|
15697
16042
|
updateSubmitTriggerState( $form, result.isValid() );
|
|
15698
16043
|
});
|
|
15699
|
-
}
|
|
16044
|
+
}
|
|
16045
|
+
else if (!/^(true)$/i.test($form.target.dataset.ginaFormLiveCheckEnabled) ) {
|
|
15700
16046
|
updateSubmitTriggerState( $form , true );
|
|
15701
16047
|
}
|
|
15702
16048
|
|
|
@@ -16159,7 +16505,8 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
16159
16505
|
if ( !/^form$/i.test($formOrElement.tagName) ) {
|
|
16160
16506
|
$currentForm = $formOrElement.form;
|
|
16161
16507
|
}
|
|
16162
|
-
var formId
|
|
16508
|
+
var formId = $currentForm.getAttribute('id');
|
|
16509
|
+
var isFormValid = null;
|
|
16163
16510
|
|
|
16164
16511
|
if (
|
|
16165
16512
|
hasParsedAllRules
|
|
@@ -16180,10 +16527,16 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
16180
16527
|
if ( typeof(instance.$forms[formId].errors) == 'undefined' ) {
|
|
16181
16528
|
instance.$forms[formId].errors = {}
|
|
16182
16529
|
}
|
|
16530
|
+
// Fixed on 2025-03-16
|
|
16531
|
+
if ( typeof(cb._errors[field]) != 'undefined' ) {
|
|
16532
|
+
instance.$forms[formId].errors[field] = cb._errors[field];
|
|
16533
|
+
}
|
|
16534
|
+
console.debug('[A] Refreshing warning/error on field '+ field);
|
|
16535
|
+
if (
|
|
16536
|
+
!isFormValid && /^true|false$/i.test(instance.$forms[formId].isValidating)
|
|
16537
|
+
|| d[field].target.value != ''
|
|
16183
16538
|
|
|
16184
|
-
|
|
16185
|
-
|
|
16186
|
-
if (!isFormValid && /^true|false$/i.test(instance.$forms[formId].isValidating) || d[field].target.value != '' ) {
|
|
16539
|
+
) {
|
|
16187
16540
|
refreshWarning($allFields[field]);
|
|
16188
16541
|
handleErrorsDisplay($currentForm, cb._errors, cb._data, field);
|
|
16189
16542
|
updateSubmitTriggerState( $currentForm, isFormValid);
|
|
@@ -16191,8 +16544,9 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
16191
16544
|
|
|
16192
16545
|
if ( envIsDev && isGFFCtx && typeof(window.ginaToolbar) != 'undefined' && window.ginaToolbar ) {
|
|
16193
16546
|
// update toolbar
|
|
16194
|
-
if (!gina.forms.errors)
|
|
16547
|
+
if (!gina.forms.errors) {
|
|
16195
16548
|
gina.forms.errors = {};
|
|
16549
|
+
}
|
|
16196
16550
|
|
|
16197
16551
|
var objCallback = {
|
|
16198
16552
|
id : formId,
|
|
@@ -16209,13 +16563,13 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
16209
16563
|
}
|
|
16210
16564
|
|
|
16211
16565
|
// is this the last or the only field to be validated ?
|
|
16212
|
-
var needsGlobalReValidation = false
|
|
16566
|
+
var needsGlobalReValidation = false;
|
|
16213
16567
|
if ( listedFields.length == 1 || listedFields[listedFields.length-1] == field) {
|
|
16214
16568
|
// trigger end of validation
|
|
16215
16569
|
// console.debug(field +' is the last element to be validated for formId: '+ formId, cb._errors, instance.$forms[formId].errors);
|
|
16216
16570
|
isFormValid = ( cb._errors.count() > 0 ) ? false : true;
|
|
16217
16571
|
if (!isFormValid && /^true|false$/i.test(instance.$forms[formId].isValidating)) {
|
|
16218
|
-
|
|
16572
|
+
console.debug('[1] Should update error display now ', cb._errors);
|
|
16219
16573
|
instance.$forms[formId].errors = merge(cb._errors, instance.$forms[formId].errors);
|
|
16220
16574
|
refreshWarning($allFields[field]);
|
|
16221
16575
|
handleErrorsDisplay($currentForm, cb._errors, cb._data, field);
|
|
@@ -16247,8 +16601,6 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
16247
16601
|
window.ginaToolbar.update('forms', objCallback);
|
|
16248
16602
|
}
|
|
16249
16603
|
|
|
16250
|
-
|
|
16251
|
-
|
|
16252
16604
|
handleErrorsDisplay($currentForm, gResult.error, gResult.data, field);
|
|
16253
16605
|
updateSubmitTriggerState( $currentForm, isFormValid);
|
|
16254
16606
|
})
|
|
@@ -16392,7 +16744,7 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
16392
16744
|
|
|
16393
16745
|
for (var c in rules) {
|
|
16394
16746
|
if (!/^\_case\_/.test(c) ) continue;
|
|
16395
|
-
if ( typeof(rules[c].conditions) == 'undefined' ||
|
|
16747
|
+
if ( typeof(rules[c].conditions) == 'undefined' || Array.isArray(rules[c].conditions) && !rules[c].conditions.length ) continue;
|
|
16396
16748
|
if ( typeof(rules[c].conditions[0].rules) == 'undefined' ) continue;
|
|
16397
16749
|
|
|
16398
16750
|
|
|
@@ -16574,7 +16926,14 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
16574
16926
|
// filtering conditions
|
|
16575
16927
|
for (var _c = 0, _cLen = rules[c].conditions.length; _c < _cLen; ++_c) {
|
|
16576
16928
|
|
|
16577
|
-
if (
|
|
16929
|
+
if (
|
|
16930
|
+
Array.isArray(rules[c].conditions[_c].case)
|
|
16931
|
+
&& rules[c].conditions[_c].case.indexOf(caseValue) == -1
|
|
16932
|
+
||
|
|
16933
|
+
!Array.isArray(rules[c].conditions[_c].case)
|
|
16934
|
+
&& rules[c].conditions[_c].case != caseValue
|
|
16935
|
+
|
|
16936
|
+
) {
|
|
16578
16937
|
continue;
|
|
16579
16938
|
}
|
|
16580
16939
|
|
|
@@ -16719,7 +17078,8 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
16719
17078
|
if (
|
|
16720
17079
|
conditions[c]['case'] === caseValue
|
|
16721
17080
|
||
|
|
16722
|
-
Array.isArray(conditions[c]['case'])
|
|
17081
|
+
Array.isArray(conditions[c]['case'])
|
|
17082
|
+
&& conditions[c]['case'].indexOf(caseValue) > -1
|
|
16723
17083
|
||
|
|
16724
17084
|
/^\//.test(conditions[c]['case'])
|
|
16725
17085
|
) {
|
|
@@ -16836,8 +17196,6 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
16836
17196
|
}
|
|
16837
17197
|
--i;
|
|
16838
17198
|
}
|
|
16839
|
-
|
|
16840
|
-
|
|
16841
17199
|
} // EO for
|
|
16842
17200
|
}
|
|
16843
17201
|
|
|
@@ -16858,7 +17216,7 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
16858
17216
|
}
|
|
16859
17217
|
|
|
16860
17218
|
if (isGFFCtx)
|
|
16861
|
-
$fields[field].setAttribute('data-gina-form-errors', fieldErrorsAttributes[field].
|
|
17219
|
+
$fields[field].setAttribute('data-gina-form-errors', fieldErrorsAttributes[field].substring(0, fieldErrorsAttributes[field].length-1))
|
|
16862
17220
|
}
|
|
16863
17221
|
|
|
16864
17222
|
//calling back
|
|
@@ -16929,6 +17287,8 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
16929
17287
|
'data' : formatData( _data )
|
|
16930
17288
|
});
|
|
16931
17289
|
removeListener(gina, event.target, 'validated.' + event.target.id);
|
|
17290
|
+
|
|
17291
|
+
|
|
16932
17292
|
return
|
|
16933
17293
|
}
|
|
16934
17294
|
});
|
|
@@ -17157,6 +17517,11 @@ define('gina/toolbar', ['require', 'jquery', 'vendor/uuid'/**, 'lib/merge'*/, 'l
|
|
|
17157
17517
|
try {
|
|
17158
17518
|
|
|
17159
17519
|
txt = ($json) ? $json.text() : '';
|
|
17520
|
+
// txt = txt
|
|
17521
|
+
// .replace(/:null/gi, ':\"null\"')
|
|
17522
|
+
// .replace(/:true/gi, ':\"true\"')
|
|
17523
|
+
// .replace(/:false/gi, ':\"false\"');
|
|
17524
|
+
|
|
17160
17525
|
if (txt == '' || txt == 'null' ) {
|
|
17161
17526
|
// $json.text('Empty')
|
|
17162
17527
|
$json.text('{}')
|
|
@@ -17180,8 +17545,9 @@ define('gina/toolbar', ['require', 'jquery', 'vendor/uuid'/**, 'lib/merge'*/, 'l
|
|
|
17180
17545
|
|
|
17181
17546
|
var sectionStr = ( section ) ? ' [ '+ section + ' ] ' : ' ';
|
|
17182
17547
|
// 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;
|
|
17548
|
+
var _err = 'Could not load ['+ sectionStr +'] json\n' + err.message +'\n'+ err.stack;
|
|
17184
17549
|
console.error(_err);
|
|
17550
|
+
return;
|
|
17185
17551
|
// if ($json) {
|
|
17186
17552
|
// $json.text(_err);
|
|
17187
17553
|
// } else {
|
|
@@ -17806,7 +18172,7 @@ define('gina/toolbar', ['require', 'jquery', 'vendor/uuid'/**, 'lib/merge'*/, 'l
|
|
|
17806
18172
|
|
|
17807
18173
|
foldingStateName += name
|
|
17808
18174
|
} else {
|
|
17809
|
-
foldingStateName = foldingStateName.
|
|
18175
|
+
foldingStateName = foldingStateName.substring(0, foldingStateName.length-1)
|
|
17810
18176
|
}
|
|
17811
18177
|
|
|
17812
18178
|
return foldingStateName.trim()
|
|
@@ -17843,8 +18209,8 @@ define('gina/toolbar', ['require', 'jquery', 'vendor/uuid'/**, 'lib/merge'*/, 'l
|
|
|
17843
18209
|
html += '<ul class="gina-toolbar-object">' + parseObject(obj[i], ginaObj[i], id, elIsXHR, elSection) +'</ul>';
|
|
17844
18210
|
html += '</li>';
|
|
17845
18211
|
// clear one level
|
|
17846
|
-
//id = id.
|
|
17847
|
-
id = id.
|
|
18212
|
+
//id = id.substring(0, id.length - i.length - 1);
|
|
18213
|
+
id = id.substring(0, id.length - i.length);
|
|
17848
18214
|
} else if ( Array.isArray(obj[i]) ) {
|
|
17849
18215
|
//id += i + '-';
|
|
17850
18216
|
id += '-' + i.replace(/[^A-Za-z0-9_-]/g, '_');
|
|
@@ -17855,8 +18221,8 @@ define('gina/toolbar', ['require', 'jquery', 'vendor/uuid'/**, 'lib/merge'*/, 'l
|
|
|
17855
18221
|
html += '<ul class="gina-toolbar-collection">' + parseCollection(obj[i], ginaObj[i], id, elIsXHR, elSection) +'</ul>';
|
|
17856
18222
|
html += '</li>';
|
|
17857
18223
|
// clear one level
|
|
17858
|
-
//id = id.
|
|
17859
|
-
id = id.
|
|
18224
|
+
//id = id.substring(0, id.length - i.length - 1);
|
|
18225
|
+
id = id.substring(0, id.length - i.length);
|
|
17860
18226
|
} else {
|
|
17861
18227
|
objType = (ginaObj[i] === null) ? 'null' : typeof(ginaObj[i]);
|
|
17862
18228
|
if ( objType == 'undefined' ) { // new key declaration added by user
|
|
@@ -17913,7 +18279,7 @@ define('gina/toolbar', ['require', 'jquery', 'vendor/uuid'/**, 'lib/merge'*/, 'l
|
|
|
17913
18279
|
html += '<ul class="gina-toolbar-object">' + parseObject(arr[i], ginaArr[i], id, elIsXHR, elSection) +'</ul>';
|
|
17914
18280
|
html += '</li>';
|
|
17915
18281
|
// clear one level
|
|
17916
|
-
id = id.
|
|
18282
|
+
id = id.substring(0, id.length - i.toString().length - 1);
|
|
17917
18283
|
|
|
17918
18284
|
} else if ( Array.isArray(arr[i]) ) {
|
|
17919
18285
|
//id += i + '-';
|
|
@@ -17926,8 +18292,8 @@ define('gina/toolbar', ['require', 'jquery', 'vendor/uuid'/**, 'lib/merge'*/, 'l
|
|
|
17926
18292
|
html += '<ul class="gina-toolbar-collection">' + parseCollection(arr[i], ginaArr[i], id, elIsXHR, elSection) +'</ul>';
|
|
17927
18293
|
html += '</li>';
|
|
17928
18294
|
// clear one level
|
|
17929
|
-
//id = id.
|
|
17930
|
-
id = id.
|
|
18295
|
+
//id = id.substring(0, id.length - i.toString().length - 1);
|
|
18296
|
+
id = id.substring(0, id.length - i.toString().length);
|
|
17931
18297
|
} else {
|
|
17932
18298
|
html += '<li class="gina-toolbar-key-value"><span class="gina-toolbar-key">'+ i +':</span> <span class="gina-toolbar-value">'+ arr[i] +'</span></li>';
|
|
17933
18299
|
}
|
|
@@ -17956,16 +18322,16 @@ define('gina/toolbar', ['require', 'jquery', 'vendor/uuid'/**, 'lib/merge'*/, 'l
|
|
|
17956
18322
|
section = i;
|
|
17957
18323
|
if ( typeof(obj[i]) == 'object' && !Array.isArray(obj[i]) && obj[i] !== null ) { // parse
|
|
17958
18324
|
|
|
17959
|
-
$parent = $('#gina-toolbar-view-' + id.
|
|
18325
|
+
$parent = $('#gina-toolbar-view-' + id.substring(0, id.length - 1));
|
|
17960
18326
|
hasParent = ( $parent.length ) ? true : false;
|
|
17961
18327
|
|
|
17962
18328
|
if (!hasParent ) {
|
|
17963
18329
|
id += i.replace(/[^A-Za-z0-9_-]/g, '_') + '-';
|
|
17964
18330
|
|
|
17965
18331
|
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.
|
|
18332
|
+
var htmlParams = '<div id="gina-toolbar-view-'+ id.substring(0, id.length - 1) +'" class="gina-toolbar-section">' +
|
|
18333
|
+
'<h2 class="gina-toolbar-section-title">'+ id.substring(0, id.length - 1) +'</h2>' +
|
|
18334
|
+
'<ul class="'+ id.substring(0, id.length - 1) +'"></ul>' +
|
|
17969
18335
|
'</div>';
|
|
17970
18336
|
|
|
17971
18337
|
$('#gina-toolbar-view-html-properties')
|
|
@@ -17974,9 +18340,9 @@ define('gina/toolbar', ['require', 'jquery', 'vendor/uuid'/**, 'lib/merge'*/, 'l
|
|
|
17974
18340
|
|
|
17975
18341
|
if ( !/^html/.test(id) ) {
|
|
17976
18342
|
|
|
17977
|
-
var htmlOther = '<div id="gina-toolbar-view-'+ id.
|
|
17978
|
-
'<h2 class="gina-toolbar-section-title">'+ id.
|
|
17979
|
-
'<ul class="'+ id.
|
|
18343
|
+
var htmlOther = '<div id="gina-toolbar-view-'+ id.substring(0, id.length - 1) +'" class="gina-toolbar-section">' +
|
|
18344
|
+
'<h2 class="gina-toolbar-section-title">'+ id.substring(0, id.length - 1) +'</h2>' +
|
|
18345
|
+
'<ul class="'+ id.substring(0, id.length - 1) +'"></ul>' +
|
|
17980
18346
|
'</div>';
|
|
17981
18347
|
|
|
17982
18348
|
$html
|
|
@@ -17984,36 +18350,36 @@ define('gina/toolbar', ['require', 'jquery', 'vendor/uuid'/**, 'lib/merge'*/, 'l
|
|
|
17984
18350
|
}/** else { // add to properties section
|
|
17985
18351
|
$root
|
|
17986
18352
|
.find('.gina-toolbar-properties')
|
|
17987
|
-
.append('ul.' + id.
|
|
18353
|
+
.append('ul.' + id.substring(0, id.length - 1))
|
|
17988
18354
|
}*/
|
|
17989
18355
|
|
|
17990
18356
|
}
|
|
17991
18357
|
|
|
17992
|
-
parseView(obj[i], ginaObj[i], id, elIsXHR, $html.find('ul.'+ id.
|
|
18358
|
+
parseView(obj[i], ginaObj[i], id, elIsXHR, $html.find('ul.'+ id.substring(0, id.length - 1)), $root );
|
|
17993
18359
|
|
|
17994
18360
|
} else {
|
|
17995
18361
|
|
|
17996
18362
|
parentId = id + i.replace(/[^A-Za-z0-9_-]/g, '_') + '-';
|
|
17997
18363
|
|
|
17998
18364
|
$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.
|
|
18365
|
+
.find('ul.'+ id.substring(0, id.length - 1))
|
|
18366
|
+
.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
18367
|
|
|
18002
|
-
parseView(obj[i], ginaObj[i], parentId, elIsXHR, $parent.find('ul.'+ id.
|
|
18368
|
+
parseView(obj[i], ginaObj[i], parentId, elIsXHR, $parent.find('ul.'+ id.substring(0, id.length - 1)), $root );
|
|
18003
18369
|
|
|
18004
18370
|
id += i.replace(/[^A-Za-z0-9_-]/g, '_') + '-';
|
|
18005
18371
|
}
|
|
18006
18372
|
|
|
18007
18373
|
|
|
18008
18374
|
// clear one level
|
|
18009
|
-
id = id.
|
|
18375
|
+
id = id.substring(0, id.length - i.length - 1);
|
|
18010
18376
|
|
|
18011
18377
|
|
|
18012
18378
|
} else if ( Array.isArray(obj[i]) ) { // parse collection
|
|
18013
18379
|
|
|
18014
18380
|
|
|
18015
18381
|
|
|
18016
|
-
$parent = $('#gina-toolbar-view-' + id.
|
|
18382
|
+
$parent = $('#gina-toolbar-view-' + id.substring(0, id.length - 1));
|
|
18017
18383
|
|
|
18018
18384
|
hasParent = ( $parent.length ) ? true : false;
|
|
18019
18385
|
|
|
@@ -18023,16 +18389,16 @@ define('gina/toolbar', ['require', 'jquery', 'vendor/uuid'/**, 'lib/merge'*/, 'l
|
|
|
18023
18389
|
parentId = id + i.replace(/[^A-Za-z0-9_-]/g, '_') + '-';
|
|
18024
18390
|
|
|
18025
18391
|
$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.
|
|
18392
|
+
//.find('ul.'+ id.substring(0, id.length - 1))
|
|
18393
|
+
.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
18394
|
|
|
18029
18395
|
|
|
18030
|
-
//parentId = parentId.
|
|
18031
|
-
//parentId = id.
|
|
18032
|
-
//parseView(obj[i], ginaObj[i], parentId, elIsXHR, $parent.find('ul.'+ parentId.
|
|
18396
|
+
//parentId = parentId.substring(0, parentId.length - 1)+ '-';
|
|
18397
|
+
//parentId = id.substring(0, id.length - i.length - 1);
|
|
18398
|
+
//parseView(obj[i], ginaObj[i], parentId, elIsXHR, $parent.find('ul.'+ parentId.substring(0, parentId.length - 1)), $root );
|
|
18033
18399
|
|
|
18034
18400
|
//id += i.replace(/[^A-Za-z0-9_-]/g, '_') + '-';
|
|
18035
|
-
//$parent = $('#gina-toolbar-view-' + id.
|
|
18401
|
+
//$parent = $('#gina-toolbar-view-' + id.substring(0, id.length - 1));
|
|
18036
18402
|
id += i.replace(/[^A-Za-z0-9_-]/g, '_') + '-';
|
|
18037
18403
|
} else {
|
|
18038
18404
|
|
|
@@ -18040,8 +18406,8 @@ define('gina/toolbar', ['require', 'jquery', 'vendor/uuid'/**, 'lib/merge'*/, 'l
|
|
|
18040
18406
|
parentId = id + i.replace(/[^A-Za-z0-9_-]/g, '_') + '-';
|
|
18041
18407
|
|
|
18042
18408
|
$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.
|
|
18409
|
+
.find('li.'+ id.substring(0, id.length - 1) +' ul')
|
|
18410
|
+
.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
18411
|
|
|
18046
18412
|
id += i.replace(/[^A-Za-z0-9_-]/g, '_') + '-';
|
|
18047
18413
|
|
|
@@ -18052,7 +18418,7 @@ define('gina/toolbar', ['require', 'jquery', 'vendor/uuid'/**, 'lib/merge'*/, 'l
|
|
|
18052
18418
|
// id = id + i.replace(/[^A-Za-z0-9_-]/g, '_') + '-';
|
|
18053
18419
|
// $root
|
|
18054
18420
|
// .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.
|
|
18421
|
+
// .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
18422
|
|
|
18057
18423
|
|
|
18058
18424
|
// } else {
|
|
@@ -18061,14 +18427,14 @@ define('gina/toolbar', ['require', 'jquery', 'vendor/uuid'/**, 'lib/merge'*/, 'l
|
|
|
18061
18427
|
// parentId = id + i.replace(/[^A-Za-z0-9_-]/g, '_') + '-';
|
|
18062
18428
|
|
|
18063
18429
|
// $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.
|
|
18430
|
+
// .find('li.'+ id.substring(0, id.length - 1) +' ul')
|
|
18431
|
+
// .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
18432
|
|
|
18067
18433
|
// id += i.replace(/[^A-Za-z0-9_-]/g, '_') + '-';
|
|
18068
18434
|
// }
|
|
18069
18435
|
|
|
18070
18436
|
// clear one level
|
|
18071
|
-
id = id.
|
|
18437
|
+
id = id.substring(0, id.length - i.length - 1);
|
|
18072
18438
|
} else {
|
|
18073
18439
|
|
|
18074
18440
|
|
|
@@ -18076,7 +18442,7 @@ define('gina/toolbar', ['require', 'jquery', 'vendor/uuid'/**, 'lib/merge'*/, 'l
|
|
|
18076
18442
|
objType = (ginaObj[i] === null) ? 'null' : typeof(ginaObj[i]);
|
|
18077
18443
|
if ( objType == 'undefined' ) { // new key declaration added by user
|
|
18078
18444
|
if (/\-$/.test(id)) {
|
|
18079
|
-
id = id.
|
|
18445
|
+
id = id.substring(0, id.length - 1);
|
|
18080
18446
|
}
|
|
18081
18447
|
|
|
18082
18448
|
if (!id) continue;
|
|
@@ -18123,7 +18489,7 @@ define('gina/toolbar', ['require', 'jquery', 'vendor/uuid'/**, 'lib/merge'*/, 'l
|
|
|
18123
18489
|
} else {
|
|
18124
18490
|
|
|
18125
18491
|
$root
|
|
18126
|
-
.find('ul.' + id.
|
|
18492
|
+
.find('ul.' + id.substring(0, id.length - 1))
|
|
18127
18493
|
.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
18494
|
}
|
|
18129
18495
|
}
|
|
@@ -18643,11 +19009,11 @@ define('gina', [ 'require', 'vendor/uuid', 'lib/merge', 'utils/events', 'helpers
|
|
|
18643
19009
|
return construct
|
|
18644
19010
|
});
|
|
18645
19011
|
/*!
|
|
18646
|
-
* Engine.IO v6.
|
|
18647
|
-
* (c) 2014-
|
|
19012
|
+
* Engine.IO v6.6.3
|
|
19013
|
+
* (c) 2014-2025 Guillermo Rauch
|
|
18648
19014
|
* Released under the MIT License.
|
|
18649
19015
|
*/
|
|
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)}}));
|
|
19016
|
+
!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
19017
|
//# sourceMappingURL=engine.io.min.js.map
|
|
18652
19018
|
;
|
|
18653
19019
|
function BindingHelper(handlerContext) {
|
|
@@ -18743,12 +19109,13 @@ function BindingHelper(handlerContext) {
|
|
|
18743
19109
|
define( 'helpers/binding',[],function() { return BindingHelper });
|
|
18744
19110
|
/*
|
|
18745
19111
|
* This file is part of the gina package.
|
|
18746
|
-
* Copyright (c) 2009-
|
|
19112
|
+
* Copyright (c) 2009-2025 Rhinostone <contact@gina.io>
|
|
18747
19113
|
*
|
|
18748
19114
|
* For the full copyright and license information, please view the LICENSE
|
|
18749
19115
|
* file that was distributed with this source code.
|
|
18750
19116
|
*/
|
|
18751
19117
|
|
|
19118
|
+
|
|
18752
19119
|
// nodejs dependencies
|
|
18753
19120
|
if ( typeof(module) !== 'undefined' && module.exports) {
|
|
18754
19121
|
var fs = require('fs');
|
|
@@ -18786,8 +19153,10 @@ function Domain(options, cb) {
|
|
|
18786
19153
|
var isGFFCtx = ( ( typeof(module) !== 'undefined' ) && module.exports ) ? false : true;
|
|
18787
19154
|
// Detect if user is on IE browser
|
|
18788
19155
|
var isIE = false;
|
|
19156
|
+
var defaultUrl = "/_gina/assets/public_suffix_list.dat";
|
|
18789
19157
|
if (isGFFCtx) {
|
|
18790
19158
|
isIE = !!window.MSInputMethodContext && !!document.documentMode;
|
|
19159
|
+
defaultUrl = gina.config.webroot + defaultUrl.substring(1);
|
|
18791
19160
|
}
|
|
18792
19161
|
|
|
18793
19162
|
if ( typeof(arguments[0]) == 'function' ) {
|
|
@@ -18799,20 +19168,31 @@ function Domain(options, cb) {
|
|
|
18799
19168
|
// if isGFFCtx, should be place in the public folder to be served by your own host
|
|
18800
19169
|
// e.g.: "./public_suffix_list.dat" located under "/my-www-folder/"
|
|
18801
19170
|
filename : "../dist/public_suffix_list.dat",
|
|
18802
|
-
url :
|
|
19171
|
+
url : defaultUrl,
|
|
19172
|
+
// url : "https://publicsuffix.org/list/public_suffix_list.dat",
|
|
18803
19173
|
alternativeUrl : "https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat",
|
|
18804
19174
|
// only available from backend calls
|
|
18805
19175
|
isCachingRequired : false,
|
|
18806
19176
|
isUpdating : false
|
|
18807
19177
|
}
|
|
18808
19178
|
|
|
19179
|
+
if (
|
|
19180
|
+
!isGFFCtx
|
|
19181
|
+
&& typeof(options) != 'undefined'
|
|
19182
|
+
&& typeof(options.webroot) != 'undefined'
|
|
19183
|
+
) {
|
|
19184
|
+
defaultOptions.url = options.webroot + defaultUrl.substring(1);
|
|
19185
|
+
}
|
|
19186
|
+
|
|
19187
|
+
// Get the commit version
|
|
19188
|
+
// cat ./framework/v0.1.6-alpha.83/core/asset/data/public_suffix_list.dat|grep 'COMMIT:'|sed 's/^\/\/ COMMIT\: //'
|
|
19189
|
+
|
|
18809
19190
|
var self = {
|
|
18810
19191
|
options : null,
|
|
18811
19192
|
rawPSL : null,
|
|
18812
19193
|
PSL : [],
|
|
18813
19194
|
};
|
|
18814
19195
|
|
|
18815
|
-
|
|
18816
19196
|
var init = function(proto, options, cb) {
|
|
18817
19197
|
if ( typeof(options) == 'undefined' ) {
|
|
18818
19198
|
options = defaultOptions
|
|
@@ -18843,9 +19223,8 @@ function Domain(options, cb) {
|
|
|
18843
19223
|
return
|
|
18844
19224
|
}
|
|
18845
19225
|
|
|
18846
|
-
console.debug('[DOMAIN] PSL Loaded');
|
|
19226
|
+
console.debug('[DOMAIN][CB] PSL Loaded');
|
|
18847
19227
|
// return proto
|
|
18848
|
-
|
|
18849
19228
|
cb(err, proto)
|
|
18850
19229
|
});
|
|
18851
19230
|
}
|
|
@@ -19045,7 +19424,7 @@ function Domain(options, cb) {
|
|
|
19045
19424
|
return host
|
|
19046
19425
|
}
|
|
19047
19426
|
|
|
19048
|
-
console.debug('[DOMAIN][getFQDN]
|
|
19427
|
+
console.debug('[DOMAIN][getFQDN] FQDN: ' + host);
|
|
19049
19428
|
var ipObj = null
|
|
19050
19429
|
, err = null
|
|
19051
19430
|
;
|
|
@@ -19094,6 +19473,7 @@ function Domain(options, cb) {
|
|
|
19094
19473
|
if ( typeof(jsonFormat) == 'undefined' ) {
|
|
19095
19474
|
jsonFormat = false
|
|
19096
19475
|
}
|
|
19476
|
+
urlOrHostname = urlOrHostname.trim();
|
|
19097
19477
|
var isSLD = false
|
|
19098
19478
|
, isRegisteredTldOrSld = false
|
|
19099
19479
|
, rootDomain = urlOrHostname.replace(/^(.*)\:\/\/|\/(.*)/g, '')
|
|
@@ -19739,13 +20119,15 @@ define('gina/link', [ 'require', 'jquery', 'vendor/uuid', 'lib/domain', 'lib/mer
|
|
|
19739
20119
|
instance.getLinkByUrl = getLinkByUrl;
|
|
19740
20120
|
}
|
|
19741
20121
|
|
|
19742
|
-
|
|
19743
|
-
|
|
19744
|
-
|
|
19745
|
-
|
|
20122
|
+
if (!domainInstance) {
|
|
20123
|
+
new Domain( function onReady(err, _domainInstance) {
|
|
20124
|
+
if (err) {
|
|
20125
|
+
throw err
|
|
20126
|
+
}
|
|
19746
20127
|
|
|
19747
|
-
|
|
19748
|
-
|
|
20128
|
+
domainInstance = _domainInstance;
|
|
20129
|
+
});
|
|
20130
|
+
}
|
|
19749
20131
|
|
|
19750
20132
|
return init(options)
|
|
19751
20133
|
}
|
|
@@ -21528,13 +21910,15 @@ define('gina/popin', [ 'require', 'vendor/uuid', 'jquery', 'lib/domain', 'lib/me
|
|
|
21528
21910
|
popinGetContainer()
|
|
21529
21911
|
}
|
|
21530
21912
|
|
|
21531
|
-
|
|
21532
|
-
|
|
21533
|
-
|
|
21534
|
-
|
|
21913
|
+
if (!domainInstance) {
|
|
21914
|
+
new Domain( function onReady(err, _domainInstance) {
|
|
21915
|
+
if (err) {
|
|
21916
|
+
throw err
|
|
21917
|
+
}
|
|
21535
21918
|
|
|
21536
|
-
|
|
21537
|
-
|
|
21919
|
+
domainInstance = _domainInstance;
|
|
21920
|
+
});
|
|
21921
|
+
}
|
|
21538
21922
|
|
|
21539
21923
|
return init(options)
|
|
21540
21924
|
}
|
|
@@ -21654,7 +22038,7 @@ define("utils/polyfill", function(){});
|
|
|
21654
22038
|
|
|
21655
22039
|
/**
|
|
21656
22040
|
* This file is part of the gina package.
|
|
21657
|
-
* Copyright (c) 2009-
|
|
22041
|
+
* Copyright (c) 2009-2025 Rhinostone <contact@gina.io>
|
|
21658
22042
|
*
|
|
21659
22043
|
* For the full copyright and license information, please view the LICENSE
|
|
21660
22044
|
* file that was distributed with this source code.
|