card 1.91 → 1.92
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.rdoc +80 -0
- data/VERSION +1 -1
- data/card.gemspec +29 -22
- data/config/i18n-tasks.yml +8 -1
- data/config/initializers/01_core_extensions/module.rb +46 -4
- data/config/initializers/02_patches/action_dispatch.rb +16 -0
- data/config/initializers/02_patches/active_job.rb +35 -0
- data/config/initializers/patches.rb +12 -0
- data/config/initializers/recaptcha.rb +8 -2
- data/config/locales/de.yml +36 -23
- data/config/locales/en.yml +508 -15
- data/db/migrate/20110511221913_require_earlier_migrations.rb +1 -1
- data/db/migrate/20120105203350_require_1_8_migrations.rb +1 -1
- data/db/migrate/20121111025347_require_1_10_migrations.rb +1 -1
- data/db/migrate/20121118114000_split_link_type.rb +1 -1
- data/db/migrate/20121118115000_update_link_type.rb +2 -2
- data/db/migrate/20130106052640_table_cleanup.rb +1 -1
- data/db/migrate/20130109015336_trunk_left.rb +1 -1
- data/db/migrate/20130411210957_update_codenames.rb +1 -1
- data/db/migrate/20140822073704_create_new_revision_tables.rb +1 -1
- data/db/migrate/20141001105348_move_revisions_to_actions.rb +6 -6
- data/db/migrate/20141121172918_rename_card_migration_table.rb +1 -1
- data/db/migrate/20141208132159_remove_present_from_reference_table.rb +1 -1
- data/db/migrate/20141216053032_better_index_names.rb +1 -1
- data/db/migrate/20150724210803_add_comment_to_actions.rb +1 -1
- data/db/migrate/20151105225559_more_space_for_db_content.rb +1 -1
- data/db/migrate/20160122153608_new_indeces.rb +1 -1
- data/db/migrate/20170908114442_create_delayed_jobs.rb +22 -0
- data/db/migrate_core_cards/20140307231621_user_data_to_cards.rb +1 -1
- data/db/migrate_core_cards/20140512155840_add_script_cards.rb +2 -2
- data/db/migrate_core_cards/20140629222005_add_email_cards.rb +1 -1
- data/db/migrate_core_cards/20150202143810_import_bootstrap_layout.rb +1 -1
- data/db/migrate_core_cards/20150317162412_bootstrap_themes.rb +1 -1
- data/db/migrate_core_cards/20150429090551_search_card_context.rb +1 -0
- data/db/migrate_core_cards/20150508212032_menu_compatibility.rb +1 -1
- data/db/migrate_core_cards/20150824135418_update_file_history.rb +1 -0
- data/db/migrate_core_cards/20161103154836_update_keys.rb +1 -1
- data/db/migrate_core_cards/20170209132834_email_test_context.rb +1 -1
- data/db/migrate_core_cards/20170830210517_correct_signup_success_message.rb +10 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/bootstrap_default/_bootswatch.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/bootstrap_default/_variables.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/cerulean/_bootswatch.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/cerulean/_variables.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/cerulean/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/cosmo/_bootswatch.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/cosmo/_variables.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/cosmo/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/cyborg/_bootswatch.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/cyborg/_variables.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/cyborg/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/darkly/_bootswatch.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/darkly/_variables.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/darkly/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/flatly/_bootswatch.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/flatly/_variables.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/flatly/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/journal/_bootswatch.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/journal/_variables.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/journal/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/litera/_bootswatch.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/litera/_variables.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/litera/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/lumen/_bootswatch.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/lumen/_variables.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/lumen/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/lux/_bootswatch.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/lux/_variables.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/lux/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/materia/_bootswatch.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/materia/_variables.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/materia/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/minty/_bootswatch.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/minty/_variables.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/minty/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/paper/_bootswatch.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/paper/_variables.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/pulse/_bootswatch.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/pulse/_variables.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/pulse/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/readable/_bootswatch.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/readable/_variables.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/sandstone/_bootswatch.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/sandstone/_variables.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/sandstone/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/simplex/_bootswatch.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/simplex/_variables.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/simplex/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/slate/_bootswatch.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/slate/_variables.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/slate/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/solar/_bootswatch.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/solar/_variables.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/solar/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/spacelab/_bootswatch.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/spacelab/_variables.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/spacelab/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/superhero/_bootswatch.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/superhero/_variables.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/superhero/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/united/_bootswatch.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/united/_variables.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/united/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/yeti/_bootswatch.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/yeti/_full.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/yeti/_variables.scss +0 -0
- data/db/migrate_core_cards/data/{b4_themes → b4_alpha_themes}/yeti/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/b4_beta_themes/bootstrap_default/_bootswatch.scss +0 -0
- data/db/migrate_core_cards/data/b4_beta_themes/bootstrap_default/_variables.scss +961 -0
- data/db/migrate_core_cards/data/b4_beta_themes/cerulean/_bootswatch.scss +67 -0
- data/db/migrate_core_cards/data/b4_beta_themes/cerulean/_variables.scss +961 -0
- data/db/migrate_core_cards/data/b4_beta_themes/cerulean/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/b4_beta_themes/cosmo/_bootswatch.scss +45 -0
- data/db/migrate_core_cards/data/b4_beta_themes/cosmo/_variables.scss +961 -0
- data/db/migrate_core_cards/data/b4_beta_themes/cosmo/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/b4_beta_themes/cyborg/_bootswatch.scss +141 -0
- data/db/migrate_core_cards/data/b4_beta_themes/cyborg/_variables.scss +961 -0
- data/db/migrate_core_cards/data/b4_beta_themes/cyborg/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/b4_beta_themes/darkly/_bootswatch.scss +142 -0
- data/db/migrate_core_cards/data/b4_beta_themes/darkly/_variables.scss +961 -0
- data/db/migrate_core_cards/data/b4_beta_themes/darkly/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/b4_beta_themes/flatly/_bootswatch.scss +107 -0
- data/db/migrate_core_cards/data/b4_beta_themes/flatly/_variables.scss +961 -0
- data/db/migrate_core_cards/data/b4_beta_themes/flatly/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/b4_beta_themes/journal/_bootswatch.scss +69 -0
- data/db/migrate_core_cards/data/b4_beta_themes/journal/_variables.scss +961 -0
- data/db/migrate_core_cards/data/b4_beta_themes/journal/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/b4_beta_themes/litera/_bootswatch.scss +130 -0
- data/db/migrate_core_cards/data/b4_beta_themes/litera/_variables.scss +961 -0
- data/db/migrate_core_cards/data/b4_beta_themes/litera/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/b4_beta_themes/lumen/_bootswatch.scss +294 -0
- data/db/migrate_core_cards/data/b4_beta_themes/lumen/_variables.scss +961 -0
- data/db/migrate_core_cards/data/b4_beta_themes/lumen/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/b4_beta_themes/lux/_bootswatch.scss +111 -0
- data/db/migrate_core_cards/data/b4_beta_themes/lux/_variables.scss +961 -0
- data/db/migrate_core_cards/data/b4_beta_themes/lux/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/b4_beta_themes/materia/_bootswatch.scss +610 -0
- data/db/migrate_core_cards/data/b4_beta_themes/materia/_variables.scss +961 -0
- data/db/migrate_core_cards/data/b4_beta_themes/materia/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/b4_beta_themes/minty/_bootswatch.scss +85 -0
- data/db/migrate_core_cards/data/b4_beta_themes/minty/_variables.scss +961 -0
- data/db/migrate_core_cards/data/b4_beta_themes/minty/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/b4_beta_themes/paper/_bootswatch.scss +607 -0
- data/db/migrate_core_cards/data/b4_beta_themes/paper/_variables.scss +861 -0
- data/db/migrate_core_cards/data/b4_beta_themes/pulse/_bootswatch.scss +122 -0
- data/db/migrate_core_cards/data/b4_beta_themes/pulse/_variables.scss +961 -0
- data/db/migrate_core_cards/data/b4_beta_themes/pulse/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/b4_beta_themes/readable/_bootswatch.scss +174 -0
- data/db/migrate_core_cards/data/b4_beta_themes/readable/_variables.scss +861 -0
- data/db/migrate_core_cards/data/b4_beta_themes/sandstone/_bootswatch.scss +152 -0
- data/db/migrate_core_cards/data/b4_beta_themes/sandstone/_variables.scss +961 -0
- data/db/migrate_core_cards/data/b4_beta_themes/sandstone/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/b4_beta_themes/simplex/_bootswatch.scss +103 -0
- data/db/migrate_core_cards/data/b4_beta_themes/simplex/_variables.scss +961 -0
- data/db/migrate_core_cards/data/b4_beta_themes/simplex/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/b4_beta_themes/slate/_bootswatch.scss +274 -0
- data/db/migrate_core_cards/data/b4_beta_themes/slate/_variables.scss +961 -0
- data/db/migrate_core_cards/data/b4_beta_themes/slate/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/b4_beta_themes/solar/_bootswatch.scss +45 -0
- data/db/migrate_core_cards/data/b4_beta_themes/solar/_variables.scss +961 -0
- data/db/migrate_core_cards/data/b4_beta_themes/solar/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/b4_beta_themes/spacelab/_bootswatch.scss +125 -0
- data/db/migrate_core_cards/data/b4_beta_themes/spacelab/_variables.scss +961 -0
- data/db/migrate_core_cards/data/b4_beta_themes/spacelab/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/b4_beta_themes/superhero/_bootswatch.scss +136 -0
- data/db/migrate_core_cards/data/b4_beta_themes/superhero/_variables.scss +961 -0
- data/db/migrate_core_cards/data/b4_beta_themes/superhero/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/b4_beta_themes/united/_bootswatch.scss +32 -0
- data/db/migrate_core_cards/data/b4_beta_themes/united/_variables.scss +961 -0
- data/db/migrate_core_cards/data/b4_beta_themes/united/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/b4_beta_themes/variables/_variables.scss +0 -0
- data/db/migrate_core_cards/data/b4_beta_themes/yeti/_bootswatch.scss +304 -0
- data/db/migrate_core_cards/data/b4_beta_themes/yeti/_full.scss +9921 -0
- data/db/migrate_core_cards/data/b4_beta_themes/yeti/_variables.scss +961 -0
- data/db/migrate_core_cards/data/b4_beta_themes/yeti/thumbnail.png +0 -0
- data/db/migrate_core_cards/data/cards.yml +2 -2
- data/db/migrate_core_cards/data/cards/*header +2 -2
- data/db/schema.rb +89 -106
- data/db/seed/new/card_actions.yml +2146 -1922
- data/db/seed/new/card_acts.yml +2 -248
- data/db/seed/new/card_changes.yml +1 -32341
- data/db/seed/new/card_references.yml +1162 -980
- data/db/seed/new/cards.yml +23244 -14385
- data/db/seed/test/fixtures/card_actions.yml +3459 -3011
- data/db/seed/test/fixtures/card_acts.yml +470 -608
- data/db/seed/test/fixtures/card_changes.yml +109 -37619
- data/db/seed/test/fixtures/card_references.yml +2264 -1865
- data/db/seed/test/fixtures/cards.yml +26422 -16915
- data/db/seed/test/seed.rb +247 -179
- data/db/seed_consts.rb +10 -0
- data/db/seeds.rb +1 -6
- data/db/version.txt +1 -1
- data/db/version_core_cards.txt +1 -1
- data/lib/active_record/connection_adapters_ext.rb +1 -1
- data/lib/application_job.rb +2 -0
- data/lib/application_record.rb +3 -0
- data/lib/card.rb +77 -13
- data/lib/card/act_manager.rb +3 -0
- data/lib/card/act_manager/stage_director.rb +3 -38
- data/lib/card/act_manager/stage_director/phases.rb +39 -0
- data/lib/card/codename.rb +15 -9
- data/lib/card/content.rb +4 -0
- data/lib/card/content/chunk.rb +4 -0
- data/lib/card/env.rb +6 -2
- data/lib/card/env/location_history.rb +1 -1
- data/lib/card/env/success.rb +5 -2
- data/lib/card/error.rb +3 -2
- data/lib/card/format.rb +13 -21
- data/lib/card/format/context_names.rb +40 -0
- data/lib/card/format/error.rb +8 -4
- data/lib/card/format/nest.rb +7 -7
- data/lib/card/format/nest/fetch.rb +1 -1
- data/lib/card/format/nest/mode.rb +75 -0
- data/lib/card/format/nest/subformat.rb +18 -5
- data/lib/card/format/permission.rb +1 -1
- data/lib/card/format/registration.rb +18 -12
- data/lib/card/format/render.rb +22 -11
- data/lib/card/migration.rb +1 -1
- data/lib/card/mod.rb +63 -0
- data/lib/card/mod/dirs.rb +73 -4
- data/lib/card/mod/load_strategy.rb +64 -0
- data/lib/card/mod/load_strategy/eval.rb +16 -0
- data/lib/card/mod/load_strategy/pattern_tmp_files.rb +29 -0
- data/lib/card/mod/load_strategy/set_binding_magic.rb +48 -0
- data/lib/card/mod/load_strategy/set_tmp_files.rb +33 -0
- data/lib/card/mod/load_strategy/tmp_files.rb +38 -0
- data/lib/card/mod/loader.rb +44 -129
- data/lib/card/mod/loader/set_loader.rb +85 -0
- data/lib/card/mod/loader/set_pattern_loader.rb +58 -0
- data/lib/card/mod/module_template.rb +67 -0
- data/lib/card/model/save_helper.rb +27 -4
- data/lib/card/name.rb +8 -10
- data/lib/card/name/fields_and_traits.rb +7 -5
- data/lib/card/name/view_name.rb +4 -4
- data/lib/card/query.rb +11 -5
- data/lib/card/query/attributes.rb +1 -1
- data/lib/card/query/interpretation.rb +3 -3
- data/lib/card/reference.rb +2 -2
- data/lib/card/set.rb +6 -28
- data/lib/card/set/advanced_api.rb +2 -2
- data/lib/card/set/event.rb +39 -14
- data/lib/card/set/helpers.rb +8 -7
- data/lib/card/set/i18n_scanner.rb +22 -0
- data/lib/card/set/i18n_scope.rb +41 -7
- data/lib/card/set/loader.rb +3 -52
- data/lib/card/set_pattern.rb +22 -38
- data/lib/card/subcards.rb +1 -1
- data/lib/card/tasks/card.rake +43 -3
- data/lib/card/tasks/card/migrate.rake +77 -0
- data/lib/card/view.rb +34 -5
- data/lib/card/view/cache.rb +69 -32
- data/lib/card/view/cache_action.rb +158 -0
- data/lib/card/view/options.rb +107 -57
- data/lib/card/view/stub.rb +46 -12
- data/lib/card/view/visibility.rb +3 -3
- data/lib/cardio.rb +9 -5
- data/mod/account/set/right/account.rb +2 -3
- data/mod/account/set/right/email.rb +4 -5
- data/mod/account/set/right/password.rb +2 -2
- data/mod/account/set/right/salt.rb +1 -1
- data/mod/account/set/right/status.rb +1 -1
- data/mod/account/set/right/token.rb +5 -5
- data/mod/account/set/self/account_links.rb +1 -1
- data/mod/account/set/self/signin.rb +7 -7
- data/mod/account/set/type/signup.rb +6 -4
- data/mod/account/set/type/user.rb +16 -15
- data/mod/account/spec/set/all/account_spec.rb +96 -103
- data/mod/account/spec/set/right/account_spec.rb +1 -1
- data/mod/account/spec/set/self/account_links_spec.rb +2 -2
- data/mod/account/spec/set/self/signin_spec.rb +1 -1
- data/mod/account/template/type/signup/core.haml +22 -0
- data/mod/admin/set/self/admin.rb +26 -4
- data/mod/admin/set/self/admin_info.rb +7 -2
- data/mod/admin/spec/set/self/admin_spec.rb +47 -30
- data/mod/admin/spec/set/self/version_spec.rb +2 -2
- data/mod/basic_formats/format/css_format.rb +9 -0
- data/mod/basic_formats/format/csv_format.rb +10 -0
- data/mod/basic_formats/format/js_format.rb +4 -0
- data/mod/basic_formats/format/json_format.rb +15 -0
- data/mod/basic_formats/format/xml_format.rb +4 -0
- data/mod/basic_formats/set/all/all_csv.rb +1 -1
- data/mod/basic_formats/set/all/base.rb +17 -9
- data/mod/basic_formats/set/all/json.rb +1 -1
- data/mod/basic_formats/set/self/01_head/javascript.rb +11 -7
- data/mod/basic_formats/set/self/head.rb +3 -2
- data/{db/migrate_core_cards/20170719163708_update_bootswatch_themes.rb → mod/bootstrap/db/migrate_cards/20170719163701_update_bootswatch_themes.rb} +1 -1
- data/{db/migrate_core_cards → mod/bootstrap/db/migrate_cards}/20170726111053_add_bootstrap_mixins.rb +0 -0
- data/{db/migrate_core_cards → mod/bootstrap/db/migrate_cards}/20170726145012_select2.rb +0 -0
- data/mod/bootstrap/file/cerulean_skin_image/image-icon.png +0 -0
- data/mod/bootstrap/file/cerulean_skin_image/image-large.png +0 -0
- data/mod/bootstrap/file/cerulean_skin_image/image-medium.png +0 -0
- data/mod/bootstrap/file/cerulean_skin_image/image-small.png +0 -0
- data/mod/bootstrap/file/cosmo_skin_image/image-icon.png +0 -0
- data/mod/bootstrap/file/cosmo_skin_image/image-large.png +0 -0
- data/mod/bootstrap/file/cosmo_skin_image/image-medium.png +0 -0
- data/mod/bootstrap/file/cosmo_skin_image/image-small.png +0 -0
- data/mod/bootstrap/file/cyborg_skin_image/image-icon.png +0 -0
- data/mod/bootstrap/file/cyborg_skin_image/image-large.png +0 -0
- data/mod/bootstrap/file/cyborg_skin_image/image-medium.png +0 -0
- data/mod/bootstrap/file/cyborg_skin_image/image-small.png +0 -0
- data/mod/bootstrap/file/darkly_skin_image/image-icon.png +0 -0
- data/mod/bootstrap/file/darkly_skin_image/image-large.png +0 -0
- data/mod/bootstrap/file/darkly_skin_image/image-medium.png +0 -0
- data/mod/bootstrap/file/darkly_skin_image/image-small.png +0 -0
- data/mod/bootstrap/file/flatly_skin_image/image-icon.png +0 -0
- data/mod/bootstrap/file/flatly_skin_image/image-large.png +0 -0
- data/mod/bootstrap/file/flatly_skin_image/image-medium.png +0 -0
- data/mod/bootstrap/file/flatly_skin_image/image-small.png +0 -0
- data/mod/bootstrap/file/journal_skin_image/image-icon.png +0 -0
- data/mod/bootstrap/file/journal_skin_image/image-large.png +0 -0
- data/mod/bootstrap/file/journal_skin_image/image-medium.png +0 -0
- data/mod/bootstrap/file/journal_skin_image/image-small.png +0 -0
- data/mod/bootstrap/file/litera_skin_image/image-icon.png +0 -0
- data/mod/bootstrap/file/litera_skin_image/image-large.png +0 -0
- data/mod/bootstrap/file/litera_skin_image/image-medium.png +0 -0
- data/mod/bootstrap/file/litera_skin_image/image-original.png +0 -0
- data/mod/bootstrap/file/litera_skin_image/image-small.png +0 -0
- data/mod/bootstrap/file/lumen_skin_image/image-icon.png +0 -0
- data/mod/bootstrap/file/lumen_skin_image/image-large.png +0 -0
- data/mod/bootstrap/file/lumen_skin_image/image-medium.png +0 -0
- data/mod/bootstrap/file/lumen_skin_image/image-small.png +0 -0
- data/mod/bootstrap/file/lux_skin_image/image-icon.png +0 -0
- data/mod/bootstrap/file/lux_skin_image/image-large.png +0 -0
- data/mod/bootstrap/file/lux_skin_image/image-medium.png +0 -0
- data/mod/bootstrap/file/lux_skin_image/image-original.png +0 -0
- data/mod/bootstrap/file/lux_skin_image/image-small.png +0 -0
- data/mod/bootstrap/file/materia_skin_image/image-icon.png +0 -0
- data/mod/bootstrap/file/materia_skin_image/image-large.png +0 -0
- data/mod/bootstrap/file/materia_skin_image/image-medium.png +0 -0
- data/mod/bootstrap/file/materia_skin_image/image-original.png +0 -0
- data/mod/bootstrap/file/materia_skin_image/image-small.png +0 -0
- data/mod/bootstrap/file/minty_skin_image/image-icon.png +0 -0
- data/mod/bootstrap/file/minty_skin_image/image-large.png +0 -0
- data/mod/bootstrap/file/minty_skin_image/image-medium.png +0 -0
- data/mod/bootstrap/file/minty_skin_image/image-original.png +0 -0
- data/mod/bootstrap/file/minty_skin_image/image-small.png +0 -0
- data/mod/bootstrap/file/pulse_skin_image/image-icon.png +0 -0
- data/mod/bootstrap/file/pulse_skin_image/image-large.png +0 -0
- data/mod/bootstrap/file/pulse_skin_image/image-medium.png +0 -0
- data/mod/bootstrap/file/pulse_skin_image/image-original.png +0 -0
- data/mod/bootstrap/file/pulse_skin_image/image-small.png +0 -0
- data/mod/bootstrap/file/sandstone_skin_image/image-icon.png +0 -0
- data/mod/bootstrap/file/sandstone_skin_image/image-large.png +0 -0
- data/mod/bootstrap/file/sandstone_skin_image/image-medium.png +0 -0
- data/mod/bootstrap/file/sandstone_skin_image/image-small.png +0 -0
- data/mod/bootstrap/file/simplex_skin_image/image-icon.png +0 -0
- data/mod/bootstrap/file/simplex_skin_image/image-large.png +0 -0
- data/mod/bootstrap/file/simplex_skin_image/image-medium.png +0 -0
- data/mod/bootstrap/file/simplex_skin_image/image-small.png +0 -0
- data/mod/bootstrap/file/slate_skin_image/image-icon.png +0 -0
- data/mod/bootstrap/file/slate_skin_image/image-large.png +0 -0
- data/mod/bootstrap/file/slate_skin_image/image-medium.png +0 -0
- data/mod/bootstrap/file/slate_skin_image/image-small.png +0 -0
- data/mod/bootstrap/file/solar_skin_image/image-icon.png +0 -0
- data/mod/bootstrap/file/solar_skin_image/image-large.png +0 -0
- data/mod/bootstrap/file/solar_skin_image/image-medium.png +0 -0
- data/mod/bootstrap/file/solar_skin_image/image-original.png +0 -0
- data/mod/bootstrap/file/solar_skin_image/image-small.png +0 -0
- data/mod/bootstrap/file/spacelab_skin_image/image-icon.png +0 -0
- data/mod/bootstrap/file/spacelab_skin_image/image-large.png +0 -0
- data/mod/bootstrap/file/spacelab_skin_image/image-medium.png +0 -0
- data/mod/bootstrap/file/spacelab_skin_image/image-small.png +0 -0
- data/mod/bootstrap/file/superhero_skin_image/image-icon.png +0 -0
- data/mod/bootstrap/file/superhero_skin_image/image-large.png +0 -0
- data/mod/bootstrap/file/superhero_skin_image/image-medium.png +0 -0
- data/mod/bootstrap/file/superhero_skin_image/image-small.png +0 -0
- data/mod/bootstrap/file/united_skin_image/image-icon.png +0 -0
- data/mod/bootstrap/file/united_skin_image/image-large.png +0 -0
- data/mod/bootstrap/file/united_skin_image/image-medium.png +0 -0
- data/mod/bootstrap/file/united_skin_image/image-small.png +0 -0
- data/mod/bootstrap/file/yeti_skin_image/image-icon.png +0 -0
- data/mod/bootstrap/file/yeti_skin_image/image-large.png +0 -0
- data/mod/bootstrap/file/yeti_skin_image/image-medium.png +0 -0
- data/mod/bootstrap/file/yeti_skin_image/image-small.png +0 -0
- data/mod/bootstrap/lib/bootstrap/basic_tags.rb +3 -3
- data/mod/bootstrap/lib/bootstrap/component.rb +124 -37
- data/mod/bootstrap/lib/bootstrap/component/carousel.rb +68 -0
- data/mod/bootstrap/lib/bootstrap/component/form.rb +49 -16
- data/mod/bootstrap/lib/bootstrap/component/horizontal_form.rb +35 -10
- data/mod/bootstrap/lib/bootstrap/component/layout.rb +10 -2
- data/mod/bootstrap/lib/bootstrap/component/panel.rb +4 -4
- data/mod/bootstrap/lib/bootstrap/old_component.rb +182 -0
- data/mod/bootstrap/lib/javascript/bootstrap_modal_wagn.js +1 -1
- data/mod/bootstrap/set/all/bootstrap/accordion.rb +10 -10
- data/mod/bootstrap/set/all/bootstrap/helper.rb +2 -0
- data/mod/bootstrap/set/all/bootstrap/tabs.rb +1 -1
- data/mod/bootstrap/spec/set/all/bootstrap/bootstrap_builder_spec.rb +24 -14
- data/mod/bootstrap/spec/set/all/bootstrap/bootstrap_spec.rb +2 -2
- data/mod/bootstrap/spec/set/all/bootstrap/carousel_spec.rb +65 -0
- data/mod/bootstrap/spec/set/all/bootstrap/form_spec.rb +4 -44
- data/mod/bootstrap/spec/set/all/bootstrap/horizontal_form_spec.rb +46 -0
- data/mod/bootstrap/spec/set/all/bootstrap/layout_spec.rb +85 -91
- data/mod/carrierwave/lib/carrier_wave/file_card_uploader.rb +7 -1
- data/mod/carrierwave/set/abstract/attachment/paths.rb +2 -2
- data/mod/carrierwave/set/abstract/attachment/upload_cache.rb +10 -3
- data/mod/carrierwave/set/type/file.rb +5 -5
- data/mod/carrierwave/set/type/image.rb +4 -4
- data/mod/carrierwave/spec/lib/carrier_wave/file_card_uploader_spec.rb +1 -0
- data/mod/carrierwave/spec/set/type/file/bucket_config_spec.rb +90 -0
- data/mod/carrierwave/spec/set/type/file_spec.rb +41 -99
- data/mod/core/chunk/link.rb +1 -2
- data/mod/core/chunk/nest.rb +1 -1
- data/mod/core/chunk/reference.rb +1 -1
- data/mod/core/chunk/view_stub.rb +8 -0
- data/mod/core/format/html_format.rb +9 -3
- data/mod/core/set/abstract/code_file.rb +1 -1
- data/mod/core/set/all/actify.rb +34 -0
- data/mod/core/set/all/assign_attributes.rb +13 -0
- data/mod/core/set/all/cache.rb +96 -0
- data/mod/core/set/all/collection.rb +16 -8
- data/mod/core/set/all/{event.rb → event_conditions.rb} +1 -1
- data/mod/core/set/all/fetch.rb +43 -315
- data/mod/core/set/all/fetch_helper.rb +130 -0
- data/mod/core/set/all/haml.rb +13 -0
- data/mod/core/set/all/i18n.rb +5 -4
- data/mod/core/set/all/mark.rb +66 -0
- data/mod/core/set/all/name.rb +35 -57
- data/mod/core/set/all/permissions.rb +6 -3
- data/mod/core/set/all/references.rb +5 -5
- data/mod/core/set/all/rename.rb +34 -0
- data/mod/core/set/all/rules.rb +1 -1
- data/mod/core/set/all/states.rb +12 -0
- data/mod/core/set/all/trash.rb +4 -3
- data/mod/core/set/all/type.rb +4 -0
- data/mod/core/set/all/update_read_rules.rb +1 -1
- data/mod/core/spec/set/all/actify_spec.rb +9 -8
- data/mod/core/spec/set/all/assign_attributes_spec.rb +33 -299
- data/mod/core/spec/set/all/collection_spec.rb +2 -2
- data/mod/core/spec/set/all/event_conditions_spec.rb +54 -0
- data/mod/core/spec/set/all/fetch_spec.rb +21 -29
- data/mod/core/spec/set/all/i18n_spec.rb +17 -0
- data/mod/core/spec/set/all/name_spec.rb +39 -3
- data/mod/core/spec/set/all/name_validations_spec.rb +21 -0
- data/mod/core/spec/set/all/permissions/reader_rules_spec.rb +166 -0
- data/mod/core/spec/set/all/permissions_spec.rb +25 -171
- data/mod/core/spec/set/all/rename_spec.rb +171 -0
- data/mod/core/spec/set/all/rules2_spec.rb +45 -49
- data/mod/core/spec/set/all/trash_spec.rb +84 -61
- data/mod/history/lib/card/act.rb +5 -4
- data/mod/history/lib/card/act/act_renderer.rb +55 -28
- data/mod/history/lib/card/act/act_renderer/absolute_act_renderer.rb +10 -2
- data/mod/history/lib/card/act/act_renderer/relative_act_renderer.rb +8 -1
- data/mod/history/lib/card/action.rb +35 -3
- data/mod/history/lib/card/action/action_renderer.rb +3 -3
- data/mod/history/lib/card/action/admin.rb +17 -0
- data/mod/history/lib/card/change.rb +1 -1
- data/mod/history/set/all/act_view.rb +16 -9
- data/mod/history/set/all/actions.rb +35 -9
- data/mod/history/set/all/content_history.rb +22 -14
- data/mod/history/set/all/history.rb +52 -19
- data/mod/machines/file/all_script_machine_output/file.js +34 -16
- data/mod/machines/file/script_html5shiv_printshiv_machine_output/file.js +2 -0
- data/mod/machines/lib/card/machine.rb +49 -0
- data/mod/machines/lib/javascript/decko.js.coffee +9 -0
- data/mod/machines/lib/javascript/decko_mod.js.coffee +3 -0
- data/mod/machines/lib/stylesheets/style_cards.scss +10 -14
- data/mod/machines/set/abstract/machine.rb +1 -1
- data/mod/machines/spec/set/abstract/machine_spec.rb +1 -1
- data/mod/machines/spec/set/type/scss_spec.rb +5 -7
- data/mod/machines/spec/shared_examples/machine.rb +3 -3
- data/mod/notifications/set/all/follow.rb +2 -2
- data/mod/notifications/set/all/send_notifications.rb +21 -15
- data/mod/notifications/set/right/bcc.rb +1 -1
- data/mod/notifications/set/right/follow.rb +1 -1
- data/mod/notifications/set/right/html_message.rb +6 -0
- data/mod/notifications/set/right/text_message.rb +6 -0
- data/mod/notifications/spec/set/all/notify_spec.rb +87 -166
- data/mod/notifications/spec/set/type/notification_template_spec.rb +3 -2
- data/mod/pointer/set/abstract/02_pointer.rb +4 -4
- data/mod/pointer/set/abstract/02_pointer/edit.rb +41 -14
- data/mod/pointer/spec/set/type/pointer_spec.rb +10 -9
- data/mod/prosemirror_editor/lib/javascript/script_prosemirror.js +305 -143
- data/mod/settings/set/abstract/permission.rb +1 -1
- data/mod/settings/set/right/structure.rb +0 -1
- data/mod/settings/set/self/recent_settings.rb +4 -0
- data/mod/standard/file/credit_image/image-icon.png +0 -0
- data/mod/standard/file/credit_image/image-large.png +0 -0
- data/mod/standard/file/credit_image/image-medium.png +0 -0
- data/mod/standard/file/credit_image/image-small.png +0 -0
- data/mod/standard/file/favicon/image-icon.png +0 -0
- data/mod/standard/file/favicon/image-large.png +0 -0
- data/mod/standard/file/favicon/image-medium.png +0 -0
- data/mod/standard/file/favicon/image-small.png +0 -0
- data/mod/standard/file/logo/image-icon.png +0 -0
- data/mod/standard/file/logo/image-large.png +0 -0
- data/mod/standard/file/logo/image-medium.png +0 -0
- data/mod/standard/file/logo/image-small.png +0 -0
- data/mod/standard/set/abstract/search.rb +1 -1
- data/mod/standard/set/all/error.rb +5 -5
- data/mod/standard/set/all/links.rb +1 -2
- data/mod/standard/set/all/list_changes.rb +1 -1
- data/mod/standard/set/all/rich_html/content.rb +20 -14
- data/mod/standard/set/all/rich_html/editing.rb +9 -7
- data/mod/standard/set/all/rich_html/form.rb +24 -27
- data/mod/standard/set/all/rich_html/header.rb +1 -1
- data/mod/standard/set/all/rich_html/new.rb +12 -10
- data/mod/standard/set/all/rich_html/toolbar.rb +2 -2
- data/mod/standard/set/all/rich_html/wrapper.rb +4 -4
- data/mod/standard/set/self/activity_toolbar_button.rb +1 -1
- data/mod/standard/set/self/recent.rb +4 -2
- data/mod/standard/set/type/basic.rb +2 -2
- data/mod/standard/set/type/cardtype.rb +11 -8
- data/mod/standard/set/type/list.rb +4 -4
- data/mod/standard/set/type/search_type.rb +4 -4
- data/mod/standard/set/type/session.rb +4 -0
- data/mod/standard/set/type/set.rb +1 -1
- data/mod/standard/set/type/toggle.rb +2 -2
- data/mod/standard/spec/chunk/link_spec.rb +1 -1
- data/mod/standard/spec/set/all/history_spec.rb +31 -12
- data/mod/standard/spec/set/all/rich_html/form_spec.rb +2 -2
- data/mod/standard/spec/set/all/rich_html/toolbar_spec.rb +1 -0
- data/mod/standard/spec/set/type/cardtype_spec.rb +44 -1
- data/mod/standard/spec/set/type/email_template/email_config_spec.rb +2 -1
- data/mod/standard/spec/set/type/list_spec.rb +8 -3
- data/mod/standard/spec/set/type/listed_by_spec.rb +0 -6
- data/spec/config/initializers/patches/active_job_spec.rb +7 -0
- data/spec/lib/card/action_spec.rb +3 -2
- data/spec/lib/card/codename_spec.rb +7 -2
- data/spec/lib/card/content_spec.rb +19 -1
- data/spec/lib/card/format/render_spec.rb +5 -5
- data/spec/lib/card/i18n_spec.rb +5 -20
- data/spec/lib/card/{loader → mod/loader}/mod_dirs.rb +0 -0
- data/spec/lib/card/mod/loader/set_loader_spec.rb +19 -0
- data/spec/lib/card/mod/loader/set_pattern_loader_spec.rb +19 -0
- data/spec/lib/card/name/fields_and_traits_spec.rb +18 -0
- data/spec/lib/card/name_spec.rb +3 -3
- data/spec/lib/card/query/sorting_spec.rb +1 -1
- data/spec/lib/card/query_spec.rb +16 -9
- data/spec/lib/card/reference_spec.rb +5 -6
- data/spec/lib/card/set_pattern_spec.rb +4 -0
- data/spec/lib/card/view_cache_spec.rb +17 -0
- data/spec/models/card/create_spec.rb +40 -22
- data/spec/models/card/trash_spec.rb +8 -70
- data/spec/models/card_spec.rb +16 -46
- data/spec/spec_helper.rb +1 -3
- data/spec/support/card_spec_helper.rb +5 -2
- data/spec/support/card_spec_loader.rb +34 -6
- data/spec/support/helper/event_helper.rb +1 -1
- data/spec/support/helper/save_helper.rb +4 -0
- data/spec/support/helper/set_helper.rb +1 -1
- data/spec/support/matchers/card_matchers.rb +136 -0
- data/spec/support/matchers/expectations.rb +5 -0
- data/spec/support/matchers/file_matchers.rb +71 -0
- data/spec/support/matchers/negated_matchers.rb +2 -0
- data/spec/support/test_mods/mod1/set/all/test_set.rb +3 -0
- data/spec/support/test_mods/mod2/set_pattern/test_pattern.rb +0 -0
- data/tmpsets/set/mod001-admin/self/admin.rb +130 -0
- data/tmpsets/set/mod001-admin/self/admin_info.rb +110 -0
- data/tmpsets/set/mod001-admin/self/version.rb +15 -0
- data/tmpsets/set/mod002-core/abstract/code_file.rb +79 -0
- data/tmpsets/set/mod002-core/all/actify.rb +101 -0
- data/tmpsets/set/mod002-core/all/active_card.rb +42 -0
- data/tmpsets/set/mod002-core/all/collection.rb +313 -0
- data/tmpsets/set/mod002-core/all/content.rb +69 -0
- data/tmpsets/set/mod002-core/all/debug.rb +30 -0
- data/tmpsets/set/mod002-core/all/erb.rb +18 -0
- data/tmpsets/set/mod002-core/all/event.rb +62 -0
- data/tmpsets/set/mod002-core/all/export.rb +49 -0
- data/tmpsets/set/mod002-core/all/fetch.rb +335 -0
- data/tmpsets/set/mod002-core/all/haml.rb +14 -0
- data/tmpsets/set/mod002-core/all/initialize.rb +42 -0
- data/tmpsets/set/mod002-core/all/location_history.rb +15 -0
- data/tmpsets/set/mod002-core/all/name.rb +282 -0
- data/tmpsets/set/mod002-core/all/name_validations.rb +65 -0
- data/tmpsets/set/mod002-core/all/pattern.rb +67 -0
- data/tmpsets/set/mod002-core/all/permissions.rb +319 -0
- data/tmpsets/set/mod002-core/all/phases.rb +23 -0
- data/tmpsets/set/mod002-core/all/references.rb +187 -0
- data/tmpsets/set/mod002-core/all/rules.rb +311 -0
- data/tmpsets/set/mod002-core/all/stages.rb +31 -0
- data/tmpsets/set/mod002-core/all/states.rb +31 -0
- data/tmpsets/set/mod002-core/all/subcards.rb +85 -0
- data/tmpsets/set/mod002-core/all/templating.rb +78 -0
- data/tmpsets/set/mod002-core/all/tracked_attributes.rb +78 -0
- data/tmpsets/set/mod002-core/all/trash.rb +113 -0
- data/tmpsets/set/mod002-core/all/type.rb +60 -0
- data/tmpsets/set/mod002-core/all/update_read_rules.rb +91 -0
- data/tmpsets/set/mod002-core/all/utils.rb +62 -0
- data/tmpsets/set/mod002-core/all/view_cache.rb +16 -0
- data/tmpsets/set/mod003-history/all/actions.rb +60 -0
- data/tmpsets/set/mod003-history/all/content_history.rb +168 -0
- data/tmpsets/set/mod003-history/all/history.rb +408 -0
- data/tmpsets/set/mod004-basic_formats/all/all_css.rb +45 -0
- data/tmpsets/set/mod004-basic_formats/all/all_csv.rb +56 -0
- data/tmpsets/set/mod004-basic_formats/all/all_js.rb +13 -0
- data/tmpsets/set/mod004-basic_formats/all/base.rb +155 -0
- data/tmpsets/set/mod004-basic_formats/all/file.rb +16 -0
- data/tmpsets/set/mod004-basic_formats/all/json.rb +76 -0
- data/tmpsets/set/mod004-basic_formats/all/rss.rb +77 -0
- data/tmpsets/set/mod004-basic_formats/all/text.rb +13 -0
- data/tmpsets/set/mod004-basic_formats/self/01_head/javascript.rb +79 -0
- data/tmpsets/set/mod004-basic_formats/self/head.rb +101 -0
- data/tmpsets/set/mod005-pointer/abstract/01_pointer.rb +193 -0
- data/tmpsets/set/mod005-pointer/abstract/01_pointer/edit.rb +224 -0
- data/tmpsets/set/mod005-pointer/abstract/code_pointer.rb +16 -0
- data/tmpsets/set/mod005-pointer/self/script_editors.rb +8 -0
- data/tmpsets/set/mod005-pointer/self/script_mods.rb +8 -0
- data/tmpsets/set/mod005-pointer/self/script_pointer_config.rb +10 -0
- data/tmpsets/set/mod005-pointer/type/pointer.rb +8 -0
- data/tmpsets/set/mod006-ace_editor/abstract/ace_editor.rb +18 -0
- data/tmpsets/set/mod006-ace_editor/self/script_ace.rb +10 -0
- data/tmpsets/set/mod006-ace_editor/self/script_ace_config.rb +12 -0
- data/tmpsets/set/mod007-prosemirror_editor/abstract/prosemirror_editor.rb +14 -0
- data/tmpsets/set/mod007-prosemirror_editor/self/script_prosemirror.rb +10 -0
- data/tmpsets/set/mod007-prosemirror_editor/self/script_prosemirror_config.rb +13 -0
- data/tmpsets/set/mod009-solid_cache/abstract/solid_cache.rb +106 -0
- data/tmpsets/set/mod009-solid_cache/all/solid_cache.rb +21 -0
- data/tmpsets/set/mod009-solid_cache/right/solid_cache.rb +39 -0
- data/tmpsets/set/mod010-basic_types/type/html.rb +26 -0
- data/tmpsets/set/mod010-basic_types/type/plain_text.rb +19 -0
- data/tmpsets/set/mod011-machines/abstract/machine.rb +277 -0
- data/tmpsets/set/mod011-machines/abstract/machine_input.rb +83 -0
- data/tmpsets/set/mod011-machines/abstract/script.rb +49 -0
- data/tmpsets/set/mod011-machines/all/reset_machines.rb +19 -0
- data/tmpsets/set/mod011-machines/right/machine_cache.rb +18 -0
- data/tmpsets/set/mod011-machines/right/machine_input.rb +10 -0
- data/tmpsets/set/mod011-machines/right/machine_output.rb +47 -0
- data/tmpsets/set/mod011-machines/self/script_card_menu.rb +8 -0
- data/tmpsets/set/mod011-machines/self/script_html5shiv_printshiv.rb +8 -0
- data/tmpsets/set/mod011-machines/self/script_jquery.rb +8 -0
- data/tmpsets/set/mod011-machines/self/script_jquery_helper.rb +16 -0
- data/tmpsets/set/mod011-machines/self/script_slot.rb +14 -0
- data/tmpsets/set/mod011-machines/self/style_bootstrap_compatible.rb +8 -0
- data/tmpsets/set/mod011-machines/self/style_cards.rb +8 -0
- data/tmpsets/set/mod011-machines/self/style_jquery_ui_smoothness.rb +8 -0
- data/tmpsets/set/mod011-machines/type/coffee_script.rb +43 -0
- data/tmpsets/set/mod011-machines/type/css.rb +67 -0
- data/tmpsets/set/mod011-machines/type/java_script.rb +36 -0
- data/tmpsets/set/mod011-machines/type/scss.rb +21 -0
- data/tmpsets/set/mod011-machines/type/skin.rb +13 -0
- data/tmpsets/set/mod012-settings/abstract/permission.rb +119 -0
- data/tmpsets/set/mod012-settings/right/add_help.rb +18 -0
- data/tmpsets/set/mod012-settings/right/comment.rb +8 -0
- data/tmpsets/set/mod012-settings/right/create.rb +8 -0
- data/tmpsets/set/mod012-settings/right/default.rb +14 -0
- data/tmpsets/set/mod012-settings/right/delete.rb +8 -0
- data/tmpsets/set/mod012-settings/right/help.rb +10 -0
- data/tmpsets/set/mod012-settings/right/read.rb +10 -0
- data/tmpsets/set/mod012-settings/right/script.rb +16 -0
- data/tmpsets/set/mod012-settings/right/structure.rb +68 -0
- data/tmpsets/set/mod012-settings/right/style.rb +17 -0
- data/tmpsets/set/mod012-settings/right/update.rb +8 -0
- data/tmpsets/set/mod012-settings/self/accountable.rb +10 -0
- data/tmpsets/set/mod012-settings/self/add_help.rb +9 -0
- data/tmpsets/set/mod012-settings/self/autoname.rb +9 -0
- data/tmpsets/set/mod012-settings/self/captcha.rb +9 -0
- data/tmpsets/set/mod012-settings/self/create.rb +9 -0
- data/tmpsets/set/mod012-settings/self/default.rb +9 -0
- data/tmpsets/set/mod012-settings/self/default_html_view.rb +9 -0
- data/tmpsets/set/mod012-settings/self/delete.rb +9 -0
- data/tmpsets/set/mod012-settings/self/follow_fields.rb +9 -0
- data/tmpsets/set/mod012-settings/self/help.rb +9 -0
- data/tmpsets/set/mod012-settings/self/input.rb +11 -0
- data/tmpsets/set/mod012-settings/self/layout.rb +9 -0
- data/tmpsets/set/mod012-settings/self/on_create.rb +9 -0
- data/tmpsets/set/mod012-settings/self/on_delete.rb +9 -0
- data/tmpsets/set/mod012-settings/self/on_update.rb +9 -0
- data/tmpsets/set/mod012-settings/self/options.rb +11 -0
- data/tmpsets/set/mod012-settings/self/options_label.rb +11 -0
- data/tmpsets/set/mod012-settings/self/read.rb +9 -0
- data/tmpsets/set/mod012-settings/self/recent_settings.rb +10 -0
- data/tmpsets/set/mod012-settings/self/script.rb +9 -0
- data/tmpsets/set/mod012-settings/self/structure.rb +9 -0
- data/tmpsets/set/mod012-settings/self/style.rb +9 -0
- data/tmpsets/set/mod012-settings/self/table_of_contents.rb +9 -0
- data/tmpsets/set/mod012-settings/self/thanks.rb +9 -0
- data/tmpsets/set/mod012-settings/self/update.rb +9 -0
- data/tmpsets/set/mod012-settings/type/setting.rb +111 -0
- data/tmpsets/set/mod013-email/all/email_html.rb +11 -0
- data/tmpsets/set/mod013-email/all/email_text.rb +12 -0
- data/tmpsets/set/mod013-email/all/follow.rb +253 -0
- data/tmpsets/set/mod013-email/all/notify.rb +271 -0
- data/tmpsets/set/mod013-email/all/observer.rb +33 -0
- data/tmpsets/set/mod013-email/right/bcc.rb +47 -0
- data/tmpsets/set/mod013-email/right/cc.rb +10 -0
- data/tmpsets/set/mod013-email/right/follow.rb +106 -0
- data/tmpsets/set/mod013-email/right/follow_fields.rb +10 -0
- data/tmpsets/set/mod013-email/right/followers.rb +41 -0
- data/tmpsets/set/mod013-email/right/following.rb +65 -0
- data/tmpsets/set/mod013-email/right/from.rb +10 -0
- data/tmpsets/set/mod013-email/right/html_message.rb +10 -0
- data/tmpsets/set/mod013-email/right/to.rb +10 -0
- data/tmpsets/set/mod013-email/self/always.rb +20 -0
- data/tmpsets/set/mod013-email/self/created.rb +26 -0
- data/tmpsets/set/mod013-email/self/edited.rb +27 -0
- data/tmpsets/set/mod013-email/self/follow.rb +9 -0
- data/tmpsets/set/mod013-email/self/follow_defaults.rb +75 -0
- data/tmpsets/set/mod013-email/self/never.rb +20 -0
- data/tmpsets/set/mod013-email/type/email_template.rb +133 -0
- data/tmpsets/set/mod013-email/type_plus_right/user/follow.rb +180 -0
- data/tmpsets/set/mod014-developer/all/event_viz.rb +59 -0
- data/tmpsets/set/mod014-developer/all/view_viz.rb +30 -0
- data/tmpsets/set/mod014-developer/right/debug.rb +96 -0
- data/tmpsets/set/mod015-carrierwave/abstract/attachment.rb +118 -0
- data/tmpsets/set/mod015-carrierwave/abstract/attachment/paths.rb +57 -0
- data/tmpsets/set/mod015-carrierwave/abstract/attachment/storage_type.rb +326 -0
- data/tmpsets/set/mod015-carrierwave/abstract/attachment/upload_cache.rb +84 -0
- data/tmpsets/set/mod015-carrierwave/all/file_utils.rb +35 -0
- data/tmpsets/set/mod015-carrierwave/self/admin.rb +30 -0
- data/tmpsets/set/mod015-carrierwave/type/file.rb +158 -0
- data/tmpsets/set/mod015-carrierwave/type/image.rb +97 -0
- data/tmpsets/set/mod016-standard/all/comment.rb +67 -0
- data/tmpsets/set/mod016-standard/all/error.rb +229 -0
- data/tmpsets/set/mod016-standard/all/links.rb +165 -0
- data/tmpsets/set/mod016-standard/all/list_changes.rb +53 -0
- data/tmpsets/set/mod016-standard/all/rich_html/content.rb +261 -0
- data/tmpsets/set/mod016-standard/all/rich_html/editing.rb +247 -0
- data/tmpsets/set/mod016-standard/all/rich_html/form.rb +298 -0
- data/tmpsets/set/mod016-standard/all/rich_html/header.rb +78 -0
- data/tmpsets/set/mod016-standard/all/rich_html/menu.rb +154 -0
- data/tmpsets/set/mod016-standard/all/rich_html/modal.rb +58 -0
- data/tmpsets/set/mod016-standard/all/rich_html/toolbar.rb +312 -0
- data/tmpsets/set/mod016-standard/all/rich_html/wrapper.rb +191 -0
- data/tmpsets/set/mod016-standard/right/discussion.rb +10 -0
- data/tmpsets/set/mod016-standard/right/when_created.rb +14 -0
- data/tmpsets/set/mod016-standard/right/when_last_edited.rb +14 -0
- data/tmpsets/set/mod016-standard/rstar/rules.rb +107 -0
- data/tmpsets/set/mod016-standard/rstar/rules_editor.rb +371 -0
- data/tmpsets/set/mod016-standard/self/alerts.rb +12 -0
- data/tmpsets/set/mod016-standard/self/codenames.rb +7 -0
- data/tmpsets/set/mod016-standard/self/foot.rb +15 -0
- data/tmpsets/set/mod016-standard/self/navbox.rb +36 -0
- data/tmpsets/set/mod016-standard/self/now.rb +14 -0
- data/tmpsets/set/mod016-standard/self/recent.rb +34 -0
- data/tmpsets/set/mod016-standard/self/search.rb +71 -0
- data/tmpsets/set/mod016-standard/type/basic.rb +59 -0
- data/tmpsets/set/mod016-standard/type/cardtype.rb +81 -0
- data/tmpsets/set/mod016-standard/type/date.rb +15 -0
- data/tmpsets/set/mod016-standard/type/layout_type.rb +17 -0
- data/tmpsets/set/mod016-standard/type/list.rb +120 -0
- data/tmpsets/set/mod016-standard/type/listed_by.rb +85 -0
- data/tmpsets/set/mod016-standard/type/number.rb +25 -0
- data/tmpsets/set/mod016-standard/type/phrase.rb +10 -0
- data/tmpsets/set/mod016-standard/type/search_type.rb +339 -0
- data/tmpsets/set/mod016-standard/type/session.rb +42 -0
- data/tmpsets/set/mod016-standard/type/set.rb +371 -0
- data/tmpsets/set/mod016-standard/type/toggle.rb +19 -0
- data/tmpsets/set/mod016-standard/type/uri.rb +18 -0
- data/tmpsets/set/mod017-account/all/account.rb +72 -0
- data/tmpsets/set/mod017-account/right/account.rb +196 -0
- data/tmpsets/set/mod017-account/right/email.rb +61 -0
- data/tmpsets/set/mod017-account/right/password.rb +54 -0
- data/tmpsets/set/mod017-account/right/salt.rb +12 -0
- data/tmpsets/set/mod017-account/right/status.rb +16 -0
- data/tmpsets/set/mod017-account/right/token.rb +57 -0
- data/tmpsets/set/mod017-account/self/account_links.rb +72 -0
- data/tmpsets/set/mod017-account/self/signin.rb +165 -0
- data/tmpsets/set/mod017-account/type/signup.rb +175 -0
- data/tmpsets/set/mod017-account/type/user.rb +88 -0
- data/tmpsets/set/mod018-bootstrap/all/bootstrap/form.rb +42 -0
- data/tmpsets/set/mod018-bootstrap/all/bootstrap/helper.rb +236 -0
- data/tmpsets/set/mod018-bootstrap/all/bootstrap/table.rb +68 -0
- data/tmpsets/set/mod018-bootstrap/all/bootstrap/tabs.rb +88 -0
- data/tmpsets/set/mod018-bootstrap/all/bootstrap/wrapper.rb +18 -0
- data/tmpsets/set/mod018-bootstrap/all/rich_bootstrap.rb +13 -0
- data/tmpsets/set/mod018-bootstrap/self/bootstrap_cards.rb +8 -0
- data/tmpsets/set/mod018-bootstrap/self/bootstrap_js.rb +12 -0
- data/tmpsets/set/mod018-bootstrap/self/bootswatch_shared.rb +47 -0
- data/tmpsets/set/mod018-bootstrap/self/script_mods.rb +7 -0
- data/tmpsets/set/mod018-bootstrap/self/smartmenu_css.rb +12 -0
- data/tmpsets/set/mod018-bootstrap/self/smartmenu_js.rb +12 -0
- data/tmpsets/set_pattern/100-all.rb +24 -0
- data/tmpsets/set_pattern/101-all_plus.rb +26 -0
- data/tmpsets/set_pattern/102-type.rb +36 -0
- data/tmpsets/set_pattern/103-star.rb +28 -0
- data/tmpsets/set_pattern/104-rstar.rb +30 -0
- data/tmpsets/set_pattern/105-right.rb +33 -0
- data/tmpsets/set_pattern/106-type_plus_right.rb +39 -0
- data/tmpsets/set_pattern/107-self.rb +32 -0
- metadata +494 -167
- data/README_Developers.rdoc +0 -100
- data/lib/card/format/names.rb +0 -43
- data/lib/card/format/nest/view.rb +0 -65
- data/lib/card/view/fetch.rb +0 -121
- data/mod/core/spec/set/all/attribute_tracking_spec.rb +0 -21
- data/spec/models/card/cardtype_spec.rb +0 -189
- data/spec/models/card/type_transition_spec.rb +0 -132
- data/spec/models/card/validation_spec.rb +0 -34
- data/spec/support/matchers.rb +0 -74
@@ -11,8 +11,9 @@ describe Card::Set::Type::NotificationTemplate do
|
|
11
11
|
|
12
12
|
def notify
|
13
13
|
Card::Auth.as_bot do
|
14
|
-
|
15
|
-
|
14
|
+
post :update, params: { id: "~#{Card['A'].id}",
|
15
|
+
card: { "content" => "change" } },
|
16
|
+
xhr: true
|
16
17
|
end
|
17
18
|
end
|
18
19
|
|
@@ -5,12 +5,12 @@ stage_method :changed_item_names do
|
|
5
5
|
end
|
6
6
|
|
7
7
|
stage_method :dropped_item_names do
|
8
|
-
old_items = item_names content:
|
8
|
+
old_items = item_names content: db_content_before_act
|
9
9
|
old_items - item_names
|
10
10
|
end
|
11
11
|
|
12
12
|
stage_method :added_item_names do
|
13
|
-
old_items = item_names content:
|
13
|
+
old_items = item_names content: db_content_before_act
|
14
14
|
item_names - old_items
|
15
15
|
end
|
16
16
|
|
@@ -125,7 +125,7 @@ format :json do
|
|
125
125
|
end
|
126
126
|
|
127
127
|
def essentials
|
128
|
-
return if
|
128
|
+
return {} if depth > max_depth
|
129
129
|
card.item_cards.map do |item|
|
130
130
|
nest item, view: :essentials
|
131
131
|
end
|
@@ -192,7 +192,7 @@ def item_names args={}
|
|
192
192
|
if context == :raw
|
193
193
|
item_name
|
194
194
|
else
|
195
|
-
item_name.to_name.
|
195
|
+
item_name.to_name.absolute context
|
196
196
|
end
|
197
197
|
end
|
198
198
|
end
|
@@ -13,22 +13,30 @@ end
|
|
13
13
|
|
14
14
|
format :html do
|
15
15
|
view :editor do |args|
|
16
|
-
|
16
|
+
# FIXME: use voo
|
17
|
+
@item_list = args[:item_list]
|
18
|
+
@extra_css_class = args[:extra_css_class]
|
19
|
+
_render_hidden_content_field + super()
|
17
20
|
# .merge(pointer_item_class: 'form-control')))
|
18
21
|
end
|
19
22
|
|
20
|
-
def
|
21
|
-
|
23
|
+
def default_editor
|
24
|
+
:list
|
22
25
|
end
|
23
26
|
|
24
|
-
view :list do |args|
|
25
|
-
|
26
|
-
|
27
|
+
view :list, cache: :never do |args|
|
28
|
+
@item_list = args[:item_list]
|
29
|
+
@extra_css_class = args[:extra_css_class]
|
30
|
+
list_input
|
31
|
+
end
|
32
|
+
|
33
|
+
def list_input
|
34
|
+
items = @item_list || card.item_names(context: :raw)
|
27
35
|
items = [""] if items.empty?
|
28
36
|
rendered_items = items.map do |item|
|
29
|
-
_render_list_item
|
37
|
+
_render_list_item pointer_item: item
|
30
38
|
end.join "\n"
|
31
|
-
extra_css_class =
|
39
|
+
extra_css_class = @extra_css_class || "pointer-list-ul"
|
32
40
|
|
33
41
|
<<-HTML
|
34
42
|
<ul class="pointer-list-editor #{extra_css_class}"
|
@@ -53,17 +61,16 @@ format :html do
|
|
53
61
|
|
54
62
|
view :list_item do |args|
|
55
63
|
<<-HTML
|
56
|
-
<li class="pointer-li">
|
64
|
+
<li class="pointer-li mb-1">
|
57
65
|
<span class="input-group">
|
58
66
|
<span class="input-group-addon handle">
|
59
|
-
#{
|
60
|
-
#{glyphicon 'option-vertical right'}
|
67
|
+
#{icon_tag :reorder}
|
61
68
|
</span>
|
62
69
|
#{text_field_tag 'pointer_item', args[:pointer_item],
|
63
70
|
class: 'pointer-item-text form-control'}
|
64
71
|
<span class="input-group-btn">
|
65
|
-
<button class="pointer-item-delete btn btn-
|
66
|
-
#{
|
72
|
+
<button class="pointer-item-delete btn btn-secondary" type="button">
|
73
|
+
#{icon_tag :remove}
|
67
74
|
</button>
|
68
75
|
</span>
|
69
76
|
</span>
|
@@ -72,7 +79,11 @@ format :html do
|
|
72
79
|
end
|
73
80
|
|
74
81
|
view :autocomplete do |args|
|
75
|
-
|
82
|
+
autocomplete_input
|
83
|
+
end
|
84
|
+
|
85
|
+
def autocomplete_input
|
86
|
+
items = @item_list || card.item_names(context: :raw)
|
76
87
|
items = [""] if items.empty?
|
77
88
|
<<-HTML
|
78
89
|
<div class="pointer-list-editor pointer-list-ul"
|
@@ -84,6 +95,10 @@ format :html do
|
|
84
95
|
end
|
85
96
|
|
86
97
|
view :checkbox do |_args|
|
98
|
+
checkbox_input
|
99
|
+
end
|
100
|
+
|
101
|
+
def checkbox_input
|
87
102
|
options = card.option_names.map do |option_name|
|
88
103
|
checked = card.item_names.include?(option_name)
|
89
104
|
id = "pointer-checkbox-#{option_name.to_name.key}"
|
@@ -101,6 +116,10 @@ format :html do
|
|
101
116
|
end
|
102
117
|
|
103
118
|
view :multiselect do |_args|
|
119
|
+
multiselect_input
|
120
|
+
end
|
121
|
+
|
122
|
+
def multiselect_input
|
104
123
|
select_tag(
|
105
124
|
"pointer_multiselect-#{unique_id}",
|
106
125
|
options_for_select(card.option_names, card.item_names),
|
@@ -109,6 +128,10 @@ format :html do
|
|
109
128
|
end
|
110
129
|
|
111
130
|
view :radio do |_args|
|
131
|
+
radio_input
|
132
|
+
end
|
133
|
+
|
134
|
+
def radio_input
|
112
135
|
input_name = "pointer_radio_button-#{card.key}"
|
113
136
|
options = card.option_names.map do |option_name|
|
114
137
|
checked = (option_name == card.item_names.first)
|
@@ -143,6 +166,10 @@ format :html do
|
|
143
166
|
end
|
144
167
|
|
145
168
|
view :select do |_args|
|
169
|
+
select_input
|
170
|
+
end
|
171
|
+
|
172
|
+
def select_input
|
146
173
|
options = [["-- Select --", ""]] + card.option_names.map { |x| [x, x] }
|
147
174
|
select_tag("pointer_select-#{unique_id}",
|
148
175
|
options_for_select(options, card.item_names.first),
|
@@ -51,22 +51,23 @@ describe Card::Set::Type::Pointer do
|
|
51
51
|
end
|
52
52
|
|
53
53
|
let(:pointer) do
|
54
|
-
Card.create name: "tp",
|
55
|
-
|
54
|
+
Card.create! name: "tp", type_id: Card::PointerID,
|
55
|
+
content: "[[item1]]\n[[item2]]"
|
56
56
|
end
|
57
57
|
|
58
58
|
def pointer_update content
|
59
|
-
-> {
|
59
|
+
-> { Card["tp"].update_attributes! content: content }
|
60
60
|
end
|
61
61
|
|
62
62
|
describe "#added_item_names" do
|
63
63
|
it "recognizes added items" do
|
64
64
|
Card::Auth.as_bot do
|
65
65
|
pointer
|
66
|
-
in_stage(:
|
66
|
+
in_stage(:finalize,
|
67
67
|
on: :save,
|
68
|
+
for: "tp",
|
68
69
|
trigger: pointer_update("[[item1]]\n[[item2]]\n[[item3]]")) do
|
69
|
-
expect(added_item_names).to
|
70
|
+
expect(added_item_names).to contain_exactly "item3"
|
70
71
|
end
|
71
72
|
end
|
72
73
|
end
|
@@ -74,7 +75,7 @@ describe Card::Set::Type::Pointer do
|
|
74
75
|
it "ignores order" do
|
75
76
|
Card::Auth.as_bot do
|
76
77
|
pointer
|
77
|
-
in_stage :
|
78
|
+
in_stage :finalize,
|
78
79
|
on: :save,
|
79
80
|
trigger: pointer_update("[[item2]]\n[[item1]]") do
|
80
81
|
expect(added_item_names).to eq []
|
@@ -87,7 +88,7 @@ describe Card::Set::Type::Pointer do
|
|
87
88
|
it "recognizes dropped items" do
|
88
89
|
Card::Auth.as_bot do
|
89
90
|
pointer
|
90
|
-
in_stage :
|
91
|
+
in_stage :finalize,
|
91
92
|
on: :save,
|
92
93
|
trigger: pointer_update("[[item1]]") do
|
93
94
|
expect(dropped_item_names).to eq ["item2"]
|
@@ -98,7 +99,7 @@ describe Card::Set::Type::Pointer do
|
|
98
99
|
it "ignores order" do
|
99
100
|
Card::Auth.as_bot do
|
100
101
|
pointer
|
101
|
-
in_stage :
|
102
|
+
in_stage :finalize,
|
102
103
|
on: :save,
|
103
104
|
trigger: pointer_update("[[item2]]\n[[item1]]") do
|
104
105
|
expect(dropped_item_names).to eq []
|
@@ -111,7 +112,7 @@ describe Card::Set::Type::Pointer do
|
|
111
112
|
it "recognizes changed items" do
|
112
113
|
Card::Auth.as_bot do
|
113
114
|
pointer
|
114
|
-
in_stage :
|
115
|
+
in_stage :finalize,
|
115
116
|
on: :save,
|
116
117
|
trigger: pointer_update("[[item1]]\n[[item3]]") do
|
117
118
|
expect(changed_item_names.sort).to eq %w[item2 item3]
|
@@ -243,7 +243,7 @@
|
|
243
243
|
return state.tr.replaceWith(start, end, state.schema.text(insert, marks));
|
244
244
|
};
|
245
245
|
}
|
246
|
-
var MAX_MATCH =
|
246
|
+
var MAX_MATCH = 500;
|
247
247
|
var stateKey = new PluginKey("fromInputRule");
|
248
248
|
function inputRules(ref) {
|
249
249
|
var rules = ref.rules;
|
@@ -508,6 +508,14 @@
|
|
508
508
|
name = "Escape";
|
509
509
|
if (name == "Del")
|
510
510
|
name = "Delete";
|
511
|
+
if (name == "Left")
|
512
|
+
name = "ArrowLeft";
|
513
|
+
if (name == "Up")
|
514
|
+
name = "ArrowUp";
|
515
|
+
if (name == "Right")
|
516
|
+
name = "ArrowRight";
|
517
|
+
if (name == "Down")
|
518
|
+
name = "ArrowDown";
|
511
519
|
return name;
|
512
520
|
}
|
513
521
|
module.exports = keyName;
|
@@ -684,9 +692,9 @@
|
|
684
692
|
left: event.clientX,
|
685
693
|
top: event.clientY
|
686
694
|
});
|
687
|
-
if (pos && !active || active.pos != pos.pos) {
|
695
|
+
if (pos && (!active || active.pos != pos.pos)) {
|
688
696
|
dispatch(view, {
|
689
|
-
type: "
|
697
|
+
type: "set",
|
690
698
|
pos: pos.pos
|
691
699
|
});
|
692
700
|
}
|
@@ -823,6 +831,62 @@
|
|
823
831
|
}
|
824
832
|
}
|
825
833
|
exports.scrollRectIntoView = scrollRectIntoView;
|
834
|
+
function storeScrollPos(view) {
|
835
|
+
var rect = view.content.getBoundingClientRect(),
|
836
|
+
startY = Math.max(0, rect.top);
|
837
|
+
var refDOM,
|
838
|
+
refTop;
|
839
|
+
for (var x = (rect.left + rect.right) / 2,
|
840
|
+
y = startY + 1; y < Math.min(innerHeight, rect.bottom); y += 5) {
|
841
|
+
var dom = view.root.elementFromPoint(x, y);
|
842
|
+
if (dom == view.content || !view.content.contains(dom)) {
|
843
|
+
continue;
|
844
|
+
}
|
845
|
+
var localRect = dom.getBoundingClientRect();
|
846
|
+
if (localRect.top >= startY - 20) {
|
847
|
+
refDOM = dom;
|
848
|
+
refTop = localRect.top;
|
849
|
+
break;
|
850
|
+
}
|
851
|
+
}
|
852
|
+
var stack = [];
|
853
|
+
for (var dom$1 = view.content; dom$1; dom$1 = parentNode(dom$1)) {
|
854
|
+
stack.push({
|
855
|
+
dom: dom$1,
|
856
|
+
top: dom$1.scrollTop,
|
857
|
+
left: dom$1.scrollLeft
|
858
|
+
});
|
859
|
+
if (dom$1 == document.body) {
|
860
|
+
break;
|
861
|
+
}
|
862
|
+
}
|
863
|
+
return {
|
864
|
+
refDOM: refDOM,
|
865
|
+
refTop: refTop,
|
866
|
+
stack: stack
|
867
|
+
};
|
868
|
+
}
|
869
|
+
exports.storeScrollPos = storeScrollPos;
|
870
|
+
function resetScrollPos(ref) {
|
871
|
+
var refDOM = ref.refDOM;
|
872
|
+
var refTop = ref.refTop;
|
873
|
+
var stack = ref.stack;
|
874
|
+
var newRefTop = refDOM ? refDOM.getBoundingClientRect().top : 0;
|
875
|
+
var dTop = newRefTop == 0 ? 0 : newRefTop - refTop;
|
876
|
+
for (var i = 0; i < stack.length; i++) {
|
877
|
+
var ref$1 = stack[i];
|
878
|
+
var dom = ref$1.dom;
|
879
|
+
var top = ref$1.top;
|
880
|
+
var left = ref$1.left;
|
881
|
+
if (dom.scrollTop != top + dTop) {
|
882
|
+
dom.scrollTop = top + dTop;
|
883
|
+
}
|
884
|
+
if (dom.scrollLeft != left) {
|
885
|
+
dom.scrollLeft = left;
|
886
|
+
}
|
887
|
+
}
|
888
|
+
}
|
889
|
+
exports.resetScrollPos = resetScrollPos;
|
826
890
|
function findOffsetInNode(node, coords) {
|
827
891
|
var closest,
|
828
892
|
dxClosest = 2e8,
|
@@ -1097,7 +1161,8 @@
|
|
1097
1161
|
size: {},
|
1098
1162
|
border: {},
|
1099
1163
|
posAtStart: {},
|
1100
|
-
posAtEnd: {}
|
1164
|
+
posAtEnd: {},
|
1165
|
+
contentLost: {}
|
1101
1166
|
};
|
1102
1167
|
ViewDesc.prototype.matchesWidget = function() {
|
1103
1168
|
return false;
|
@@ -1130,7 +1195,10 @@
|
|
1130
1195
|
};
|
1131
1196
|
ViewDesc.prototype.destroy = function() {
|
1132
1197
|
var this$1 = this;
|
1133
|
-
this.parent =
|
1198
|
+
this.parent = null;
|
1199
|
+
if (this.dom.pmViewDesc == this) {
|
1200
|
+
this.dom.pmViewDesc = null;
|
1201
|
+
}
|
1134
1202
|
for (var i = 0; i < this.children.length; i++) {
|
1135
1203
|
this$1.children[i].destroy();
|
1136
1204
|
}
|
@@ -1188,7 +1256,7 @@
|
|
1188
1256
|
}
|
1189
1257
|
}
|
1190
1258
|
var atEnd;
|
1191
|
-
if (this.contentDOM) {
|
1259
|
+
if (this.contentDOM && this.contentDOM != this.dom && this.dom.contains(this.contentDOM)) {
|
1192
1260
|
atEnd = dom.compareDocumentPosition(this.contentDOM) & 2;
|
1193
1261
|
} else if (this.dom.firstChild) {
|
1194
1262
|
if (offset == 0) {
|
@@ -1222,7 +1290,7 @@
|
|
1222
1290
|
cur = dom; cur; cur = cur.parentNode) {
|
1223
1291
|
var desc = this$1.getDesc(cur);
|
1224
1292
|
if (desc && (!onlyNodes || desc.node)) {
|
1225
|
-
if (first && desc.nodeDOM && !desc.nodeDOM.contains(dom)) {
|
1293
|
+
if (first && desc.nodeDOM && !(desc.nodeDOM.nodeType == 1 && desc.nodeDOM.contains(dom))) {
|
1226
1294
|
first = false;
|
1227
1295
|
} else {
|
1228
1296
|
return desc;
|
@@ -1369,6 +1437,9 @@
|
|
1369
1437
|
ViewDesc.prototype.ignoreMutation = function(_mutation) {
|
1370
1438
|
return !this.contentDOM;
|
1371
1439
|
};
|
1440
|
+
prototypeAccessors.contentLost.get = function() {
|
1441
|
+
return this.contentDOM && this.contentDOM != this.dom && !this.dom.contains(this.contentDOM);
|
1442
|
+
};
|
1372
1443
|
ViewDesc.prototype.markDirty = function(from, to) {
|
1373
1444
|
var this$1 = this;
|
1374
1445
|
for (var offset = 0,
|
@@ -1380,7 +1451,11 @@
|
|
1380
1451
|
endInside = end - child.border;
|
1381
1452
|
if (from >= startInside && to <= endInside) {
|
1382
1453
|
this$1.dirty = from == offset || to == end ? CONTENT_DIRTY : CHILD_DIRTY;
|
1383
|
-
|
1454
|
+
if (from == startInside && to == endInside && child.contentLost) {
|
1455
|
+
child.dirty = NODE_DIRTY;
|
1456
|
+
} else {
|
1457
|
+
child.markDirty(from - startInside, to - startInside);
|
1458
|
+
}
|
1384
1459
|
return;
|
1385
1460
|
} else {
|
1386
1461
|
child.dirty = NODE_DIRTY;
|
@@ -1402,7 +1477,7 @@
|
|
1402
1477
|
WidgetViewDesc.prototype = Object.create(ViewDesc && ViewDesc.prototype);
|
1403
1478
|
WidgetViewDesc.prototype.constructor = WidgetViewDesc;
|
1404
1479
|
WidgetViewDesc.prototype.matchesWidget = function(widget) {
|
1405
|
-
return this.dirty == NOT_DIRTY && widget.type
|
1480
|
+
return this.dirty == NOT_DIRTY && widget.type.eq(this.widget.type);
|
1406
1481
|
};
|
1407
1482
|
WidgetViewDesc.prototype.parseRule = function() {
|
1408
1483
|
return {ignore: true};
|
@@ -1463,10 +1538,10 @@
|
|
1463
1538
|
var custom = customNodeViews(view)[node.type.name],
|
1464
1539
|
descObj;
|
1465
1540
|
var spec = custom && custom(node, view, function() {
|
1466
|
-
|
1467
|
-
|
1468
|
-
|
1469
|
-
|
1541
|
+
if (descObj && descObj.parent) {
|
1542
|
+
return descObj.parent.posBeforeChild(descObj);
|
1543
|
+
}
|
1544
|
+
}, outerDeco);
|
1470
1545
|
var dom = spec && spec.dom,
|
1471
1546
|
contentDOM = spec && spec.contentDOM;
|
1472
1547
|
if (!dom) {
|
@@ -1490,7 +1565,7 @@
|
|
1490
1565
|
return {
|
1491
1566
|
node: this.node.type.name,
|
1492
1567
|
attrs: this.node.attrs,
|
1493
|
-
contentElement: this.contentDOM
|
1568
|
+
contentElement: this.contentLost ? null : this.contentDOM
|
1494
1569
|
};
|
1495
1570
|
};
|
1496
1571
|
NodeViewDesc.prototype.matchesNode = function(node, outerDeco, innerDeco) {
|
@@ -1564,21 +1639,29 @@
|
|
1564
1639
|
var TextViewDesc = (function(NodeViewDesc) {
|
1565
1640
|
function TextViewDesc(parent, node, outerDeco, innerDeco, dom, nodeDOM, view) {
|
1566
1641
|
NodeViewDesc.call(this, parent, node, outerDeco, innerDeco, dom, null, nodeDOM, view);
|
1642
|
+
var textDOM = nodeDOM;
|
1643
|
+
while (textDOM.nodeType != 3) {
|
1644
|
+
textDOM = textDOM.firstChild;
|
1645
|
+
if (!textDOM) {
|
1646
|
+
throw new RangeError("Text node rendered without text DOM");
|
1647
|
+
}
|
1648
|
+
}
|
1649
|
+
this.textDOM = textDOM;
|
1567
1650
|
}
|
1568
1651
|
if (NodeViewDesc)
|
1569
1652
|
TextViewDesc.__proto__ = NodeViewDesc;
|
1570
1653
|
TextViewDesc.prototype = Object.create(NodeViewDesc && NodeViewDesc.prototype);
|
1571
1654
|
TextViewDesc.prototype.constructor = TextViewDesc;
|
1572
1655
|
TextViewDesc.prototype.parseRule = function() {
|
1573
|
-
return {skip: this.
|
1656
|
+
return {skip: this.textDOM.parentNode};
|
1574
1657
|
};
|
1575
1658
|
TextViewDesc.prototype.update = function(node, outerDeco) {
|
1576
|
-
if (this.dirty == NODE_DIRTY || (this.dirty != NOT_DIRTY && !this.inParent) || !node.sameMarkup(this.node)) {
|
1659
|
+
if (this.dirty == NODE_DIRTY || (this.dirty != NOT_DIRTY && !this.inParent()) || !node.sameMarkup(this.node)) {
|
1577
1660
|
return false;
|
1578
1661
|
}
|
1579
1662
|
this.updateOuterDeco(outerDeco);
|
1580
|
-
if ((this.dirty != NOT_DIRTY || node.text != this.node.text) && node.text != this.
|
1581
|
-
this.
|
1663
|
+
if ((this.dirty != NOT_DIRTY || node.text != this.node.text) && node.text != this.textDOM.nodeValue) {
|
1664
|
+
this.textDOM.nodeValue = node.text;
|
1582
1665
|
}
|
1583
1666
|
this.node = node;
|
1584
1667
|
this.dirty = NOT_DIRTY;
|
@@ -1586,7 +1669,7 @@
|
|
1586
1669
|
};
|
1587
1670
|
TextViewDesc.prototype.inParent = function() {
|
1588
1671
|
var parentDOM = this.parent.contentDOM;
|
1589
|
-
for (var n = this.
|
1672
|
+
for (var n = this.textDOM; n; n = n.parentNode) {
|
1590
1673
|
if (n == parentDOM) {
|
1591
1674
|
return true;
|
1592
1675
|
}
|
@@ -1595,12 +1678,12 @@
|
|
1595
1678
|
};
|
1596
1679
|
TextViewDesc.prototype.domFromPos = function(pos, searchDOM) {
|
1597
1680
|
return {
|
1598
|
-
node: this.
|
1599
|
-
offset: searchDOM ? Math.max(pos, this.
|
1681
|
+
node: this.textDOM,
|
1682
|
+
offset: searchDOM ? Math.max(pos, this.textDOM.nodeValue.length) : pos
|
1600
1683
|
};
|
1601
1684
|
};
|
1602
1685
|
TextViewDesc.prototype.localPosFromDOM = function(dom, offset, bias) {
|
1603
|
-
if (dom == this.
|
1686
|
+
if (dom == this.textDOM) {
|
1604
1687
|
return this.posAtStart + Math.min(offset, this.node.text.length);
|
1605
1688
|
}
|
1606
1689
|
return NodeViewDesc.prototype.localPosFromDOM.call(this, dom, offset, bias);
|
@@ -1636,6 +1719,9 @@
|
|
1636
1719
|
CustomNodeViewDesc.prototype = Object.create(NodeViewDesc && NodeViewDesc.prototype);
|
1637
1720
|
CustomNodeViewDesc.prototype.constructor = CustomNodeViewDesc;
|
1638
1721
|
CustomNodeViewDesc.prototype.update = function(node, outerDeco, innerDeco, view) {
|
1722
|
+
if (this.dirty == NODE_DIRTY) {
|
1723
|
+
return false;
|
1724
|
+
}
|
1639
1725
|
if (this.spec.update) {
|
1640
1726
|
var result = this.spec.update(node, outerDeco);
|
1641
1727
|
if (result) {
|
@@ -2011,6 +2097,25 @@
|
|
2011
2097
|
return module.exports;
|
2012
2098
|
});
|
2013
2099
|
|
2100
|
+
$__System.registerDynamic("15", [], true, function($__require, exports, module) {
|
2101
|
+
;
|
2102
|
+
var define,
|
2103
|
+
global = this,
|
2104
|
+
GLOBAL = this;
|
2105
|
+
var result = module.exports = {};
|
2106
|
+
if (typeof navigator != "undefined") {
|
2107
|
+
var ie_upto10 = /MSIE \d/.test(navigator.userAgent);
|
2108
|
+
var ie_11up = /Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);
|
2109
|
+
result.mac = /Mac/.test(navigator.platform);
|
2110
|
+
result.ie = ie_upto10 || !!ie_11up;
|
2111
|
+
result.ie_version = ie_upto10 ? document.documentMode || 6 : ie_11up && +ie_11up[1];
|
2112
|
+
result.gecko = /gecko\/\d/i.test(navigator.userAgent);
|
2113
|
+
result.ios = /AppleWebKit/.test(navigator.userAgent) && /Mobile\/\w+/.test(navigator.userAgent);
|
2114
|
+
result.webkit = 'WebkitAppearance' in document.documentElement.style;
|
2115
|
+
}
|
2116
|
+
return module.exports;
|
2117
|
+
});
|
2118
|
+
|
2014
2119
|
$__System.registerDynamic("16", ["7", "15"], true, function($__require, exports, module) {
|
2015
2120
|
;
|
2016
2121
|
var define,
|
@@ -2220,9 +2325,25 @@
|
|
2220
2325
|
}
|
2221
2326
|
return false;
|
2222
2327
|
}
|
2328
|
+
function getMods(event) {
|
2329
|
+
var result = "";
|
2330
|
+
if (event.ctrlKey) {
|
2331
|
+
result += "c";
|
2332
|
+
}
|
2333
|
+
if (event.metaKey) {
|
2334
|
+
result += "m";
|
2335
|
+
}
|
2336
|
+
if (event.altKey) {
|
2337
|
+
result += "a";
|
2338
|
+
}
|
2339
|
+
if (event.shiftKey) {
|
2340
|
+
result += "s";
|
2341
|
+
}
|
2342
|
+
return result;
|
2343
|
+
}
|
2223
2344
|
function captureKeyDown(view, event) {
|
2224
2345
|
var code = event.keyCode,
|
2225
|
-
|
2346
|
+
mods = getMods(event);
|
2226
2347
|
if (code == 8) {
|
2227
2348
|
return stopNativeHorizontalDelete(view, -1) || skipIgnoredNodesLeft(view);
|
2228
2349
|
} else if (code == 46) {
|
@@ -2237,18 +2358,10 @@
|
|
2237
2358
|
return selectVertically(view, -1);
|
2238
2359
|
} else if (code == 40) {
|
2239
2360
|
return selectVertically(view, 1);
|
2240
|
-
} else if (
|
2241
|
-
|
2242
|
-
|
2243
|
-
|
2244
|
-
if (browser.mac && code == 68) {
|
2245
|
-
return stopNativeHorizontalDelete(view, 1) || skipIgnoredNodesRight(view);
|
2246
|
-
}
|
2247
|
-
if (browser.mac && code == 72) {
|
2248
|
-
return stopNativeHorizontalDelete(view, -1) || skipIgnoredNodesLeft(view);
|
2249
|
-
}
|
2250
|
-
} else if (browser.mac && code == 68 && event.altKey && !mod && !event.shiftKey) {
|
2251
|
-
return stopNativeHorizontalDelete(view, 1) || skipIgnoredNodesRight(view);
|
2361
|
+
} else if (mods == (browser.mac ? "m" : "c") && (code == 66 || code == 73 || code == 89 || code == 90)) {
|
2362
|
+
return true;
|
2363
|
+
} else if (browser.mac && ((code == 68 || code == 72) && mods == "c") || (code == 68 && mods == "a")) {
|
2364
|
+
return stopNativeHorizontalDelete(view, code == 68 ? 1 : -1) || skipIgnoredNodesRight(view);
|
2252
2365
|
}
|
2253
2366
|
return false;
|
2254
2367
|
}
|
@@ -2293,7 +2406,7 @@
|
|
2293
2406
|
if (this.from == null) {
|
2294
2407
|
return rangeAroundSelection(this.state.selection);
|
2295
2408
|
}
|
2296
|
-
var $from = this.state.doc.resolve(this.from),
|
2409
|
+
var $from = this.state.doc.resolve(Math.min(this.from, this.state.selection.from)),
|
2297
2410
|
$to = this.state.doc.resolve(this.to);
|
2298
2411
|
var shared = $from.sharedDepth(this.to);
|
2299
2412
|
return {
|
@@ -2344,6 +2457,7 @@
|
|
2344
2457
|
var id = Math.floor(Math.random() * 0xffffffff);
|
2345
2458
|
view.inDOMChange = new DOMChange(view, id, composing);
|
2346
2459
|
}
|
2460
|
+
return view.inDOMChange;
|
2347
2461
|
};
|
2348
2462
|
exports.DOMChange = DOMChange;
|
2349
2463
|
function parseBetween(view, oldState, from, to) {
|
@@ -2358,6 +2472,9 @@
|
|
2358
2472
|
}
|
2359
2473
|
if (endOff == parent.childNodes.length) {
|
2360
2474
|
for (var scan = parent; scan != view.content; ) {
|
2475
|
+
if (!scan) {
|
2476
|
+
return null;
|
2477
|
+
}
|
2361
2478
|
if (scan.nextSibling) {
|
2362
2479
|
if (!scan.nextSibling.pmViewDesc) {
|
2363
2480
|
return null;
|
@@ -2368,10 +2485,11 @@
|
|
2368
2485
|
}
|
2369
2486
|
}
|
2370
2487
|
var domSel = view.root.getSelection(),
|
2371
|
-
find = null
|
2372
|
-
|
2488
|
+
find = null,
|
2489
|
+
anchor = domSel.anchorNode;
|
2490
|
+
if (anchor && view.content.contains(anchor.nodeType == 1 ? anchor : anchor.parentNode)) {
|
2373
2491
|
find = [{
|
2374
|
-
node:
|
2492
|
+
node: anchor,
|
2375
2493
|
offset: domSel.anchorOffset
|
2376
2494
|
}];
|
2377
2495
|
if (!domSel.isCollapsed) {
|
@@ -2397,13 +2515,13 @@
|
|
2397
2515
|
ruleFromNode: ruleFromNode
|
2398
2516
|
});
|
2399
2517
|
if (find && find[0].pos != null) {
|
2400
|
-
var anchor = find[0].pos,
|
2518
|
+
var anchor$1 = find[0].pos,
|
2401
2519
|
head = find[1] && find[1].pos;
|
2402
2520
|
if (head == null) {
|
2403
|
-
head = anchor;
|
2521
|
+
head = anchor$1;
|
2404
2522
|
}
|
2405
2523
|
sel = {
|
2406
|
-
anchor: anchor + from,
|
2524
|
+
anchor: anchor$1 + from,
|
2407
2525
|
head: head + from
|
2408
2526
|
};
|
2409
2527
|
}
|
@@ -2505,7 +2623,7 @@
|
|
2505
2623
|
if (!change) {
|
2506
2624
|
if (parsedSel) {
|
2507
2625
|
var sel = resolveSelection(view.state.doc, mapping, parsedSel);
|
2508
|
-
if (!sel.eq(view.state.selection)) {
|
2626
|
+
if (sel && !sel.eq(view.state.selection)) {
|
2509
2627
|
view.dispatch(view.state.tr.setSelection(sel));
|
2510
2628
|
}
|
2511
2629
|
}
|
@@ -2558,7 +2676,10 @@
|
|
2558
2676
|
tr = view.state.tr.replace(from, to, parsed.slice(change.start - range.from, change.endB - range.from));
|
2559
2677
|
}
|
2560
2678
|
if (parsedSel) {
|
2561
|
-
|
2679
|
+
var sel$1 = resolveSelection(tr.doc, mapping, parsedSel);
|
2680
|
+
if (sel$1) {
|
2681
|
+
tr.setSelection(sel$1);
|
2682
|
+
}
|
2562
2683
|
}
|
2563
2684
|
if (storedMarks) {
|
2564
2685
|
tr.setStoredMarks(storedMarks);
|
@@ -2566,6 +2687,9 @@
|
|
2566
2687
|
view.dispatch(tr.scrollIntoView());
|
2567
2688
|
}
|
2568
2689
|
function resolveSelection(doc, mapping, parsedSel) {
|
2690
|
+
if (Math.max(parsedSel.anchor, parsedSel.head) > doc.content.size) {
|
2691
|
+
return null;
|
2692
|
+
}
|
2569
2693
|
return Selection.between(doc.resolve(mapping.map(parsedSel.anchor)), doc.resolve(mapping.map(parsedSel.head)));
|
2570
2694
|
}
|
2571
2695
|
function isMarkChange(cur, prev) {
|
@@ -2641,7 +2765,7 @@
|
|
2641
2765
|
}
|
2642
2766
|
function findDiff(a, b, pos, preferedStart) {
|
2643
2767
|
var start = a.findDiffStart(b, pos);
|
2644
|
-
if (
|
2768
|
+
if (start == null) {
|
2645
2769
|
return null;
|
2646
2770
|
}
|
2647
2771
|
var ref = a.findDiffEnd(b, pos + a.size, pos + b.size);
|
@@ -2847,10 +2971,10 @@
|
|
2847
2971
|
if (wrap = firstTag && wrapMap[firstTag[1].toLowerCase()]) {
|
2848
2972
|
var nodes = wrap.split(" ");
|
2849
2973
|
html = nodes.map(function(n) {
|
2850
|
-
|
2851
|
-
|
2852
|
-
|
2853
|
-
|
2974
|
+
return "<" + n + ">";
|
2975
|
+
}).join("") + html + nodes.map(function(n) {
|
2976
|
+
return "</" + n + ">";
|
2977
|
+
}).reverse().join("");
|
2854
2978
|
depth = nodes.length;
|
2855
2979
|
}
|
2856
2980
|
elt.innerHTML = html;
|
@@ -2982,8 +3106,8 @@
|
|
2982
3106
|
view.dragging = null;
|
2983
3107
|
view.inDOMChange = null;
|
2984
3108
|
view.mutationObserver = window.MutationObserver && new window.MutationObserver(function(mutations) {
|
2985
|
-
|
2986
|
-
|
3109
|
+
return registerMutations(view, mutations);
|
3110
|
+
});
|
2987
3111
|
startObserving(view);
|
2988
3112
|
var loop = function(event) {
|
2989
3113
|
var handler = handlers[event];
|
@@ -3175,20 +3299,20 @@
|
|
3175
3299
|
return false;
|
3176
3300
|
}
|
3177
3301
|
}
|
3178
|
-
function handleSingleClick(view, pos, inside, event) {
|
3302
|
+
function handleSingleClick(view, pos, inside, event, selectNode) {
|
3179
3303
|
return runHandlerOnContext(view, "handleClickOn", pos, inside, event) || view.someProp("handleClick", function(f) {
|
3180
|
-
|
3181
|
-
|
3304
|
+
return f(view, pos, event);
|
3305
|
+
}) || (selectNode ? selectClickedNode(view, inside) : selectClickedLeaf(view, inside));
|
3182
3306
|
}
|
3183
3307
|
function handleDoubleClick(view, pos, inside, event) {
|
3184
3308
|
return runHandlerOnContext(view, "handleDoubleClickOn", pos, inside, event) || view.someProp("handleDoubleClick", function(f) {
|
3185
|
-
|
3186
|
-
|
3309
|
+
return f(view, pos, event);
|
3310
|
+
});
|
3187
3311
|
}
|
3188
3312
|
function handleTripleClick(view, pos, inside, event) {
|
3189
3313
|
return runHandlerOnContext(view, "handleTripleClickOn", pos, inside, event) || view.someProp("handleTripleClick", function(f) {
|
3190
|
-
|
3191
|
-
|
3314
|
+
return f(view, pos, event);
|
3315
|
+
}) || defaultTripleClick(view, inside);
|
3192
3316
|
}
|
3193
3317
|
function defaultTripleClick(view, inside) {
|
3194
3318
|
var doc = view.state.doc;
|
@@ -3305,7 +3429,7 @@
|
|
3305
3429
|
}
|
3306
3430
|
if (this.allowDefault) {
|
3307
3431
|
this.view.selectionReader.poll("pointer");
|
3308
|
-
} else if (
|
3432
|
+
} else if (handleSingleClick(this.view, this.pos.pos, this.pos.inside, event, this.selectNode)) {
|
3309
3433
|
event.preventDefault();
|
3310
3434
|
} else if (this.flushed) {
|
3311
3435
|
updateSelection(this.view, Selection.near(this.view.state.doc.resolve(this.pos.pos)), "pointer");
|
@@ -3359,43 +3483,68 @@
|
|
3359
3483
|
if (view.mutationObserver) {
|
3360
3484
|
view.mutationObserver.observe(view.content, observeOptions);
|
3361
3485
|
}
|
3486
|
+
if (browser.ie && browser.ie_version <= 11) {
|
3487
|
+
view.content.addEventListener("DOMCharacterDataModified", view.onCharData || (view.onCharData = function(e) {
|
3488
|
+
registerMutation(view, {
|
3489
|
+
target: e.target,
|
3490
|
+
type: "characterData"
|
3491
|
+
});
|
3492
|
+
}));
|
3493
|
+
}
|
3362
3494
|
}
|
3363
3495
|
exports.startObserving = startObserving;
|
3496
|
+
function flushObserver(view) {
|
3497
|
+
if (view.mutationObserver) {
|
3498
|
+
registerMutations(view, view.mutationObserver.takeRecords());
|
3499
|
+
}
|
3500
|
+
}
|
3501
|
+
exports.flushObserver = flushObserver;
|
3364
3502
|
function stopObserving(view) {
|
3365
3503
|
if (view.mutationObserver) {
|
3504
|
+
flushObserver(view);
|
3366
3505
|
view.mutationObserver.disconnect();
|
3367
3506
|
}
|
3507
|
+
if (browser.ie && browser.ie_version <= 11) {
|
3508
|
+
view.content.removeEventListener("DOMCharacterDataModified", view.onCharData);
|
3509
|
+
}
|
3368
3510
|
}
|
3369
3511
|
exports.stopObserving = stopObserving;
|
3370
3512
|
function registerMutations(view, mutations) {
|
3371
3513
|
if (view.editable) {
|
3372
3514
|
for (var i = 0; i < mutations.length; i++) {
|
3373
|
-
|
3374
|
-
|
3375
|
-
|
3376
|
-
|
3377
|
-
|
3378
|
-
|
3379
|
-
|
3380
|
-
|
3381
|
-
|
3382
|
-
|
3383
|
-
|
3384
|
-
|
3385
|
-
|
3386
|
-
|
3387
|
-
|
3388
|
-
|
3389
|
-
|
3390
|
-
|
3391
|
-
|
3392
|
-
|
3393
|
-
|
3394
|
-
|
3395
|
-
|
3396
|
-
view.inDOMChange.addRange(from, to);
|
3515
|
+
registerMutation(view, mutations[i]);
|
3516
|
+
}
|
3517
|
+
}
|
3518
|
+
}
|
3519
|
+
function registerMutation(view, mut) {
|
3520
|
+
var desc = view.docView.nearestDesc(mut.target);
|
3521
|
+
if (mut.type == "attributes" && (desc == view.docView || mut.attributeName == "contenteditable")) {
|
3522
|
+
return;
|
3523
|
+
}
|
3524
|
+
if (!desc || desc.ignoreMutation(mut)) {
|
3525
|
+
return;
|
3526
|
+
}
|
3527
|
+
var from,
|
3528
|
+
to;
|
3529
|
+
if (mut.type == "childList") {
|
3530
|
+
var fromOffset = mut.previousSibling && mut.previousSibling.parentNode == mut.target ? Array.prototype.indexOf.call(mut.target.childNodes, mut.previousSibling) + 1 : 0;
|
3531
|
+
if (fromOffset == -1) {
|
3532
|
+
return;
|
3533
|
+
}
|
3534
|
+
from = desc.localPosFromDOM(mut.target, fromOffset, -1);
|
3535
|
+
var toOffset = mut.nextSibling && mut.nextSibling.parentNode == mut.target ? Array.prototype.indexOf.call(mut.target.childNodes, mut.nextSibling) : mut.target.childNodes.length;
|
3536
|
+
if (toOffset == -1) {
|
3537
|
+
return;
|
3397
3538
|
}
|
3539
|
+
to = desc.localPosFromDOM(mut.target, toOffset, 1);
|
3540
|
+
} else if (mut.type == "attributes") {
|
3541
|
+
from = desc.posAtStart - desc.border;
|
3542
|
+
to = desc.posAtEnd + desc.border;
|
3543
|
+
} else {
|
3544
|
+
from = desc.posAtStart;
|
3545
|
+
to = desc.posAtEnd;
|
3398
3546
|
}
|
3547
|
+
DOMChange.start(view).addRange(from, to);
|
3399
3548
|
}
|
3400
3549
|
editHandlers.input = function(view) {
|
3401
3550
|
return DOMChange.start(view);
|
@@ -3570,26 +3719,7 @@
|
|
3570
3719
|
return module.exports;
|
3571
3720
|
});
|
3572
3721
|
|
3573
|
-
$__System.registerDynamic("15",
|
3574
|
-
;
|
3575
|
-
var define,
|
3576
|
-
global = this,
|
3577
|
-
GLOBAL = this;
|
3578
|
-
var result = module.exports = {};
|
3579
|
-
if (typeof navigator != "undefined") {
|
3580
|
-
var ie_upto10 = /MSIE \d/.test(navigator.userAgent);
|
3581
|
-
var ie_11up = /Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);
|
3582
|
-
result.mac = /Mac/.test(navigator.platform);
|
3583
|
-
result.ie = ie_upto10 || !!ie_11up;
|
3584
|
-
result.ie_version = ie_upto10 ? document.documentMode || 6 : ie_11up && +ie_11up[1];
|
3585
|
-
result.gecko = /gecko\/\d/i.test(navigator.userAgent);
|
3586
|
-
result.ios = /AppleWebKit/.test(navigator.userAgent) && /Mobile\/\w+/.test(navigator.userAgent);
|
3587
|
-
result.webkit = 'WebkitAppearance' in document.documentElement.style;
|
3588
|
-
}
|
3589
|
-
return module.exports;
|
3590
|
-
});
|
3591
|
-
|
3592
|
-
$__System.registerDynamic("1b", ["7", "15"], true, function($__require, exports, module) {
|
3722
|
+
$__System.registerDynamic("1b", ["7", "15", "1a"], true, function($__require, exports, module) {
|
3593
3723
|
;
|
3594
3724
|
var define,
|
3595
3725
|
global = this,
|
@@ -3598,6 +3728,8 @@
|
|
3598
3728
|
var Selection = ref.Selection;
|
3599
3729
|
var NodeSelection = ref.NodeSelection;
|
3600
3730
|
var browser = $__require('15');
|
3731
|
+
var ref$1 = $__require('1a');
|
3732
|
+
var flushObserver = ref$1.flushObserver;
|
3601
3733
|
var SelectionReader = function(view) {
|
3602
3734
|
var this$1 = this;
|
3603
3735
|
this.view = view;
|
@@ -3640,6 +3772,9 @@
|
|
3640
3772
|
this.lastSelection = selection;
|
3641
3773
|
};
|
3642
3774
|
SelectionReader.prototype.readFromDOM = function(origin) {
|
3775
|
+
if (!this.view.inDOMChange) {
|
3776
|
+
flushObserver(this.view);
|
3777
|
+
}
|
3643
3778
|
if (!this.view.hasFocus() || this.view.inDOMChange || !this.domChanged()) {
|
3644
3779
|
return;
|
3645
3780
|
}
|
@@ -3676,11 +3811,13 @@
|
|
3676
3811
|
if ($head.pos == selection.head && $anchor.pos == selection.anchor) {
|
3677
3812
|
this.storeDOMState(selection);
|
3678
3813
|
}
|
3679
|
-
|
3680
|
-
|
3681
|
-
|
3814
|
+
if (!this.view.state.selection.eq(selection)) {
|
3815
|
+
var tr = this.view.state.tr.setSelection(selection);
|
3816
|
+
if (origin == "pointer") {
|
3817
|
+
tr.setMeta("pointer", true);
|
3818
|
+
}
|
3819
|
+
this.view.dispatch(tr);
|
3682
3820
|
}
|
3683
|
-
this.view.dispatch(tr);
|
3684
3821
|
};
|
3685
3822
|
exports.SelectionReader = SelectionReader;
|
3686
3823
|
var SelectionChangePoller = function(reader) {
|
@@ -3688,6 +3825,7 @@
|
|
3688
3825
|
this.listening = false;
|
3689
3826
|
this.curOrigin = null;
|
3690
3827
|
this.originTime = 0;
|
3828
|
+
this.reader = reader;
|
3691
3829
|
this.readFunc = function() {
|
3692
3830
|
return reader.readFromDOM(this$1.originTime > Date.now() - 50 ? this$1.curOrigin : null);
|
3693
3831
|
};
|
@@ -3700,6 +3838,9 @@
|
|
3700
3838
|
if (!this.listening) {
|
3701
3839
|
document.addEventListener("selectionchange", this.readFunc);
|
3702
3840
|
this.listening = true;
|
3841
|
+
if (this.reader.view.hasFocus()) {
|
3842
|
+
this.readFunc();
|
3843
|
+
}
|
3703
3844
|
}
|
3704
3845
|
};
|
3705
3846
|
SelectionChangePoller.prototype.stop = function() {
|
@@ -3748,7 +3889,7 @@
|
|
3748
3889
|
}
|
3749
3890
|
}
|
3750
3891
|
var reader = view.selectionReader;
|
3751
|
-
if (sel
|
3892
|
+
if (sel == reader.lastSelection && !reader.domChanged()) {
|
3752
3893
|
return;
|
3753
3894
|
}
|
3754
3895
|
var anchor = sel.anchor;
|
@@ -4200,7 +4341,6 @@
|
|
4200
4341
|
return new DecorationGroup(members);
|
4201
4342
|
}
|
4202
4343
|
};
|
4203
|
-
exports.DecorationGroup = DecorationGroup;
|
4204
4344
|
function mapChildren(oldChildren, newLocal, mapping, node, offset, oldOffset, options) {
|
4205
4345
|
var children = oldChildren.slice();
|
4206
4346
|
var shift = function(oldStart, oldEnd, newStart, newEnd) {
|
@@ -4418,6 +4558,8 @@
|
|
4418
4558
|
var posAtCoords = ref.posAtCoords;
|
4419
4559
|
var coordsAtPos = ref.coordsAtPos;
|
4420
4560
|
var endOfTextblock = ref.endOfTextblock;
|
4561
|
+
var storeScrollPos = ref.storeScrollPos;
|
4562
|
+
var resetScrollPos = ref.resetScrollPos;
|
4421
4563
|
var ref$1 = $__require('14');
|
4422
4564
|
var docViewDesc = ref$1.docViewDesc;
|
4423
4565
|
var ref$2 = $__require('1a');
|
@@ -4476,13 +4618,15 @@
|
|
4476
4618
|
this.editable = getEditable(this);
|
4477
4619
|
var innerDeco = viewDecorations(this),
|
4478
4620
|
outerDeco = computeDocDeco(this);
|
4479
|
-
|
4480
|
-
|
4481
|
-
|
4482
|
-
|
4483
|
-
|
4484
|
-
} else if (!state.selection.eq(prev.selection) || this.selectionReader.domChanged()) {
|
4621
|
+
var scrollToSelection = state.scrollToSelection > prev.scrollToSelection || prev.config != state.config;
|
4622
|
+
var updateDoc = !this.docView.matchesNode(state.doc, outerDeco, innerDeco);
|
4623
|
+
var updateSel = updateDoc || !state.selection.eq(prev.selection) || this.selectionReader.domChanged();
|
4624
|
+
var oldScrollPos = !scrollToSelection && updateSel && storeScrollPos(this);
|
4625
|
+
if (updateSel) {
|
4485
4626
|
stopObserving(this);
|
4627
|
+
if (updateDoc) {
|
4628
|
+
this.docView.update(state.doc, outerDeco, innerDeco, this);
|
4629
|
+
}
|
4486
4630
|
selectionToDOM(this, state.selection);
|
4487
4631
|
startObserving(this);
|
4488
4632
|
}
|
@@ -4490,12 +4634,14 @@
|
|
4490
4634
|
this.selectionReader.editableChanged();
|
4491
4635
|
}
|
4492
4636
|
this.updatePluginViews(prev);
|
4493
|
-
if (
|
4637
|
+
if (scrollToSelection) {
|
4494
4638
|
if (state.selection.node) {
|
4495
4639
|
scrollRectIntoView(this, this.docView.domAfterPos(state.selection.from).getBoundingClientRect());
|
4496
4640
|
} else {
|
4497
4641
|
scrollRectIntoView(this, this.coordsAtPos(state.selection.head));
|
4498
4642
|
}
|
4643
|
+
} else if (oldScrollPos) {
|
4644
|
+
resetScrollPos(oldScrollPos);
|
4499
4645
|
}
|
4500
4646
|
};
|
4501
4647
|
EditorView.prototype.destroyPluginViews = function() {
|
@@ -4550,12 +4696,12 @@
|
|
4550
4696
|
}
|
4551
4697
|
};
|
4552
4698
|
EditorView.prototype.focus = function() {
|
4553
|
-
if (this.editable) {
|
4554
|
-
this.content.focus();
|
4555
|
-
}
|
4556
4699
|
stopObserving(this);
|
4557
4700
|
selectionToDOM(this, this.state.selection, true);
|
4558
4701
|
startObserving(this);
|
4702
|
+
if (this.editable) {
|
4703
|
+
this.content.focus();
|
4704
|
+
}
|
4559
4705
|
};
|
4560
4706
|
prototypeAccessors.root.get = function() {
|
4561
4707
|
var this$1 = this;
|
@@ -4716,7 +4862,11 @@
|
|
4716
4862
|
}
|
4717
4863
|
for (var key in settings) {
|
4718
4864
|
if (!attributeMap[key]) {
|
4719
|
-
|
4865
|
+
if (isType(settings[key], fn)) {
|
4866
|
+
element[key] = settings[key];
|
4867
|
+
} else {
|
4868
|
+
element[setAttribute](key, settings[key]);
|
4869
|
+
}
|
4720
4870
|
} else {
|
4721
4871
|
var attr = attributeMap[key];
|
4722
4872
|
if (typeof attr === fn) {
|
@@ -5196,7 +5346,8 @@
|
|
5196
5346
|
if (this.editor.someProp("floatingMenu")) {
|
5197
5347
|
this.updateFloat();
|
5198
5348
|
this.scrollFunc = function() {
|
5199
|
-
|
5349
|
+
var root = this$1.editor.root;
|
5350
|
+
if (!(root.body || root).contains(this$1.wrapper)) {
|
5200
5351
|
window.removeEventListener("scroll", this$1.scrollFunc);
|
5201
5352
|
} else {
|
5202
5353
|
this$1.updateFloat();
|
@@ -6227,7 +6378,7 @@
|
|
6227
6378
|
}
|
6228
6379
|
exports.setBlockType = setBlockType;
|
6229
6380
|
function markApplies(doc, from, to, type) {
|
6230
|
-
var can =
|
6381
|
+
var can = doc.contentMatchAt(0).allowsMark(type);
|
6231
6382
|
doc.nodesBetween(from, to, function(node) {
|
6232
6383
|
if (can) {
|
6233
6384
|
return false;
|
@@ -7089,10 +7240,12 @@
|
|
7089
7240
|
}
|
7090
7241
|
}
|
7091
7242
|
};
|
7092
|
-
Selection.near = function near($pos, bias) {
|
7243
|
+
Selection.near = function near($pos, bias, textOnly) {
|
7093
7244
|
if (bias === void 0)
|
7094
7245
|
bias = 1;
|
7095
|
-
|
7246
|
+
if (textOnly === void 0)
|
7247
|
+
textOnly = false;
|
7248
|
+
var result = this.findFrom($pos, bias, textOnly) || this.findFrom($pos, -bias, textOnly);
|
7096
7249
|
if (!result) {
|
7097
7250
|
throw new RangeError("Searching for selection in invalid document " + $pos.node(0));
|
7098
7251
|
}
|
@@ -7319,7 +7472,7 @@
|
|
7319
7472
|
return this;
|
7320
7473
|
};
|
7321
7474
|
prototypeAccessors.selectionSet.get = function() {
|
7322
|
-
return this.updated & UPDATED_SEL > 0;
|
7475
|
+
return (this.updated & UPDATED_SEL) > 0;
|
7323
7476
|
};
|
7324
7477
|
Transaction.prototype.setStoredMarks = function setStoredMarks(marks) {
|
7325
7478
|
this.storedMarks = marks;
|
@@ -7327,7 +7480,7 @@
|
|
7327
7480
|
return this;
|
7328
7481
|
};
|
7329
7482
|
prototypeAccessors.storedMarksSet.get = function() {
|
7330
|
-
return this.updated & UPDATED_MARKS > 0;
|
7483
|
+
return (this.updated & UPDATED_MARKS) > 0;
|
7331
7484
|
};
|
7332
7485
|
Transaction.prototype.addStep = function addStep(step, doc) {
|
7333
7486
|
Transform.prototype.addStep.call(this, step, doc);
|
@@ -7408,7 +7561,7 @@
|
|
7408
7561
|
return this;
|
7409
7562
|
};
|
7410
7563
|
prototypeAccessors.scrolledIntoView.get = function() {
|
7411
|
-
return this.updated
|
7564
|
+
return (this.updated & UPDATED_SCROLL) > 0;
|
7412
7565
|
};
|
7413
7566
|
Transaction.prototype.addStoredMark = function addStoredMark(mark) {
|
7414
7567
|
this.storedMarks = mark.addToSet(this.storedMarks || currentMarks(this.selection));
|
@@ -7864,9 +8017,10 @@
|
|
7864
8017
|
lastItem = item;
|
7865
8018
|
}
|
7866
8019
|
}
|
7867
|
-
var overflow =
|
8020
|
+
var overflow = eventCount - histOptions.depth;
|
7868
8021
|
if (overflow > DEPTH_OVERFLOW) {
|
7869
8022
|
oldItems = cutOffEvents(oldItems, overflow);
|
8023
|
+
eventCount -= overflow;
|
7870
8024
|
}
|
7871
8025
|
return new Branch(oldItems.append(newItems), eventCount);
|
7872
8026
|
};
|
@@ -7905,6 +8059,7 @@
|
|
7905
8059
|
}
|
7906
8060
|
var mapping = rebasedTransform.mapping;
|
7907
8061
|
var newUntil = rebasedTransform.steps.length;
|
8062
|
+
var eventCount = this.eventCount;
|
7908
8063
|
var iRebased = startPos;
|
7909
8064
|
this.items.forEach(function(item) {
|
7910
8065
|
var pos = mapping.getMirror(iRebased++);
|
@@ -7918,6 +8073,9 @@
|
|
7918
8073
|
var selection = item.selection && Selection.mapJSON(item.selection, mapping.slice(iRebased - 1, pos));
|
7919
8074
|
rebasedItems.push(new Item(map, step, selection));
|
7920
8075
|
} else {
|
8076
|
+
if (item.selection) {
|
8077
|
+
eventCount--;
|
8078
|
+
}
|
7921
8079
|
rebasedItems.push(new Item(map));
|
7922
8080
|
}
|
7923
8081
|
}, start);
|
@@ -7926,7 +8084,7 @@
|
|
7926
8084
|
newMaps.push(new Item(mapping.maps[i]));
|
7927
8085
|
}
|
7928
8086
|
var items = this.items.slice(0, start).append(newMaps).append(rebasedItems);
|
7929
|
-
var branch = new Branch(items,
|
8087
|
+
var branch = new Branch(items, eventCount);
|
7930
8088
|
if (branch.emptyItemCount() > max_empty_items) {
|
7931
8089
|
branch = branch.compress(this.items.length - rebasedItems.length);
|
7932
8090
|
}
|
@@ -7951,6 +8109,9 @@
|
|
7951
8109
|
this.items.forEach(function(item, i) {
|
7952
8110
|
if (i >= upto) {
|
7953
8111
|
items.push(item);
|
8112
|
+
if (item.selection) {
|
8113
|
+
events++;
|
8114
|
+
}
|
7954
8115
|
} else if (item.step) {
|
7955
8116
|
var step = item.step.map(remap.slice(mapFrom)),
|
7956
8117
|
map = step && step.getMap();
|
@@ -7982,7 +8143,7 @@
|
|
7982
8143
|
function cutOffEvents(items, n) {
|
7983
8144
|
var cutPoint;
|
7984
8145
|
items.forEach(function(item, i) {
|
7985
|
-
if (item.selection && (--
|
8146
|
+
if (item.selection && (n-- == 0)) {
|
7986
8147
|
cutPoint = i;
|
7987
8148
|
return false;
|
7988
8149
|
}
|
@@ -12983,10 +13144,10 @@
|
|
12983
13144
|
return module.exports;
|
12984
13145
|
});
|
12985
13146
|
|
12986
|
-
$__System.register("50", ["3", "4", "7", "26", "37", "2a"], function (_export) {
|
13147
|
+
$__System.register("50", ["3", "4", "7", "11", "26", "37", "2a"], function (_export) {
|
12987
13148
|
"use strict";
|
12988
13149
|
|
12989
|
-
var Schema, DOMParser, DOMSerializer, baseSchema, EditorState, MenuBarEditorView, exampleSetup, buildMenuItems,
|
13150
|
+
var Schema, DOMParser, DOMSerializer, baseSchema, EditorState, EditorView, MenuBarEditorView, exampleSetup, buildMenuItems, addListNodes, schema, proseMirrorMap, parser;
|
12990
13151
|
|
12991
13152
|
_export("getProseMirror", getProseMirror);
|
12992
13153
|
|
@@ -13024,21 +13185,22 @@
|
|
13024
13185
|
}
|
13025
13186
|
|
13026
13187
|
return {
|
13027
|
-
setters: [function (
|
13028
|
-
Schema =
|
13029
|
-
DOMParser =
|
13030
|
-
DOMSerializer =
|
13031
|
-
}, function (
|
13032
|
-
baseSchema =
|
13188
|
+
setters: [function (_4) {
|
13189
|
+
Schema = _4.Schema;
|
13190
|
+
DOMParser = _4.DOMParser;
|
13191
|
+
DOMSerializer = _4.DOMSerializer;
|
13192
|
+
}, function (_5) {
|
13193
|
+
baseSchema = _5.schema;
|
13033
13194
|
}, function (_) {
|
13034
13195
|
EditorState = _.EditorState;
|
13196
|
+
}, function (_3) {
|
13197
|
+
EditorView = _3.EditorView;
|
13035
13198
|
}, function (_2) {
|
13036
13199
|
MenuBarEditorView = _2.MenuBarEditorView;
|
13037
|
-
}, function (
|
13038
|
-
exampleSetup =
|
13039
|
-
buildMenuItems =
|
13200
|
+
}, function (_6) {
|
13201
|
+
exampleSetup = _6.exampleSetup;
|
13202
|
+
buildMenuItems = _6.buildMenuItems;
|
13040
13203
|
}, function (_a) {
|
13041
|
-
EditorView = _a.EditorView;
|
13042
13204
|
addListNodes = _a.addListNodes;
|
13043
13205
|
}],
|
13044
13206
|
execute: function () {
|
@@ -13052,7 +13214,7 @@
|
|
13052
13214
|
;
|
13053
13215
|
|
13054
13216
|
parser = function parser(slot) {
|
13055
|
-
var content = $(slot).find('.card-content').val();
|
13217
|
+
var content = $(slot).find('.d0-card-content').val();
|
13056
13218
|
var domNode = document.createElement("div");
|
13057
13219
|
domNode.innerHTML = content;
|
13058
13220
|
return DOMParser.fromSchema(schema).parse(domNode);
|