├── .editorconfig ├── .eslintignore ├── .eslintrc.yaml ├── .gitattributes ├── .github ├── CODEOWNERS ├── CONTRIBUTING.md ├── FUNDING.yml ├── ISSUE_TEMPLATE.md └── workflows │ ├── codeql.yml │ └── stale.yml ├── .gitignore ├── .prettierrc ├── .project ├── .travis.yml ├── .vscode └── launch.json ├── 3rd-party └── extensions │ ├── contextmenu │ ├── contextmenu.html │ └── js │ │ └── jquery.fancytree.contextMenu.js │ └── hotkeys │ ├── hotkeys.html │ └── js │ ├── jquery.fancytree.hotkeys.js │ └── jquery.hotkeys.js ├── CHANGELOG.md ├── Gruntfile.coffee ├── LICENSE.txt ├── README.md ├── bin └── jsdoc3-moogle │ ├── README.md │ ├── publish.js │ ├── static │ ├── fonts │ │ ├── OpenSans-Bold-webfont.eot │ │ ├── OpenSans-Bold-webfont.svg │ │ ├── OpenSans-Bold-webfont.woff │ │ ├── OpenSans-BoldItalic-webfont.eot │ │ ├── OpenSans-BoldItalic-webfont.svg │ │ ├── OpenSans-BoldItalic-webfont.woff │ │ ├── OpenSans-Italic-webfont.eot │ │ ├── OpenSans-Italic-webfont.svg │ │ ├── OpenSans-Italic-webfont.woff │ │ ├── OpenSans-Light-webfont.eot │ │ ├── OpenSans-Light-webfont.svg │ │ ├── OpenSans-Light-webfont.woff │ │ ├── OpenSans-LightItalic-webfont.eot │ │ ├── OpenSans-LightItalic-webfont.svg │ │ ├── OpenSans-LightItalic-webfont.woff │ │ ├── OpenSans-Regular-webfont.eot │ │ ├── OpenSans-Regular-webfont.svg │ │ └── OpenSans-Regular-webfont.woff │ ├── scripts │ │ ├── linenumber.js │ │ └── prettify │ │ │ ├── Apache-License-2.0.txt │ │ │ ├── lang-css.js │ │ │ └── prettify.js │ └── styles │ │ ├── jsdoc-default.css │ │ ├── prettify-jsdoc.css │ │ └── prettify-tomorrow.css │ └── tmpl │ ├── augments.tmpl │ ├── container.tmpl │ ├── details.tmpl │ ├── example.tmpl │ ├── examples.tmpl │ ├── exceptions.tmpl │ ├── layout.tmpl │ ├── mainpage.tmpl │ ├── members.tmpl │ ├── method.tmpl │ ├── methods_overview.tmpl │ ├── params.tmpl │ ├── properties.tmpl │ ├── returns.tmpl │ ├── source.tmpl │ ├── tutorial.tmpl │ └── type.tmpl ├── bower.json ├── demo ├── ajax-empty.json ├── ajax-parse-error.json ├── ajax-pws-error.json ├── ajax-pws-ok.json ├── ajax-sub.xml ├── ajax-sub2.json ├── ajax-tree-decide.json ├── ajax-tree-dom.json ├── ajax-tree-fs.json ├── ajax-tree-instruments.json ├── ajax-tree-local.json ├── ajax-tree-mass-data.json ├── ajax-tree-plain.json ├── ajax-tree-products.json ├── ajax-tree-products2.json ├── ajax-tree-taxonomy.json ├── ajax-tree.json ├── ajax-tree.xml ├── fancytree-server.js ├── index.html ├── nav.html ├── nav_bg.png ├── sample-3rd-confirm.html ├── sample-3rd-contextmenu-abs.html ├── sample-3rd-grid-scrollbar.html ├── sample-3rd-jQuery-contextMenu.html ├── sample-3rd-ui-contextmenu.html ├── sample-accordion.html ├── sample-api.html ├── sample-aria-treegrid-old.html ├── sample-aria-treegrid.html ├── sample-aria.html ├── sample-configurator.html ├── sample-default.html ├── sample-events.html ├── sample-ext-childcounter.html ├── sample-ext-clones.html ├── sample-ext-columnview.html ├── sample-ext-dnd.html ├── sample-ext-dnd5.html ├── sample-ext-edit.html ├── sample-ext-filter.html ├── sample-ext-fixed.html ├── sample-ext-glyph-awesome3.html ├── sample-ext-glyph-awesome4.html ├── sample-ext-glyph-awesome5.html ├── sample-ext-glyph-bootstrap3.html ├── sample-ext-glyph-material.html ├── sample-ext-glyph-svg.html ├── sample-ext-grid.html ├── sample-ext-logger.html ├── sample-ext-menu-deprecated.html ├── sample-ext-menu.html ├── sample-ext-multi.html ├── sample-ext-persist.html ├── sample-ext-table.html ├── sample-ext-themeroller.html ├── sample-ext-wide.html ├── sample-form.html ├── sample-iframe-1.html ├── sample-iframe.html ├── sample-json.html ├── sample-keyboard.html ├── sample-load-errors.html ├── sample-load-errors2.html ├── sample-load-xml.html ├── sample-multi-dnd.html ├── sample-multi-dnd5.html ├── sample-multi-ext.html ├── sample-multiline.html ├── sample-playground.html ├── sample-rtl.html ├── sample-scroll.html ├── sample-select.html ├── sample-source.html ├── sample-theming.html ├── sample-tooltip.html ├── sample-types.html ├── sample-webservice.html ├── sample-xxl.html ├── sample.css ├── sample.js ├── skin-custom │ ├── accept.png │ ├── arrow_right.png │ ├── bug.png │ ├── cancel.png │ ├── custom.css │ ├── customDoc1.gif │ ├── customDoc2.gif │ ├── customFolder1.gif │ ├── doc_with_children.gif │ ├── emoticon_smile.png │ ├── emoticon_unhappy.png │ ├── error.png │ ├── exclamation.png │ ├── eye.png │ ├── flag_red.png │ ├── folder_bug.png │ ├── folder_docs.gif │ ├── folder_images.gif │ ├── folder_page.gif │ ├── help.png │ ├── key.png │ ├── new.png │ ├── note.png │ ├── page_white_lightning.png │ └── page_white_star.png ├── taxonomy-browser │ ├── LICENSE.txt │ ├── README.md │ ├── TODO.md │ ├── busy_bg_eee.png │ ├── busy_bg_fff.png │ ├── details.tmpl.html │ ├── details_itis.tmpl │ ├── header.tmpl.html │ ├── index.html │ ├── index_itis.html │ ├── info-pane.tmpl.html │ ├── media.tmpl.html │ ├── style.css │ ├── taxonomy-browser-itis.js │ ├── taxonomy-browser.js │ ├── test_gbif_ws.html │ └── test_itis_ws.html ├── top.html └── welcome.html ├── dist ├── LICENSE.txt ├── jquery.fancytree-all-deps.js ├── jquery.fancytree-all-deps.min.js ├── jquery.fancytree-all-deps.min.js.map ├── jquery.fancytree-all.js ├── jquery.fancytree-all.min.js ├── jquery.fancytree.min.js ├── modules │ ├── jquery.fancytree.ariagrid.js │ ├── jquery.fancytree.childcounter.js │ ├── jquery.fancytree.clones.js │ ├── jquery.fancytree.columnview.js │ ├── jquery.fancytree.dnd.js │ ├── jquery.fancytree.dnd5.js │ ├── jquery.fancytree.edit.js │ ├── jquery.fancytree.filter.js │ ├── jquery.fancytree.fixed.js │ ├── jquery.fancytree.glyph.js │ ├── jquery.fancytree.grid.js │ ├── jquery.fancytree.gridnav.js │ ├── jquery.fancytree.js │ ├── jquery.fancytree.logger.js │ ├── jquery.fancytree.menu.js │ ├── jquery.fancytree.multi.js │ ├── jquery.fancytree.persist.js │ ├── jquery.fancytree.table.js │ ├── jquery.fancytree.themeroller.js │ ├── jquery.fancytree.ui-deps.js │ └── jquery.fancytree.wide.js ├── skin-awesome │ ├── ui.fancytree.css │ ├── ui.fancytree.less │ ├── ui.fancytree.min.css │ ├── vline-rtl.gif │ └── vline.gif ├── skin-bootstrap-n │ ├── ui.fancytree.css │ ├── ui.fancytree.less │ ├── ui.fancytree.min.css │ ├── vline-rtl.gif │ └── vline.gif ├── skin-bootstrap │ ├── ui.fancytree.css │ ├── ui.fancytree.less │ ├── ui.fancytree.min.css │ ├── vline-rtl.gif │ └── vline.gif ├── skin-common.less ├── skin-custom-1 │ └── README.md ├── skin-lion │ ├── icons-rtl.gif │ ├── icons.gif │ ├── loading.gif │ ├── ui.fancytree.css │ ├── ui.fancytree.less │ ├── ui.fancytree.min.css │ ├── vline-rtl.gif │ └── vline.gif ├── skin-material │ ├── ui.fancytree.css │ ├── ui.fancytree.less │ ├── ui.fancytree.min.css │ ├── vline-rtl.gif │ └── vline.gif ├── skin-themeroller │ ├── icons-rtl.gif │ ├── icons.gif │ ├── loading.gif │ ├── ui.fancytree.css │ ├── ui.fancytree.less │ ├── ui.fancytree.min.css │ ├── vline-rtl.gif │ └── vline.gif ├── skin-vista │ ├── icons-rtl.gif │ ├── icons.gif │ ├── loading.gif │ ├── ui.fancytree.css │ ├── ui.fancytree.less │ ├── ui.fancytree.min.css │ ├── vline-rtl.gif │ └── vline.gif ├── skin-win7 │ ├── icons-rtl.gif │ ├── icons.gif │ ├── loading.gif │ ├── ui.fancytree.css │ ├── ui.fancytree.less │ ├── ui.fancytree.min.css │ ├── vline-rtl.gif │ └── vline.gif ├── skin-win8-n │ ├── icons-rtl.gif │ ├── icons.gif │ ├── loading.gif │ ├── ui.fancytree.css │ ├── ui.fancytree.less │ ├── ui.fancytree.min.css │ ├── vline-rtl.gif │ └── vline.gif ├── skin-win8-xxl │ ├── icons-rtl.gif │ ├── icons.gif │ ├── loading.gif │ ├── ui.fancytree.css │ ├── ui.fancytree.less │ ├── ui.fancytree.min.css │ ├── vline-rtl.gif │ └── vline.gif ├── skin-win8 │ ├── icons-rtl.gif │ ├── icons.gif │ ├── loading.gif │ ├── ui.fancytree.css │ ├── ui.fancytree.less │ ├── ui.fancytree.min.css │ ├── vline-rtl.gif │ └── vline.gif └── skin-xp │ ├── icons-rtl.gif │ ├── icons.gif │ ├── loading.gif │ ├── ui.fancytree.css │ ├── ui.fancytree.less │ ├── ui.fancytree.min.css │ ├── vline-rtl.gif │ └── vline.gif ├── doc ├── README.md ├── annotated-src │ └── .folder ├── fancytree_benchmarks.txt ├── iconInfo_32x32.png ├── icons_layout.ods ├── index.html ├── jsdoc.conf.json ├── jsdoctest.js ├── logo.png ├── spec │ └── SpecFocus.md ├── teaser.pdn ├── teaser1.png ├── teaser2.png └── tutorials │ └── howto-events.md ├── favicon.ico ├── index.html ├── jsconfig.json ├── lib ├── Super-Theme-Switcher │ ├── README.md │ ├── images │ │ ├── buttonbg.png │ │ ├── icon_color_arrow.gif │ │ ├── menuhoverbg.png │ │ ├── theme_90_base.png │ │ ├── theme_90_black_matte.png │ │ ├── theme_90_black_tie.png │ │ ├── theme_90_blitzer.png │ │ ├── theme_90_cupertino.png │ │ ├── theme_90_dark_hive.png │ │ ├── theme_90_dot_luv.png │ │ ├── theme_90_eggplant.png │ │ ├── theme_90_excite_bike.png │ │ ├── theme_90_flick.png │ │ ├── theme_90_hot_sneaks.png │ │ ├── theme_90_humanity.png │ │ ├── theme_90_le_frog.png │ │ ├── theme_90_mint_choco.png │ │ ├── theme_90_overcast.png │ │ ├── theme_90_pepper_grinder.png │ │ ├── theme_90_smoothness.png │ │ ├── theme_90_south_street.png │ │ ├── theme_90_start_menu.png │ │ ├── theme_90_sunny.png │ │ ├── theme_90_swanky_purse.png │ │ ├── theme_90_trontastic.png │ │ ├── theme_90_ui_dark.png │ │ ├── theme_90_ui_light.png │ │ └── theme_90_windoze.png │ ├── jquery.themeswitcher.js │ ├── jquery.themeswitcher.min.js │ └── sample.htm ├── amd-intro-require-jquery.js ├── amd-intro-require-local-ui.js ├── amd-intro-require-native-ui.js ├── amd-outro.js ├── contextmenu-abs │ ├── images │ │ ├── cut.png │ │ ├── door.png │ │ ├── page_white_copy.png │ │ ├── page_white_delete.png │ │ ├── page_white_edit.png │ │ └── page_white_paste.png │ ├── jquery.contextMenu-custom.js │ └── jquery.contextMenu.css ├── jquery-ui.custom.js ├── jquery.configurator.js ├── jquery.cookie.js ├── jquery.js ├── jquery.jsconsole.js ├── jquery.planize.js ├── jquery.popup.js ├── jquery.simulate.js ├── jquery.skinswitcher.js ├── jquery.tmpl.min.js ├── prettify.css ├── prettify.js ├── qunit-composite.css ├── qunit-composite.js ├── qunit.css └── qunit.js ├── package-lock.json ├── package.json ├── pyftpsync.yaml ├── src ├── jquery-ui-dependencies │ ├── AUTHORS.txt │ ├── LICENSE.txt │ ├── README-Fancytree.md │ ├── jquery-ui-iife.js │ ├── jquery-ui.js │ ├── jquery-ui.min.js │ ├── jquery.fancytree.ui-deps.js │ └── package.json ├── jquery.fancytree.ariagrid.js ├── jquery.fancytree.childcounter.js ├── jquery.fancytree.clones.js ├── jquery.fancytree.columnview.js ├── jquery.fancytree.dnd.js ├── jquery.fancytree.dnd5.js ├── jquery.fancytree.edit.js ├── jquery.fancytree.filter.js ├── jquery.fancytree.fixed.js ├── jquery.fancytree.glyph.js ├── jquery.fancytree.grid.js ├── jquery.fancytree.gridnav.js ├── jquery.fancytree.js ├── jquery.fancytree.logger.js ├── jquery.fancytree.menu.js ├── jquery.fancytree.multi.js ├── jquery.fancytree.persist.js ├── jquery.fancytree.table.js ├── jquery.fancytree.themeroller.js ├── jquery.fancytree.wide.js ├── jsdoc-globals.js ├── skin-awesome │ ├── ui.fancytree.css │ ├── ui.fancytree.less │ ├── vline-rtl.gif │ └── vline.gif ├── skin-bootstrap-n │ ├── ui.fancytree.css │ ├── ui.fancytree.less │ ├── vline-rtl.gif │ └── vline.gif ├── skin-bootstrap │ ├── ui.fancytree.css │ ├── ui.fancytree.less │ ├── vline-rtl.gif │ └── vline.gif ├── skin-common.less ├── skin-custom-1 │ └── README.md ├── skin-lion │ ├── icons-lion.psp │ ├── icons-rtl.gif │ ├── icons.gif │ ├── loading.gif │ ├── ui.fancytree.css │ ├── ui.fancytree.less │ ├── vline-rtl.gif │ └── vline.gif ├── skin-material │ ├── ui.fancytree.css │ ├── ui.fancytree.less │ ├── vline-rtl.gif │ └── vline.gif ├── skin-themeroller │ ├── icons-rtl.gif │ ├── icons.gif │ ├── loading.gif │ ├── ui.fancytree.css │ ├── ui.fancytree.less │ ├── vline-rtl.gif │ └── vline.gif ├── skin-vista │ ├── icons-rtl.gif │ ├── icons.gif │ ├── loading.gif │ ├── ui.fancytree.css │ ├── ui.fancytree.less │ ├── vista_colors.txt │ ├── vline-rtl.gif │ └── vline.gif ├── skin-win7 │ ├── icons-rtl.gif │ ├── icons.gif │ ├── loading.gif │ ├── ui.fancytree.css │ ├── ui.fancytree.less │ ├── vline-rtl.gif │ └── vline.gif ├── skin-win8-n │ ├── icons-rtl.gif │ ├── icons.gif │ ├── loading.gif │ ├── ui.fancytree.css │ ├── ui.fancytree.less │ ├── vline-rtl.gif │ └── vline.gif ├── skin-win8-xxl │ ├── icons-rtl.gif │ ├── icons.gif │ ├── loading.gif │ ├── ui.fancytree.css │ ├── ui.fancytree.less │ ├── vline-rtl.gif │ └── vline.gif ├── skin-win8 │ ├── icons-rtl.gif │ ├── icons.gif │ ├── loading.gif │ ├── ui.fancytree.css │ ├── ui.fancytree.less │ ├── vline-rtl.gif │ └── vline.gif └── skin-xp │ ├── icons-rtl.gif │ ├── icons.gif │ ├── loading.gif │ ├── ui.fancytree.css │ ├── ui.fancytree.less │ ├── vline-rtl.gif │ └── vline.gif └── test ├── ajax10k_nodes.json ├── doctypes ├── doctype-html4-loose.html ├── doctype-html4-strict.html ├── doctype-html5.html ├── doctype-none.html ├── doctype-xml-strict.html ├── doctype-xml-transitional.html └── index.html ├── ft_fixtures.py ├── test-build-no-ui.html ├── test-css.html ├── test-ext-dnd.html ├── test-ext-grid.html ├── test-ext-keyboard.html ├── test-ext-table.html ├── test-extensions.html ├── test-fastrender-10k-nodes.html ├── text-ext-filter.html ├── triage ├── test-form.html ├── test-issue-NNN-description.html ├── test-issue-NNN-misc_filter.html └── test-issue-NNN-table-description.html └── unit ├── ajax-empty.json ├── ajax-sub2.json ├── ajax-tree-plain.json ├── ajax-tree.json ├── custom_icon.png ├── server.js ├── test-bench-issues.html ├── test-bench-issues.js ├── test-bench.html ├── test-bench.js ├── test-core-build.html ├── test-core-dist.html ├── test-core.html ├── test-core.js ├── test-ext-filter.html ├── test-ext-filter.js ├── test-ext-misc.html ├── test-ext-misc.js ├── test-ext-table.html ├── test-ext-table.js ├── test-jQuery-10.html ├── test-jQuery-20.html ├── test-jQuery-30.html ├── test-jQuery-latest.html ├── test-jQuery-legacy.html ├── test-jQuery110-ui110.html ├── test-jQuery111-ui111.html ├── test-jQuery18-ui18.html ├── test-jQuery18-ui19.html ├── test-jQuery19-ui19.html ├── test-jQuery1x-mig-ui1x.html ├── test-leaks.html ├── test-leaks.js ├── test-regression.html ├── test-regression.js ├── test-suite.html └── test-tools.js /.editorconfig: -------------------------------------------------------------------------------- 1 | # This file is for unifying the coding style for different editors and IDEs 2 | # editorconfig.org 3 | 4 | root = true 5 | 6 | [*] 7 | indent_style = space 8 | indent_size = 2 9 | end_of_line = lf 10 | charset = utf-8 11 | trim_trailing_whitespace = true 12 | insert_final_newline = true 13 | 14 | [*.{json,html,css}] 15 | indent_style = space 16 | indent_size = 2 17 | 18 | [*.js] 19 | # indent_style = space 20 | # indent_size = 2 21 | indent_style = tab 22 | indent_size = 4 23 | 24 | [*.coffee] 25 | indent_style = space 26 | indent_size = 2 27 | 28 | [*.md] 29 | indent_style = space 30 | 31 | [*.py] 32 | indent_style = space 33 | -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | bin 2 | doc 3 | lib 4 | node_modules 5 | test/** 6 | !test/unit/**/*.js 7 | *.min.js 8 | build/** 9 | dist/** 10 | !dist/jquery.js 11 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Set the default behavior, in case people don't have core.autocrlf set. 2 | * text=auto 3 | 4 | *.css text eol=lf 5 | *.js text eol=lf 6 | *.html text eol=lf 7 | *.md text eol=lf 8 | *.py text eol=lf 9 | 10 | # Explicitly declare text files you want to always be normalized and converted 11 | # to native line endings on checkout. 12 | #*.c text 13 | #*.h text 14 | 15 | # Declare files that will always have CRLF line endings on checkout. 16 | #*.sln text eol=crlf 17 | 18 | # Denote all files that are truly binary and should not be modified. 19 | *.png binary 20 | *.jpg binary 21 | -------------------------------------------------------------------------------- /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | # This is a comment. 2 | # Each line is a file pattern followed by one or more owners. 3 | 4 | # ext-grid, scrollbar extension 5 | # /demo/sample-3rd-grid-scrollbar.html @ewya 6 | 7 | # ext-fixed 8 | # /src/jquery.fancytree.fixed.js @Mats0 9 | # /demo/sample-ext-fixed.html @Mats0 10 | -------------------------------------------------------------------------------- /.github/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | Thanks for contributing :-) 2 | 3 | Please have a look at the 4 | [Contributing Guidelines](https://github.com/mar10/fancytree/wiki/HowtoContribute#report-issues). 5 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] 4 | patreon: # Replace with a single Patreon username 5 | open_collective: # Replace with a single Open Collective username 6 | ko_fi: # Replace with a single Ko-fi username 7 | tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel 8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry 9 | liberapay: # Replace with a single Liberapay username 10 | issuehunt: # Replace with a single IssueHunt username 11 | otechie: # Replace with a single Otechie username 12 | lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry 13 | # custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] 14 | custom: ['https://www.paypal.com/donate/?hosted_button_id=RA6G29AZRUD44'] 15 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | Thanks for contributing :-) 2 | 3 | Please also read the hints: 4 | https://github.com/mar10/fancytree/wiki/HowtoContribute#report-issues 5 | then remove all unneeded lines from this issue report. 6 | 7 | If you are going to ask a question, please use Stackoverflow instead: 8 | 9 | http://stackoverflow.com/questions/tagged/fancytree 10 | 11 | 12 | ### Expected and Actual Behavior 13 | 14 | ... (Maybe even a screenshot? Any hints on the browser's debug console?) 15 | 16 | 17 | ### Steps to Reproduce the Problem 18 | 19 | 1. ... 20 | 2. ... 21 | 22 | Could you set up a jsFiddle (http://jsfiddle.net/mar10/KcxRd/), 23 | CodePen (https://codepen.io/mar10/pen/WMWrbq), or 24 | Plunker (http://plnkr.co/edit/8sdy3r?p=preview) ? 25 | 26 | 27 | ### Environment 28 | 29 | - Browser type and version: 30 | - jQuery and jQuery UI versions: 31 | - Fancytree version: 32 | enabled/affected extensions: 33 | -------------------------------------------------------------------------------- /.github/workflows/stale.yml: -------------------------------------------------------------------------------- 1 | # This workflow warns and then closes issues and PRs that have had no activity for a specified amount of time. 2 | # 3 | # You can adjust the behavior by modifying this file. 4 | # For more information, see: 5 | # https://github.com/actions/stale 6 | name: Mark stale issues and pull requests 7 | 8 | on: 9 | schedule: 10 | - cron: '31 14 * * *' 11 | 12 | jobs: 13 | stale: 14 | 15 | runs-on: ubuntu-latest 16 | permissions: 17 | issues: write 18 | pull-requests: write 19 | 20 | steps: 21 | - uses: actions/stale@v5 22 | with: 23 | repo-token: ${{ secrets.GITHUB_TOKEN }} 24 | 25 | days-before-stale: 90 26 | days-before-close: 14 27 | exempt-all-milestones: true 28 | operations-per-run: 5 29 | 30 | stale-issue-label: 'no-issue-activity' 31 | exempt-issue-labels: 'pinned,security' 32 | stale-issue-message: | 33 | This issue has been automatically marked as stale because it has not had 34 | recent activity. It will be closed if no further activity occurs. 35 | Thank you for your contributions. 36 | close-issue-reason: 'not_planned' 37 | 38 | stale-pr-label: 'no-pr-activity' 39 | exempt-pr-labels: 'pinned,security' 40 | stale-pr-message: | 41 | This pull request has been automatically marked as stale because it has not had 42 | recent activity. It will be closed if no further activity occurs. 43 | Thank you for your contributions. 44 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /.settings 2 | /archive 3 | /build 4 | /test/triage 5 | /doc/annotated-src 6 | /doc/jsdoc 7 | /doc/jsdoc_new 8 | /doc/jsdoc_old 9 | /node_modules 10 | /doc/screenshots 11 | /src/skin-custom-* 12 | *.log 13 | sauce_connect.* 14 | .pyftpsync-meta.json 15 | .DS_Store 16 | test/ajax_101k.json 17 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | # Style guide rationale: 2 | # Width 80 is default (and explicitly recommended) by prettier 3 | # - 2 space indentation and trailing semicolons seem to be most popular 4 | # https://hackernoon.com/what-javascript-code-style-is-the-most-popular-5a3f5bec1f6f 5 | # It is also the prettier's default 6 | # - Double quotes are default in prettier and mandatory in Black 7 | # - Trailing comma produces smaller diffs 8 | # BUT: 9 | # As a first step, we keep the current whitespace setting: 10 | # - use tabs 11 | # - tabWitdh 4 12 | 13 | printWidth: 80 14 | useTabs: true 15 | tabWidth: 4 16 | # useTabs: false 17 | # tabWidth: 2 18 | semi: true 19 | singleQuote: false 20 | trailingComma: "es5" 21 | bracketSpacing: true # because it's prettier's default 22 | #requirePragma: true 23 | 24 | #overrides: 25 | # - files: "*.test.js" 26 | # options: 27 | # semi: true 28 | -------------------------------------------------------------------------------- /.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | fancytree 4 | 5 | 6 | fancytree_wiki 7 | fancytree.wiki 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 1373147473034 16 | 17 | 10 18 | 19 | org.eclipse.ui.ide.multiFilter 20 | 1.0-name-matches-false-false-node_modules 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | sudo: false 3 | node_js: 4 | - "10" 5 | 6 | before_script: 7 | - npm install -g grunt-cli 8 | 9 | addons: 10 | hosts: 11 | - travis.dev 12 | - localhost 13 | 14 | matrix: 15 | include: 16 | - env: GRUNT_TASK=travis 17 | # - env: GRUNT_TASK=travis-optional 18 | # allow_failures: 19 | # - env: GRUNT_TASK=travis-optional 20 | 21 | script: grunt $GRUNT_TASK --verbose 22 | 23 | env: 24 | global: 25 | - secure: VmlzKmxE+V+QZpvDuj5W41u2HTu2uTvW0aUi2p+2yhCHd7J5TFdOoECwIhTa/4VDEpnZwjLJXPd2q9kEn3+G0HpEqRMtKVTP/sM8y0JKUkprSCWV/y+pVX+0B9jQBAhEcjtkLDEGI3xVI8n+WV0Fig4kWecSCcSSUN5Mlbq5glQ= 26 | - secure: ITp8qeoTyowtRqqFKPSjKq1tenmjt5ezNG/8ybEJQzxAMVGJ8bnyRPV1Aep0HB0ULP+GcYzDzGj5UeKM3hfWAJEfx+z1/HiHIMpJjEuGBz1JPfHx0lKcB7QfbhsRY3r8DVYptxdK9SyMisdIfCKApNMDW90RGDuALUdkLNPPXhI= 27 | -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | { 8 | "type": "chrome", 9 | "request": "launch", 10 | "name": "Launch Chrome against localhost", 11 | "url": "http://localhost:8080", 12 | "webRoot": "${workspaceFolder}" 13 | } 14 | ] 15 | } -------------------------------------------------------------------------------- /3rd-party/extensions/contextmenu/js/jquery.fancytree.contextMenu.js: -------------------------------------------------------------------------------- 1 | /**! 2 | * jquery.fancytree.contextmenu.js 3 | * 4 | * Integrate the 'jQuery contextMenu' plugin as Fancytree extension: 5 | * https://github.com/swisnl/jQuery-contextMenu 6 | * 7 | * Copyright (c) 2008-2018, Martin Wendt (https://wwWendt.de) 8 | * Released under the MIT license 9 | * https://github.com/mar10/fancytree/wiki/LicenseInfo 10 | */ 11 | (function ($, document) { 12 | "use strict"; 13 | 14 | var initContextMenu = function (tree, selector, menu, actions) { 15 | tree.$container.on("mousedown.contextMenu", function (event) { 16 | var node = $.ui.fancytree.getNode(event); 17 | 18 | if (node) { 19 | $.contextMenu("destroy", "." + selector); 20 | 21 | // node.setFocus(true); 22 | node.setActive(true); 23 | 24 | $.contextMenu({ 25 | selector: "." + selector, 26 | events: { 27 | show: function (options) { 28 | options.prevKeyboard = tree.options.keyboard; 29 | tree.options.keyboard = false; 30 | }, 31 | hide: function (options) { 32 | tree.options.keyboard = options.prevKeyboard; 33 | node.setFocus(true); 34 | }, 35 | }, 36 | build: function ($trigger, e) { 37 | node = $.ui.fancytree.getNode($trigger); 38 | 39 | var menuItems = {}; 40 | if ($.isFunction(menu)) { 41 | menuItems = menu(node); 42 | } else if ($.isPlainObject(menu)) { 43 | menuItems = menu; 44 | } 45 | 46 | return { 47 | callback: function (action, options) { 48 | if ($.isFunction(actions)) { 49 | actions(node, action, options); 50 | } else if ($.isPlainObject(actions)) { 51 | if ( 52 | Object.prototype.hasOwnProperty.call( 53 | actions, 54 | action 55 | ) && 56 | $.isFunction(actions[action]) 57 | ) { 58 | actions[action](node, options); 59 | } 60 | } 61 | }, 62 | items: menuItems, 63 | }; 64 | }, 65 | }); 66 | } 67 | }); 68 | }; 69 | 70 | $.ui.fancytree.registerExtension({ 71 | name: "contextMenu", 72 | version: "@VERSION", 73 | contextMenu: { 74 | selector: "fancytree-title", 75 | menu: {}, 76 | actions: {}, 77 | }, 78 | treeInit: function (ctx) { 79 | this._superApply(arguments); 80 | initContextMenu( 81 | ctx.tree, 82 | ctx.options.contextMenu.selector || "fancytree-title", 83 | ctx.options.contextMenu.menu, 84 | ctx.options.contextMenu.actions 85 | ); 86 | }, 87 | }); 88 | })(jQuery, document); 89 | -------------------------------------------------------------------------------- /3rd-party/extensions/hotkeys/js/jquery.fancytree.hotkeys.js: -------------------------------------------------------------------------------- 1 | /**! 2 | * jquery.fancytree.hotkeys.js 3 | * 4 | * Integrate the 'jQuery.Hotkeys' plugin as Fancytree extension: 5 | * https://github.com/jeresig/jquery.hotkeys/ 6 | * 7 | * Copyright (c) 2008-2018, Martin Wendt (https://wwWendt.de) 8 | * Released under the MIT license 9 | * https://github.com/mar10/fancytree/wiki/LicenseInfo 10 | */ 11 | (function ($, document) { 12 | "use strict"; 13 | 14 | var initHotkeys = function (tree, data) { 15 | $.each(data, function (event, keys) { 16 | $.each(keys, function (key, handler) { 17 | $(tree.$container).on(event, null, key, function (evt) { 18 | var node = tree.getActiveNode(); 19 | return handler(node, evt); 20 | // return false from the handler will stop default handling. 21 | }); 22 | }); 23 | }); 24 | }; 25 | 26 | $.ui.fancytree.registerExtension({ 27 | name: "hotkeys", 28 | version: "@VERSION", 29 | hotkeys: {}, 30 | treeInit: function (ctx) { 31 | this._superApply(arguments); 32 | initHotkeys(this, ctx.options.hotkeys); 33 | }, 34 | }); 35 | })(jQuery, document); 36 | -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright 2008-2023 Martin Wendt, 2 | https://wwWendt.de/ 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining 5 | a copy of this software and associated documentation files (the 6 | "Software"), to deal in the Software without restriction, including 7 | without limitation the rights to use, copy, modify, merge, publish, 8 | distribute, sublicense, and/or sell copies of the Software, and to 9 | permit persons to whom the Software is furnished to do so, subject to 10 | the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be 13 | included in all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 16 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 17 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 18 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 19 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 20 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 21 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /bin/jsdoc3-moogle/README.md: -------------------------------------------------------------------------------- 1 | The default template for JSDoc 3 uses: [the Taffy Database library](http://taffydb.com/) and the [Underscore Template library](http://underscorejs.org/). 2 | 3 | ## Customized 4 | 5 | Modified by Martin Wendt in 2017-08. 6 | 7 | Changes are marked with `` or `// --- Start MOOGLE Changes` 8 | 9 | * Add a 'Methods:' section for class views, between 'Properties:' and 'Methods details' 10 | * Add google analytics hooks 11 | * Add a 'Fork me on Github' 12 | 13 | 14 | ## Generating Typeface Fonts 15 | 16 | The default template uses the [OpenSans](https://www.google.com/fonts/specimen/Open+Sans) typeface. The font files can be regenerated as follows: 17 | 18 | 1. Open the [OpenSans page at Font Squirrel](). 19 | 2. Click on the 'Webfont Kit' tab. 20 | 3. Either leave the subset drop-down as 'Western Latin (Default)', or, if we decide we need more glyphs, than change it to 'No Subsetting'. 21 | 4. Click the 'DOWNLOAD @FONT-FACE KIT' button. 22 | 5. For each typeface variant we plan to use, copy the 'eot', 'svg' and 'woff' files into the 'templates/default/static/fonts' directory. 23 | -------------------------------------------------------------------------------- /bin/jsdoc3-moogle/static/fonts/OpenSans-Bold-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/bin/jsdoc3-moogle/static/fonts/OpenSans-Bold-webfont.eot -------------------------------------------------------------------------------- /bin/jsdoc3-moogle/static/fonts/OpenSans-Bold-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/bin/jsdoc3-moogle/static/fonts/OpenSans-Bold-webfont.woff -------------------------------------------------------------------------------- /bin/jsdoc3-moogle/static/fonts/OpenSans-BoldItalic-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/bin/jsdoc3-moogle/static/fonts/OpenSans-BoldItalic-webfont.eot -------------------------------------------------------------------------------- /bin/jsdoc3-moogle/static/fonts/OpenSans-BoldItalic-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/bin/jsdoc3-moogle/static/fonts/OpenSans-BoldItalic-webfont.woff -------------------------------------------------------------------------------- /bin/jsdoc3-moogle/static/fonts/OpenSans-Italic-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/bin/jsdoc3-moogle/static/fonts/OpenSans-Italic-webfont.eot -------------------------------------------------------------------------------- /bin/jsdoc3-moogle/static/fonts/OpenSans-Italic-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/bin/jsdoc3-moogle/static/fonts/OpenSans-Italic-webfont.woff -------------------------------------------------------------------------------- /bin/jsdoc3-moogle/static/fonts/OpenSans-Light-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/bin/jsdoc3-moogle/static/fonts/OpenSans-Light-webfont.eot -------------------------------------------------------------------------------- /bin/jsdoc3-moogle/static/fonts/OpenSans-Light-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/bin/jsdoc3-moogle/static/fonts/OpenSans-Light-webfont.woff -------------------------------------------------------------------------------- /bin/jsdoc3-moogle/static/fonts/OpenSans-LightItalic-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/bin/jsdoc3-moogle/static/fonts/OpenSans-LightItalic-webfont.eot -------------------------------------------------------------------------------- /bin/jsdoc3-moogle/static/fonts/OpenSans-LightItalic-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/bin/jsdoc3-moogle/static/fonts/OpenSans-LightItalic-webfont.woff -------------------------------------------------------------------------------- /bin/jsdoc3-moogle/static/fonts/OpenSans-Regular-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/bin/jsdoc3-moogle/static/fonts/OpenSans-Regular-webfont.eot -------------------------------------------------------------------------------- /bin/jsdoc3-moogle/static/fonts/OpenSans-Regular-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/bin/jsdoc3-moogle/static/fonts/OpenSans-Regular-webfont.woff -------------------------------------------------------------------------------- /bin/jsdoc3-moogle/static/scripts/linenumber.js: -------------------------------------------------------------------------------- 1 | /*global document */ 2 | (function() { 3 | var source = document.getElementsByClassName('prettyprint source linenums'); 4 | var i = 0; 5 | var lineNumber = 0; 6 | var lineId; 7 | var lines; 8 | var totalLines; 9 | var anchorHash; 10 | 11 | if (source && source[0]) { 12 | anchorHash = document.location.hash.substring(1); 13 | lines = source[0].getElementsByTagName('li'); 14 | totalLines = lines.length; 15 | 16 | for (; i < totalLines; i++) { 17 | lineNumber++; 18 | lineId = 'line' + lineNumber; 19 | lines[i].id = lineId; 20 | if (lineId === anchorHash) { 21 | lines[i].className += ' selected'; 22 | } 23 | } 24 | } 25 | })(); 26 | -------------------------------------------------------------------------------- /bin/jsdoc3-moogle/static/scripts/prettify/lang-css.js: -------------------------------------------------------------------------------- 1 | PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\f\r ]+/,null," \t\r\n "]],[["str",/^"(?:[^\n\f\r"\\]|\\(?:\r\n?|\n|\f)|\\[\S\s])*"/,null],["str",/^'(?:[^\n\f\r'\\]|\\(?:\r\n?|\n|\f)|\\[\S\s])*'/,null],["lang-css-str",/^url\(([^"')]*)\)/i],["kwd",/^(?:url|rgb|!important|@import|@page|@media|@charset|inherit)(?=[^\w-]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*)\s*:/i],["com",/^\/\*[^*]*\*+(?:[^*/][^*]*\*+)*\//],["com", 2 | /^(?:<\!--|--\>)/],["lit",/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],["lit",/^#[\da-f]{3,6}/i],["pln",/^-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*/i],["pun",/^[^\s\w"']+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[["kwd",/^-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[["str",/^[^"')]+/]]),["css-str"]); 3 | -------------------------------------------------------------------------------- /bin/jsdoc3-moogle/static/styles/prettify-jsdoc.css: -------------------------------------------------------------------------------- 1 | /* JSDoc prettify.js theme */ 2 | 3 | /* plain text */ 4 | .pln { 5 | color: #000000; 6 | font-weight: normal; 7 | font-style: normal; 8 | } 9 | 10 | /* string content */ 11 | .str { 12 | color: #006400; 13 | font-weight: normal; 14 | font-style: normal; 15 | } 16 | 17 | /* a keyword */ 18 | .kwd { 19 | color: #000000; 20 | font-weight: bold; 21 | font-style: normal; 22 | } 23 | 24 | /* a comment */ 25 | .com { 26 | font-weight: normal; 27 | font-style: italic; 28 | } 29 | 30 | /* a type name */ 31 | .typ { 32 | color: #000000; 33 | font-weight: normal; 34 | font-style: normal; 35 | } 36 | 37 | /* a literal value */ 38 | .lit { 39 | color: #006400; 40 | font-weight: normal; 41 | font-style: normal; 42 | } 43 | 44 | /* punctuation */ 45 | .pun { 46 | color: #000000; 47 | font-weight: bold; 48 | font-style: normal; 49 | } 50 | 51 | /* lisp open bracket */ 52 | .opn { 53 | color: #000000; 54 | font-weight: bold; 55 | font-style: normal; 56 | } 57 | 58 | /* lisp close bracket */ 59 | .clo { 60 | color: #000000; 61 | font-weight: bold; 62 | font-style: normal; 63 | } 64 | 65 | /* a markup tag name */ 66 | .tag { 67 | color: #006400; 68 | font-weight: normal; 69 | font-style: normal; 70 | } 71 | 72 | /* a markup attribute name */ 73 | .atn { 74 | color: #006400; 75 | font-weight: normal; 76 | font-style: normal; 77 | } 78 | 79 | /* a markup attribute value */ 80 | .atv { 81 | color: #006400; 82 | font-weight: normal; 83 | font-style: normal; 84 | } 85 | 86 | /* a declaration */ 87 | .dec { 88 | color: #000000; 89 | font-weight: bold; 90 | font-style: normal; 91 | } 92 | 93 | /* a variable name */ 94 | .var { 95 | color: #000000; 96 | font-weight: normal; 97 | font-style: normal; 98 | } 99 | 100 | /* a function name */ 101 | .fun { 102 | color: #000000; 103 | font-weight: bold; 104 | font-style: normal; 105 | } 106 | 107 | /* Specify class=linenums on a pre to get line numbering */ 108 | ol.linenums { 109 | margin-top: 0; 110 | margin-bottom: 0; 111 | } 112 | -------------------------------------------------------------------------------- /bin/jsdoc3-moogle/static/styles/prettify-tomorrow.css: -------------------------------------------------------------------------------- 1 | /* Tomorrow Theme */ 2 | /* Original theme - https://github.com/chriskempson/tomorrow-theme */ 3 | /* Pretty printing styles. Used with prettify.js. */ 4 | /* SPAN elements with the classes below are added by prettyprint. */ 5 | /* plain text */ 6 | .pln { 7 | color: #4d4d4c; } 8 | 9 | @media screen { 10 | /* string content */ 11 | .str { 12 | color: #718c00; } 13 | 14 | /* a keyword */ 15 | .kwd { 16 | color: #8959a8; } 17 | 18 | /* a comment */ 19 | .com { 20 | color: #8e908c; } 21 | 22 | /* a type name */ 23 | .typ { 24 | color: #4271ae; } 25 | 26 | /* a literal value */ 27 | .lit { 28 | color: #f5871f; } 29 | 30 | /* punctuation */ 31 | .pun { 32 | color: #4d4d4c; } 33 | 34 | /* lisp open bracket */ 35 | .opn { 36 | color: #4d4d4c; } 37 | 38 | /* lisp close bracket */ 39 | .clo { 40 | color: #4d4d4c; } 41 | 42 | /* a markup tag name */ 43 | .tag { 44 | color: #c82829; } 45 | 46 | /* a markup attribute name */ 47 | .atn { 48 | color: #f5871f; } 49 | 50 | /* a markup attribute value */ 51 | .atv { 52 | color: #3e999f; } 53 | 54 | /* a declaration */ 55 | .dec { 56 | color: #f5871f; } 57 | 58 | /* a variable name */ 59 | .var { 60 | color: #c82829; } 61 | 62 | /* a function name */ 63 | .fun { 64 | color: #4271ae; } } 65 | /* Use higher contrast and text-weight for printable form. */ 66 | @media print, projection { 67 | .str { 68 | color: #060; } 69 | 70 | .kwd { 71 | color: #006; 72 | font-weight: bold; } 73 | 74 | .com { 75 | color: #600; 76 | font-style: italic; } 77 | 78 | .typ { 79 | color: #404; 80 | font-weight: bold; } 81 | 82 | .lit { 83 | color: #044; } 84 | 85 | .pun, .opn, .clo { 86 | color: #440; } 87 | 88 | .tag { 89 | color: #006; 90 | font-weight: bold; } 91 | 92 | .atn { 93 | color: #404; } 94 | 95 | .atv { 96 | color: #060; } } 97 | /* Style */ 98 | /* 99 | pre.prettyprint { 100 | background: white; 101 | font-family: Consolas, Monaco, 'Andale Mono', monospace; 102 | font-size: 12px; 103 | line-height: 1.5; 104 | border: 1px solid #ccc; 105 | padding: 10px; } 106 | */ 107 | 108 | /* Specify class=linenums on a pre to get line numbering */ 109 | ol.linenums { 110 | margin-top: 0; 111 | margin-bottom: 0; } 112 | 113 | /* IE indents via margin-left */ 114 | li.L0, 115 | li.L1, 116 | li.L2, 117 | li.L3, 118 | li.L4, 119 | li.L5, 120 | li.L6, 121 | li.L7, 122 | li.L8, 123 | li.L9 { 124 | /* */ } 125 | 126 | /* Alternate shading for lines */ 127 | li.L1, 128 | li.L3, 129 | li.L5, 130 | li.L7, 131 | li.L9 { 132 | /* */ } 133 | -------------------------------------------------------------------------------- /bin/jsdoc3-moogle/tmpl/augments.tmpl: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /bin/jsdoc3-moogle/tmpl/example.tmpl: -------------------------------------------------------------------------------- 1 | 2 |
3 | -------------------------------------------------------------------------------- /bin/jsdoc3-moogle/tmpl/examples.tmpl: -------------------------------------------------------------------------------- 1 | 8 |

9 | 10 |
11 | -------------------------------------------------------------------------------- /bin/jsdoc3-moogle/tmpl/exceptions.tmpl: -------------------------------------------------------------------------------- 1 | 4 | 5 |
6 |
7 |
8 | 9 |
10 |
11 |
12 |
13 |
14 |
15 | Type 16 |
17 |
18 | 19 |
20 |
21 |
22 |
23 |
24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
32 | 33 | -------------------------------------------------------------------------------- /bin/jsdoc3-moogle/tmpl/mainpage.tmpl: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 |

8 | 9 | 10 | 11 |
12 |
13 |
14 | 15 | -------------------------------------------------------------------------------- /bin/jsdoc3-moogle/tmpl/members.tmpl: -------------------------------------------------------------------------------- 1 | 5 |

6 | 7 | 8 |

9 | 10 | 11 | 12 |
13 | 14 |
15 | 16 | 17 | 18 |
Type:
19 | 24 | 25 | 26 | 27 | 28 | 29 |
Fires:
30 | 33 | 34 | 35 | 36 |
Example 1? 's':'' ?>
37 | 38 | 39 | -------------------------------------------------------------------------------- /bin/jsdoc3-moogle/tmpl/methods_overview.tmpl: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | " + name + ""; 44 | } 45 | if (typeof param.defaultvalue !== 'undefined') { 46 | name = name + "=" + param.defaultvalue + ""; 47 | } 48 | args.push(name); 49 | }); 50 | args = "(" + args.join(", ") + ")"; 51 | } 52 | 53 | ?> 54 | 55 | 56 | 59 | 63 | 66 | 75 | 76 | 77 | 78 | 79 |
Return TypeName and ArgumentsDetails
57 | 58 | 60 | 61 | " + m.description + "") : "") ?> 62 | 64 | Details 65 |
80 | 81 | -------------------------------------------------------------------------------- /bin/jsdoc3-moogle/tmpl/returns.tmpl: -------------------------------------------------------------------------------- 1 | 5 |
6 | 7 |
8 | 9 | 10 | 11 |
12 |
13 | Type 14 |
15 |
16 | 17 |
18 |
19 | -------------------------------------------------------------------------------- /bin/jsdoc3-moogle/tmpl/source.tmpl: -------------------------------------------------------------------------------- 1 | 4 |
5 |
6 |
7 |
8 |
-------------------------------------------------------------------------------- /bin/jsdoc3-moogle/tmpl/tutorial.tmpl: -------------------------------------------------------------------------------- 1 |
2 | 3 |
4 | 0) { ?> 5 |
    8 |
  • 9 |
10 | 11 | 12 |

13 |
14 | 15 |
16 | 17 |
18 | 19 |
20 | -------------------------------------------------------------------------------- /bin/jsdoc3-moogle/tmpl/type.tmpl: -------------------------------------------------------------------------------- 1 | 5 | 6 | | 7 | -------------------------------------------------------------------------------- /bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery.fancytree", 3 | "description": "JavaScript tree view / tree grid plugin with support for keyboard, inline editing, filtering, checkboxes, drag'n'drop, and lazy loading", 4 | "version": "2.38.6-0", 5 | "main": [ 6 | "dist/jquery.fancytree-all-deps.min.js" 7 | ], 8 | "moduleType": "globals", 9 | "license": "MIT", 10 | "ignore": [ 11 | "**/.*", 12 | "/3rd-party", 13 | "/archive", 14 | "/bin", 15 | "/build", 16 | "/demo", 17 | "/doc", 18 | "/lib", 19 | "/src", 20 | "/test", 21 | "CONTRIBUTING.md", 22 | "fancytree.jquery.json", 23 | "Gruntfile.coffee", 24 | "index.html" 25 | ], 26 | "keywords": [ 27 | "ajax", 28 | "jquery-plugin", 29 | "lazy", 30 | "table", 31 | "tabletree", 32 | "tree", 33 | "treegrid" 34 | ], 35 | "authors": [ 36 | { 37 | "name": "Martin Wendt", 38 | "homepage": "https://wwWendt.de" 39 | } 40 | ], 41 | "repository": { 42 | "type": "git", 43 | "url": "git://github.com/mar10/fancytree.git" 44 | }, 45 | "dependencies": { 46 | "jquery": ">=1.7", 47 | "jquery-ui": ">=1.8.6" 48 | }, 49 | "devDependencies": {} 50 | } -------------------------------------------------------------------------------- /demo/ajax-empty.json: -------------------------------------------------------------------------------- 1 | [] 2 | -------------------------------------------------------------------------------- /demo/ajax-parse-error.json: -------------------------------------------------------------------------------- 1 | [ 2 | {'title': "sub 1"}, 3 | {"title": "sub 2"} 4 | ] -------------------------------------------------------------------------------- /demo/ajax-pws-error.json: -------------------------------------------------------------------------------- 1 | { 2 | "status": "fault", 3 | "faultMsg": "uh-oh", 4 | "faultCode": -1, 5 | "faulDetails": "..." 6 | } 7 | -------------------------------------------------------------------------------- /demo/ajax-pws-ok.json: -------------------------------------------------------------------------------- 1 | { 2 | "status": "ok", 3 | "result": [ 4 | {"title": "sub 1"}, 5 | {"title": "sub 2"} 6 | ] 7 | } -------------------------------------------------------------------------------- /demo/ajax-sub.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | SubNode 1 (lazy) 4 | 5 | 6 | SubNode 1 (lazy) 7 | 8 | 9 | -------------------------------------------------------------------------------- /demo/ajax-sub2.json: -------------------------------------------------------------------------------- 1 | [ {"title": "Sub item", "lazy": true }, {"title": "Sub folder", "folder": true, "lazy": true } ] 2 | -------------------------------------------------------------------------------- /demo/ajax-tree-decide.json: -------------------------------------------------------------------------------- 1 | [ 2 | {"title": "ATX PC Computer Power Supply Troubleshooting", "expanded": true, "folder": true, "children": [ 3 | {"title": "Power comes on", "extraClasses": "yes", "children": [ 4 | {"title": "Live screen", "extraClasses": "yes", "children": [ 5 | {"title": "New build", "extraClasses": "yes", "children": [ 6 | {"title": "Check power requirement vs. rating.", "extraClasses": "answer"} 7 | ]}, 8 | {"title": "No new build", "extraClasses": "no", "children": [ 9 | {"title": "Need two tries to boot", "extraClasses": "yes", "children": [ 10 | {"title": "Premature power_good signal. Try different power supply.", "extraClasses": "answer"} 11 | ]}, 12 | {"title": "Does not need two tries to boot", "extraClasses": "no", "children": [ 13 | 14 | ]} 15 | ]} 16 | ]}, 17 | {"title": "No live screen", "extraClasses": "no", "children": [ 18 | {"title": "Proceed to Video Failure Chart", "extraClasses": "link"} 19 | ]} 20 | ]}, 21 | {"title": "Power comes not on", "extraClasses": "no", "children": [ 22 | {"title": "AC power source tested?", "extraClasses": "yes", "children": [ 23 | ]}, 24 | {"title": "AC poower source not tested", "extraClasses": "no", "children": [ 25 | {"title": "Connect to known good outlet.", "extraClasses": "answer"} 26 | ]} 27 | ]} 28 | ]} 29 | ] 30 | -------------------------------------------------------------------------------- /demo/ajax-tree-dom.json: -------------------------------------------------------------------------------- 1 | [ 2 | {"title": "html", "expanded": true, "folder": true, "children": [ 3 | {"title": "head", "folder": true, "children": [ 4 | {"title": "meta"}, 5 | {"title": "title"} 6 | ]}, 7 | {"title": "body", "expanded": true, "folder": true, "children": [ 8 | {"title": "ul", "expanded": true, "children": [ 9 | {"title": "li"}, 10 | {"title": "li"} 11 | ]}, 12 | {"title": "h1"}, 13 | {"title": "h2", "expanded": true, "children": [ 14 | {"title": "a"} 15 | ]} 16 | ]} 17 | ]} 18 | ] 19 | -------------------------------------------------------------------------------- /demo/ajax-tree-fs.json: -------------------------------------------------------------------------------- 1 | [ 2 | {"title": "/", "expanded": true, "folder": true, "children": [ 3 | {"title": "dev", "folder": true}, 4 | {"title": "etc", "folder": true, "children": [ 5 | {"title": "cups"}, 6 | {"title": "httpd"}, 7 | {"title": "init.d"} 8 | ]}, 9 | {"title": "sbin", "folder": true}, 10 | {"title": "tmp", "folder": true}, 11 | {"title": "Users", "expanded": true, "folder": true, "children": [ 12 | {"title": "jdoe", "folder": true}, 13 | {"title": "jmiller", "folder": true}, 14 | {"title": "mysql", "folder": true} 15 | ]}, 16 | {"title": "usr", "expanded": true, "folder": true, "children": [ 17 | {"title": "bin", "folder": true}, 18 | {"title": "lib", "folder": true}, 19 | {"title": "local", "folder": true} 20 | ]}, 21 | {"title": "var", "expanded": true, "folder": true, "children": [ 22 | {"title": "log", "folder": true}, 23 | {"title": "spool", "folder": true}, 24 | {"title": "yp", "folder": true} 25 | ]} 26 | ]} 27 | ] 28 | -------------------------------------------------------------------------------- /demo/ajax-tree-instruments.json: -------------------------------------------------------------------------------- 1 | 2 | http://jameskennedymonash.files.wordpress.com/2012/05/musical-instruments.jpg 3 | http://yamltojson.com/ 4 | 5 | "Musical Instruments": 6 | - "Aerophones": 7 | - "Free aerophones": 8 | - "aa" 9 | - "bb" 10 | - "Pipe aerophones" 11 | -------------------------------------------------------------------------------- /demo/ajax-tree-local.json: -------------------------------------------------------------------------------- 1 | [ 2 | {"title": "simple node (no explicit id, so a default key is generated)" }, 3 | {"key": "2", "title": "item1 with key and tooltip", "tooltip": "Look, a tool tip!" }, 4 | {"key": "3", "title": "item2 with html inside a span tag" }, 5 | {"key": "4", "title": "node 4" }, 6 | {"key": "5", "title": "using href", "href": "https://wwWendt.de/" }, 7 | {"key": "6", "title": "node with some extra classes (will be added to the generated markup)", "extraClasses": "my-extra-class" }, 8 | {"key": "10", "title": "Folder 1", "folder": true, "children": [ 9 | {"key": "10_1", "title": "Sub-item 1.1", "children": [ 10 | {"key": "10_1_1", "title": "Sub-item 1.1.1"}, 11 | {"key": "10_1_2", "title": "Sub-item 1.1.2 r"} 12 | ]}, 13 | {"key": "10_2", "title": "Sub-item 1.2", "children": [ 14 | {"key": "10_2_1", "title": "Sub-item 1.2.1"}, 15 | {"key": "10_2_2", "title": "Sub-item 1.2.2"} 16 | ]} 17 | ]}, 18 | {"key": "20", "title": "Simple node with active children (expand)", "expanded": true, "children": [ 19 | {"key": "20_1", "title": "Sub-item 2.1", "children": [ 20 | {"key": "20_1_1", "title": "Sub-item 2.1.1"}, 21 | {"key": "20_1_2", "title": "Sub-item 2.1.2"} 22 | ]}, 23 | {"key": "20_2", "title": "Sub-item 2.2", "children": [ 24 | {"key": "20_2_1", "title": "Sub-item 2.2.1"}, 25 | {"key": "20_2_2", "title": "Sub-item 2.2.2"} 26 | ]} 27 | ]} 28 | ] 29 | -------------------------------------------------------------------------------- /demo/ajax-tree-plain.json: -------------------------------------------------------------------------------- 1 | [ 2 | {"title": "simple node (no explicit id, so a default key is generated)" }, 3 | {"key": "2", "title": "item1 with key and tooltip", "tooltip": "Look, a tool tip!" }, 4 | {"key": "3", "title": "item2 with html inside a span tag" }, 5 | {"key": "4", "title": "node 4" }, 6 | {"key": "5", "title": "using href", "href": "https://wwWendt.de/" }, 7 | {"key": "6", "title": "node with some extra classes (will be added to the generated markup)", "extraClasses": "my-extra-class" }, 8 | {"key": "10", "title": "Folder 1", "folder": true, "children": [ 9 | {"key": "10_1", "title": "Sub-item 1.1", "children": [ 10 | {"key": "10_1_1", "title": "Sub-item 1.1.1"}, 11 | {"key": "10_1_2", "title": "Sub-item 1.1.2"} 12 | ]}, 13 | {"key": "10_2", "title": "Sub-item 1.2", "children": [ 14 | {"key": "10_2_1", "title": "Sub-item 1.2.1"}, 15 | {"key": "10_2_2", "title": "Sub-item 1.2.2"} 16 | ]} 17 | ]}, 18 | {"key": "20", "title": "Simple node with active children (expand)", "expanded": true, "children": [ 19 | {"key": "20_1", "title": "Sub-item 2.1", "children": [ 20 | {"key": "20_1_1", "title": "Sub-item 2.1.1", "children": [ 21 | {"key": "20_1_1_1", "title": "Sub-item 2.1.1.1"} 22 | ]}, 23 | {"key": "20_1_2", "title": "Sub-item 2.1.2"} 24 | ]}, 25 | {"key": "20_2", "title": "Sub-item 2.2", "children": [ 26 | {"key": "20_2_1", "title": "Sub-item 2.2.1"}, 27 | {"key": "20_2_2", "title": "Sub-item 2.2.2"} 28 | ]} 29 | ]}, 30 | {"key": "30", "title": "Lazy folder", "folder": true, "lazy": true }, 31 | {"key": "31", "title": "Lazy folder 2", "folder": true, "lazy": true }, 32 | {"key": "32", "title": "Lazy folder 3", "folder": true, "lazy": true } 33 | ] 34 | -------------------------------------------------------------------------------- /demo/ajax-tree-products.json: -------------------------------------------------------------------------------- 1 | [ 2 | {"title": "Books", "expanded": true, "folder": true, "children": [ 3 | {"title": "Art of War", "type": "book", "author": "Sun Tzu", "year": -500, "qty": 21, "price": 5.95}, 4 | {"title": "The Hobbit", "type": "book", "author": "J.R.R. Tolkien", "year": 1937, "qty": 32, "price": 8.97}, 5 | {"title": "The Little Prince", "type": "book", "author": "Antoine de Saint-Exupery", "year": 1943, "qty": 2946, "price": 6.82}, 6 | {"title": "Don Quixote", "type": "book", "author": "Miguel de Cervantes", "year": 1615, "qty": 932, "price": 15.99} 7 | ]}, 8 | {"title": "Music", "folder": true, "children": [ 9 | {"title": "Nevermind", "type": "music", "author": "Nirvana", "year": 1991, "qty": 916, "price": 15.95}, 10 | {"title": "Autobahn", "type": "music", "author": "Kraftwerk", "year": 1974, "qty": 2261, "price": 23.98}, 11 | {"title": "Kind of Blue", "type": "music", "author": "Miles Davis", "year": 1959, "qty": 9735, "price": 21.90}, 12 | {"title": "Back in Black", "type": "music", "author": "AC/DC", "year": 1980, "qty": 3895, "price": 17.99}, 13 | {"title": "The Dark Side of the Moon", "type": "music", "author": "Pink Floyd", "year": 1973, "qty": 263, "price": 17.99}, 14 | {"title": "Sgt. Pepper's Lonely Hearts Club Band", "type": "music", "author": "The Beatles", "year": 1967, "qty": 521, "price": 13.98} 15 | ]}, 16 | {"title": "Electronics & Computers", "expanded": true, "folder": true, "children": [ 17 | {"title": "Cell Phones", "folder": true, "children": [ 18 | {"title": "Moto G", "type": "phone", "author": "Motorola", "year": 2014, "qty": 332, "price": 224.99}, 19 | {"title": "Galaxy S8", "type": "phone", "author": "Samsung", "year": 2016, "qty": 952, "price": 509.99}, 20 | {"title": "iPhone SE", "type": "phone", "author": "Apple", "year": 2016, "qty": 444, "price": 282.75}, 21 | {"title": "G6", "type": "phone", "author": "LG", "year": 2017, "qty": 951, "price": 309.99}, 22 | {"title": "Lumia", "type": "phone", "author": "Microsoft", "year": 2014, "qty": 32, "price": 205.95}, 23 | {"title": "Xperia", "type": "phone", "author": "Sony", "year": 2014, "qty": 77, "price": 195.95}, 24 | {"title": "3210", "type": "phone", "author": "Nokia", "year": 1999, "qty": 3, "price": 85.99} 25 | ]}, 26 | {"title": "Computers", "folder": true, "children": [ 27 | {"title": "ThinkPad", "type": "computer", "author": "IBM", "year": 1992, "qty": 16, "price": 749.90}, 28 | {"title": "C64", "type": "computer", "author": "Commodore", "year": 1982, "qty": 83, "price": 595.00}, 29 | {"title": "MacBook Pro", "type": "computer", "author": "Apple", "year": 2006, "qty": 482, "price": 1949.95}, 30 | {"title": "Sinclair ZX Spectrum", "type": "computer", "author": "Sinclair Research", "year": 1982, "qty": 1, "price": 529}, 31 | {"title": "Apple II", "type": "computer", "author": "Apple", "year": 1977, "qty": 17, "price": 1298}, 32 | {"title": "PC AT", "type": "computer", "author": "IBM", "year": 1984, "qty": 3, "price": 1235.00} 33 | ]} 34 | ]}, 35 | {"title": "More...", "folder": true, "lazy": true} 36 | ] 37 | -------------------------------------------------------------------------------- /demo/ajax-tree-products2.json: -------------------------------------------------------------------------------- 1 | [ 2 | {"title": "Books & Audible", "expanded": true, "folder": true, "children": [ 3 | {"title": "Books", "expanded": true, "folder": true, "children": [ 4 | {"title": "General Books"}, 5 | {"title": "Kindle Books"}, 6 | {"title": "Books For Study"}, 7 | {"title": "Audiobooks"} 8 | ]}, 9 | {"title": "Movies, TV, Music, Games", "folder": true, "children": [ 10 | {"title": "Music"}, 11 | {"title": "MP3 Downloads"}, 12 | {"title": "Musical Instruments & DJ"}, 13 | {"title": "Film & TV"}, 14 | {"title": "Blue-ray"}, 15 | {"title": "PC & Video Games"} 16 | ]}, 17 | {"title": "Electronics & Computers", "expanded": true, "folder": true, "children": [ 18 | {"title": "Electronics", "folder": true, "children": [ 19 | {"title": "Camera & Photo"}, 20 | {"title": "TV & Home Cinema"}, 21 | {"title": "Audio & HiFi"}, 22 | {"title": "Sat Nav & Car Electronics"}, 23 | {"title": "Phones"}, 24 | {"title": "Electronic Accessories"} 25 | ]}, 26 | {"title": "Computers", "folder": true, "children": [ 27 | {"title": "Laptops"}, 28 | {"title": "Tablets"}, 29 | {"title": "Computer & Accessories"}, 30 | {"title": "Computer Components"}, 31 | {"title": "Software"}, 32 | {"title": "Printers & Ink"} 33 | ]} 34 | ]} 35 | ]} 36 | ] 37 | -------------------------------------------------------------------------------- /demo/ajax-tree-taxonomy.json: -------------------------------------------------------------------------------- 1 | [ 2 | {"title": "Animalia", "expanded": true, "folder": true, "children": [ 3 | {"title": "Chordate", "folder": true, "children": [ 4 | {"title": "Mammal", "children": [ 5 | {"title": "Primate", "children": [ 6 | {"title": "Primate", "children": [ 7 | ]}, 8 | {"title": "Carnivora", "children": [ 9 | ]} 10 | ]}, 11 | {"title": "Carnivora", "children": [ 12 | {"title": "Felidae", "lazy": true} 13 | ]} 14 | ]} 15 | ]}, 16 | {"title": "Arthropoda", "expanded": true, "folder": true, "children": [ 17 | {"title": "Insect", "children": [ 18 | {"title": "Diptera", "lazy": true} 19 | ]} 20 | ]} 21 | ]} 22 | ] 23 | -------------------------------------------------------------------------------- /demo/ajax-tree.json: -------------------------------------------------------------------------------- 1 | [ 2 | {"title": "simple node (no explicit id, so a default key is generated)" }, 3 | {"key": "2", "title": "item1 with key and tooltip", "tooltip": "Look, a tool tip!" }, 4 | {"key": "3", "title": "item2 with html inside a span tag" }, 5 | {"key": "4", "title": "this nodes uses 'nolink', so no <a> tag is generated", "nolink": true}, 6 | {"key": "5", "title": "using href", "href": "https://wwWendt.de/" }, 7 | {"key": "6", "title": "node with some extra classes (will be added to the generated markup)", "extraClasses": "my-extra-class" }, 8 | {"key": "10", "title": "Folder 1", "folder": true, "children": [ 9 | {"key": "10_1", "title": "Sub-item 1.1", "children": [ 10 | {"key": "10_1_1", "title": "Sub-item 1.1.1"}, 11 | {"key": "10_1_2", "title": "Sub-item 1.1.2"} 12 | ]}, 13 | {"key": "10_2", "title": "Sub-item 1.2", "children": [ 14 | {"key": "10_2_1", "title": "Sub-item 1.2.1"}, 15 | {"key": "10_2_2", "title": "Sub-item 1.2.2"} 16 | ]} 17 | ]}, 18 | {"key": "20", "title": "Simple node with active children (expand)", "expanded": true, "children": [ 19 | {"key": "20_1", "title": "Sub-item 2.1", "children": [ 20 | {"key": "20_1_1", "title": "Sub-item 2.1.1"}, 21 | {"key": "20_1_2", "title": "Sub-item 2.1.2"} 22 | ]}, 23 | {"key": "20_2", "title": "Sub-item 2.2", "children": [ 24 | {"key": "20_2_1", "title": "Sub-item 2.2.1"}, 25 | {"key": "20_2_2", "title": "Sub-item 2.2.2"} 26 | ]} 27 | ]}, 28 | {"key": "30", "title": "Lazy folder", "folder": true, "lazy": true }, 29 | {"key": "31", "title": "Lazy folder (preload)", "folder": true, "lazy": true, "preload": true }, 30 | {"key": "32", "title": "Lazy folder (expand on load)", "folder": true, "lazy": true, "expanded": true } 31 | ] 32 | -------------------------------------------------------------------------------- /demo/ajax-tree.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Node 1 4 | 5 | 6 | Node 2 (expanded folder) 7 | 8 | 9 | Node 2.1 10 | 11 | 12 | Node 2.2 13 | 14 | 15 | 16 | 17 | Node 3 (collapsed folder) 18 | 19 | 20 | Node 3.1 21 | 22 | 23 | Node 3.2 24 | 25 | 26 | 27 | 28 | Node 4 (lazy) 29 | 30 | 31 | -------------------------------------------------------------------------------- /demo/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Fancytree - Example Browser 9 | 10 | 11 | 13 | 14 | 16 | 17 | 18 | 19 | 20 | 21 | <body> 22 | <p>This page requires frames.</p> 23 | </body> 24 | 25 | 26 | -------------------------------------------------------------------------------- /demo/nav_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/demo/nav_bg.png -------------------------------------------------------------------------------- /demo/sample-aria.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Fancytree - WAI-ARIA Tree View 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 22 | 23 | 46 | 47 | 48 | 49 |

Example: WAI-ARIA Tree View

50 |
51 |

52 | This Fancytree Tree View has 53 | WAI-ARIA 54 | enabled.
55 | Note: please 56 | provide feedback 57 | if you have suggestions for improvement. 58 |

59 |

60 | See also the ARIA Tree Grid example. 61 |

62 |
63 | 64 |
65 | 66 | 67 |
68 |
69 | 70 | 71 |
72 | 73 | 74 |
75 | 81 | 82 | 83 | 84 | 85 | -------------------------------------------------------------------------------- /demo/sample-default.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Fancytree - Example 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 26 | 27 | 28 | 29 |

Example: Default

30 |
31 | This tree uses default options.
32 | It is initialized from a hidden <ul> element on this page. 33 |
34 |
35 | 36 |
37 |
38 | 69 |
70 | 71 | 72 |
73 | 79 | 80 | 81 | 82 | 83 | -------------------------------------------------------------------------------- /demo/sample-ext-childcounter.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Fancytree - Example: childcounter 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 24 | 25 | 26 | 48 | 49 | 50 | 51 |

Example: 'childcounter' extension

52 |
53 |

54 | Display count of children at parent node. 55 |

56 |

57 | The main puropse of this extension is to serve as an example for 58 | Fanytree's the general extension concept: 59 |
60 | See the 61 | annotated source 62 | to learn how to write a Fancytree extension.
63 | Click the [View source code] link below, to see how an extension is used. 64 |

65 |

66 | Status: beta 67 |

68 |
69 | 70 |
71 | 72 |
73 | 74 |
75 |
76 | 77 | 78 |
79 | 85 | 86 | 87 | 88 | 89 | -------------------------------------------------------------------------------- /demo/sample-ext-menu.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Fancytree - Example: Menu 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 20 | 21 | 22 |

Example: 'menu' extension

23 |
24 |

25 | Fancytree does not include a native context menu extension.
26 | A context menu is typically used for multiple elements of a web 27 | application and the appearance should be consistent everywhere. 28 |

29 | However, using an existing context menu plugin is easy. 30 | It normally only requires to call $.ui.fancytree.getNode(element) 31 | in the respective callback handler and then trigger the desired 32 | operation. 33 |

34 | Examples of existing third party context menus include: 35 |

56 |

57 |
58 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /demo/sample-iframe-1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Fancytree - Example 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 29 | 30 | 31 | 32 |

33 | This page lives inside an iframe
34 | Click a link in the tree to load some content here. 35 |
36 | This button demonstrates, ho to access a tree in another frame: 37 | 38 |
39 | View the source of this iframe content, 40 | to see how it can be done. 41 |

42 | 43 | 44 | -------------------------------------------------------------------------------- /demo/sample-playground.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Fancytree - Example 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |

Example: Playground

21 | 22 |
23 | This tree is initialized from a data structure. 24 |
25 | 26 |

28 | 29 | See the Pen Fancytree Demo 30 | by Martin Wendt (@mar10) 31 | on CodePen. 32 |

33 | 34 | 40 | 41 | 52 | 59 | 60 | 61 | 62 | -------------------------------------------------------------------------------- /demo/sample-rtl.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Fancytree - Example: RTL 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 22 | 56 | 57 | 58 | 59 |

Example: RTL

60 |

61 | This tree uses some extra styles to provide RTL support (experimental). 62 |

63 |
64 | Skin: 65 |
66 | 67 |
68 |
69 | 70 | 71 |
72 | 78 | 79 | 80 | 81 | 82 | -------------------------------------------------------------------------------- /demo/sample-types.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Fancytree - Example: Types 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 40 | 41 | 61 | 62 | 63 | 64 | 65 |

Example: Node Types

66 |
67 | Used shared configuration per node type. 68 |
69 | See the Node Type Tutorial 71 | for details. 72 |
73 |
74 | 75 |
76 | 77 |

78 |

79 | 80 |
81 |
82 | 83 | 84 |
85 | 91 | 92 | 93 | 94 | 95 | -------------------------------------------------------------------------------- /demo/sample-xxl.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Fancytree - Example 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 32 | 33 | 34 | 35 |

Example: Default

36 |
37 | This tree uses default options.
38 | It is initialized from a hidden <ul> element on this page. 39 |
40 |
41 | 42 |
43 |
44 | 74 |
75 | 76 | 77 |
78 | 84 | 85 | 86 | 87 | 88 | -------------------------------------------------------------------------------- /demo/skin-custom/accept.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/demo/skin-custom/accept.png -------------------------------------------------------------------------------- /demo/skin-custom/arrow_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/demo/skin-custom/arrow_right.png -------------------------------------------------------------------------------- /demo/skin-custom/bug.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/demo/skin-custom/bug.png -------------------------------------------------------------------------------- /demo/skin-custom/cancel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/demo/skin-custom/cancel.png -------------------------------------------------------------------------------- /demo/skin-custom/custom.css: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Sample for a Dynatree custom stylesheet. 3 | * This is expected to be included after the standard ui.dynatree.css, thus 4 | * overridung the defaults. 5 | */ 6 | .dynatree-has-children span.dynatree-icon 7 | { 8 | background-position: 0 0; 9 | background-image: url("doc_with_children.gif"); 10 | } 11 | 12 | .dynatree-ico-cf span.dynatree-icon /* Collapsed Folder */ 13 | { 14 | background-image: url("folder_docs.gif"); 15 | } 16 | 17 | .dynatree-ico-ef span.dynatree-icon /* Expanded Folder */ 18 | { 19 | background-image: url("folder_images.gif"); 20 | } 21 | 22 | 23 | /******************************************************************************* 24 | * Node titles 25 | */ 26 | 27 | span.dynatree-has-children a 28 | { 29 | font-style: oblique; 30 | } 31 | 32 | span.dynatree-selected a 33 | { 34 | color: green; 35 | font-style: italic; 36 | } 37 | 38 | span.dynatree-active a, 39 | span.dynatree-active a:hover 40 | { 41 | border: 1px solid maroon; 42 | background-color: #FAD8F0 !important; /* reddish */ 43 | } 44 | 45 | 46 | /******************************************************************************* 47 | * Custom node classes (sample) 48 | */ 49 | 50 | span.custom1 a 51 | { 52 | background-color: #ffffbb; 53 | color: maroon; 54 | } 55 | span.custom1 span.dynatree-icon 56 | { 57 | background-position: 0 0; 58 | background-image: url("customDoc2.gif"); 59 | } 60 | 61 | span.custom2 a 62 | { 63 | font-weight: bold; 64 | background-color: silver; 65 | color: navy; 66 | } 67 | span.custom2 span.dynatree-icon 68 | { 69 | background-position: 0 0; 70 | background-image: url("folder_page.gif"); 71 | } 72 | -------------------------------------------------------------------------------- /demo/skin-custom/customDoc1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/demo/skin-custom/customDoc1.gif -------------------------------------------------------------------------------- /demo/skin-custom/customDoc2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/demo/skin-custom/customDoc2.gif -------------------------------------------------------------------------------- /demo/skin-custom/customFolder1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/demo/skin-custom/customFolder1.gif -------------------------------------------------------------------------------- /demo/skin-custom/doc_with_children.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/demo/skin-custom/doc_with_children.gif -------------------------------------------------------------------------------- /demo/skin-custom/emoticon_smile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/demo/skin-custom/emoticon_smile.png -------------------------------------------------------------------------------- /demo/skin-custom/emoticon_unhappy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/demo/skin-custom/emoticon_unhappy.png -------------------------------------------------------------------------------- /demo/skin-custom/error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/demo/skin-custom/error.png -------------------------------------------------------------------------------- /demo/skin-custom/exclamation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/demo/skin-custom/exclamation.png -------------------------------------------------------------------------------- /demo/skin-custom/eye.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/demo/skin-custom/eye.png -------------------------------------------------------------------------------- /demo/skin-custom/flag_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/demo/skin-custom/flag_red.png -------------------------------------------------------------------------------- /demo/skin-custom/folder_bug.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/demo/skin-custom/folder_bug.png -------------------------------------------------------------------------------- /demo/skin-custom/folder_docs.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/demo/skin-custom/folder_docs.gif -------------------------------------------------------------------------------- /demo/skin-custom/folder_images.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/demo/skin-custom/folder_images.gif -------------------------------------------------------------------------------- /demo/skin-custom/folder_page.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/demo/skin-custom/folder_page.gif -------------------------------------------------------------------------------- /demo/skin-custom/help.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/demo/skin-custom/help.png -------------------------------------------------------------------------------- /demo/skin-custom/key.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/demo/skin-custom/key.png -------------------------------------------------------------------------------- /demo/skin-custom/new.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/demo/skin-custom/new.png -------------------------------------------------------------------------------- /demo/skin-custom/note.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/demo/skin-custom/note.png -------------------------------------------------------------------------------- /demo/skin-custom/page_white_lightning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/demo/skin-custom/page_white_lightning.png -------------------------------------------------------------------------------- /demo/skin-custom/page_white_star.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/demo/skin-custom/page_white_star.png -------------------------------------------------------------------------------- /demo/taxonomy-browser/LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright 2015 Martin Wendt, 2 | https://wwWendt.de/ 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining 5 | a copy of this software and associated documentation files (the 6 | "Software"), to deal in the Software without restriction, including 7 | without limitation the rights to use, copy, modify, merge, publish, 8 | distribute, sublicense, and/or sell copies of the Software, and to 9 | permit persons to whom the Software is furnished to do so, subject to 10 | the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be 13 | included in all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 16 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 17 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 18 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 19 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 20 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 21 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /demo/taxonomy-browser/README.md: -------------------------------------------------------------------------------- 1 | Taxonomy Browser 2 | 3 | Created as a demo for [Fancytree](https://github.com/mar10/fancytree/). 4 | Uses 5 | - jQuery 6 | - Bootstrap.js 7 | - Handlebars.js 8 | - Fancytree 9 | -------------------------------------------------------------------------------- /demo/taxonomy-browser/TODO.md: -------------------------------------------------------------------------------- 1 | # Taxonomy Browser TODOs 2 | ## Fancytree 3 | 4 | - bootstrap theme 'jumps' just before expand animation ends 5 | 6 | - ext-wide: broken selecton bar when depth > 20 7 | 8 | - smart expand mode 9 | The tree gets way too large 10 | 11 | - Search could be improved. 12 | - restrict search row height to 1 em 13 | - DOWN key in search box should focus first result entry 14 | - After clicking a link, we should jump to the details? 15 | - Result should be collapsibel without dismissing the query? 16 | 17 | - concept: 'sparse tree': `node.partload = true`. 18 | only shows the parent paths, but knows that those parents may have more children, 19 | that need to be reloaded later. 20 | -> use to load Path to target species without reqursive loadPath requests. 21 | 22 | - Table: 23 | Support re-definition of colum templates (i.e. adding removing columns) 24 | - https://github.com/mar10/fancytree/issues/436 25 | 26 | 27 | ## GUI 28 | 29 | - Marine / Extinct / Terrestrial may have multiple values 30 | - Print mode 31 | -------------------------------------------------------------------------------- /demo/taxonomy-browser/busy_bg_eee.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/demo/taxonomy-browser/busy_bg_eee.png -------------------------------------------------------------------------------- /demo/taxonomy-browser/busy_bg_fff.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/demo/taxonomy-browser/busy_bg_fff.png -------------------------------------------------------------------------------- /demo/taxonomy-browser/header.tmpl.html: -------------------------------------------------------------------------------- 1 | {{#if vernacularName}} {{vernacularName}} {{else}} {{canonicalName}} {{/if}} 2 | {{#if profile.extinct}} Extinct {{/if}} 3 | {{rank}} 4 | -------------------------------------------------------------------------------- /demo/taxonomy-browser/info-pane.tmpl.html: -------------------------------------------------------------------------------- 1 | 2 |

3 | {{#if vernacularName}} {{vernacularName}} {{else}} {{canonicalName}} {{/if}} 4 | {{#if profile.extinct}} Extinct {{/if}} 5 | {{rank}} 6 |

7 | 8 | 21 | 22 |
23 |
24 | {{> tmplDetails}} 25 |
26 |
27 | {{> tmplMedia}} 28 |
29 |
30 |
31 | 32 | Accessed via GBIF Secretariat: GBIF Backbone Taxonomy on {{now}}.
33 | Open Authorative Information on GBIF. 34 |
35 | -------------------------------------------------------------------------------- /demo/taxonomy-browser/media.tmpl.html: -------------------------------------------------------------------------------- 1 |
2 | {{#if media}} 3 | 30 | 31 | {{else}} 32 | No media. 33 | {{/if}} 34 |
-------------------------------------------------------------------------------- /demo/taxonomy-browser/style.css: -------------------------------------------------------------------------------- 1 | body { 2 | padding: 0 1em; 3 | } 4 | 5 | /* Style distinct search result columns */ 6 | /* 7 | #searchResultTree th:nth-child(1), 8 | #searchResultTree td:nth-child(1) { 9 | } 10 | */ 11 | 12 | /* Style tree container */ 13 | #taxonTree { 14 | padding-bottom: 20px; 15 | } 16 | #taxonTree .fancytree-container { 17 | border: 1px solid #ccc; 18 | border-radius: 3px; 19 | max-height: 600px; 20 | overflow: auto; 21 | } 22 | 23 | #searchResultTree td > div.truncate { 24 | max-height: 3em; 25 | /*max-width: 100%;*/ 26 | overflow: hidden; 27 | text-overflow: ellipsis; 28 | /*white-space: nowrap;*/ 29 | /*color: red;*/ 30 | } 31 | 32 | /* Set to different containers while requests are pending:; */ 33 | .busy { 34 | color: gray; 35 | background-image: url("busy_bg_fff.png"); 36 | background-repeat: repeat; 37 | } 38 | 39 | /* Improve connection lines for bootstrap pane tabs */ 40 | div.panel[role=tabpanel] { 41 | border-top-width: 0; 42 | border-top-right-radius: 0; 43 | border-top-left-radius: 0; 44 | padding: 3px; 45 | } 46 | 47 | /* Fix alignment for bootstrap media list */ 48 | .media-left { 49 | display: inline-block; 50 | vertical-align: top; 51 | } 52 | .media-body { 53 | display: inline-block; 54 | } 55 | 56 | /* Fix bootstrap media thumbnails */ 57 | a.thumbnail { 58 | overflow: hidden; 59 | } 60 | a.thumbnail:hover, 61 | a.thumbnail:active { 62 | text-decoration: none; 63 | } 64 | 65 | /* Fix bootstrap media carousel */ 66 | div.carousel-inner >.item >img { 67 | max-height: 40em; 68 | /*height: 50em;*/ 69 | } 70 | img.media-object { 71 | max-height: 64px; 72 | max-width: 64px; 73 | } 74 | -------------------------------------------------------------------------------- /demo/taxonomy-browser/test_gbif_ws.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Test GBIF Webservice 6 | 7 | 8 | 28 | 29 | 30 | 31 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /demo/taxonomy-browser/test_itis_ws.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Test ITIS Webservice 6 | 7 | 8 | 77 | 78 | 79 | 80 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | -------------------------------------------------------------------------------- /demo/top.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Fancytree - Example Browser 7 | 8 | 30 | 31 | 32 | 33 |

34 | Fancytree - Example Browser 35 | 39 |

40 | 41 | 42 | -------------------------------------------------------------------------------- /demo/welcome.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Fancytree - Example 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |

Fancytree - Examples

15 |

16 | Fancytree is a JavaScript tree view / tree grid plugin with support for keyboard, 17 | inline editing, filtering, checkboxes, drag'n'drop, and lazy loading. 18 |

19 |

20 | This site presents some live examples for Fancytree.
21 |
22 | Select a topic on the navigator to the left and click 'View source code' 23 | at the bottom of the sample frame for details.
24 |
25 | More documentation and infos can be found at the 26 | Documentation Wiki.
27 |
28 | Have fun :-) 29 |

30 | 31 | 32 | 33 | Fork me on GitHub 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /dist/LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright 2008-2023 Martin Wendt, 2 | https://wwWendt.de/ 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining 5 | a copy of this software and associated documentation files (the 6 | "Software"), to deal in the Software without restriction, including 7 | without limitation the rights to use, copy, modify, merge, publish, 8 | distribute, sublicense, and/or sell copies of the Software, and to 9 | permit persons to whom the Software is furnished to do so, subject to 10 | the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be 13 | included in all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 16 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 17 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 18 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 19 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 20 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 21 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /dist/skin-awesome/vline-rtl.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/dist/skin-awesome/vline-rtl.gif -------------------------------------------------------------------------------- /dist/skin-awesome/vline.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/dist/skin-awesome/vline.gif -------------------------------------------------------------------------------- /dist/skin-bootstrap-n/vline-rtl.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/dist/skin-bootstrap-n/vline-rtl.gif -------------------------------------------------------------------------------- /dist/skin-bootstrap-n/vline.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/dist/skin-bootstrap-n/vline.gif -------------------------------------------------------------------------------- /dist/skin-bootstrap/vline-rtl.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/dist/skin-bootstrap/vline-rtl.gif -------------------------------------------------------------------------------- /dist/skin-bootstrap/vline.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/dist/skin-bootstrap/vline.gif -------------------------------------------------------------------------------- /dist/skin-custom-1/README.md: -------------------------------------------------------------------------------- 1 | ### Creating Custom Skins 2 | 3 | 1. Create a folder like this (recommended name: 'src/skin-custom-...') 4 | 2. For a start, copy files from one of the existing skin folders (src/skin-...) 5 | to the custom folder: 6 | - ui.fancytree.less (required) 7 | - icons.gif (if needed) 8 | - loading.gif (if needed) 9 | 3. cd to your fancytree folder and run `grunt dev` from the console.
10 | Note: NPM and Grunt are required. 11 | Read [how to install the toolset](https://github.com/mar10/fancytree/wiki/HowtoContribute#install-the-source-code-and-tools-for-debugging-and-contributing). 12 | 4. Edit and save your ui.fancytree.less file.
13 | The `ui.fancytree.css` will be generated and updated automatically from 14 | the LESS file. 15 | -------------------------------------------------------------------------------- /dist/skin-lion/icons-rtl.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/dist/skin-lion/icons-rtl.gif -------------------------------------------------------------------------------- /dist/skin-lion/icons.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/dist/skin-lion/icons.gif -------------------------------------------------------------------------------- /dist/skin-lion/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/dist/skin-lion/loading.gif -------------------------------------------------------------------------------- /dist/skin-lion/vline-rtl.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/dist/skin-lion/vline-rtl.gif -------------------------------------------------------------------------------- /dist/skin-lion/vline.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/dist/skin-lion/vline.gif -------------------------------------------------------------------------------- /dist/skin-material/vline-rtl.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/dist/skin-material/vline-rtl.gif -------------------------------------------------------------------------------- /dist/skin-material/vline.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/dist/skin-material/vline.gif -------------------------------------------------------------------------------- /dist/skin-themeroller/icons-rtl.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/dist/skin-themeroller/icons-rtl.gif -------------------------------------------------------------------------------- /dist/skin-themeroller/icons.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/dist/skin-themeroller/icons.gif -------------------------------------------------------------------------------- /dist/skin-themeroller/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/dist/skin-themeroller/loading.gif -------------------------------------------------------------------------------- /dist/skin-themeroller/ui.fancytree.less: -------------------------------------------------------------------------------- 1 | /*! 2 | * Fancytree "ThemeRoller" skin. 3 | * This file should be included after a jQuery Themeroller style sheet. 4 | * It is meant to be used together with the ext-themeroller extension. 5 | * 6 | * DON'T EDIT THE CSS FILE DIRECTLY, since it is automatically generated from 7 | * the LESS templates. 8 | */ 9 | 10 | // Import common styles 11 | @import "../skin-common.less"; 12 | 13 | 14 | /******************************************************************************* 15 | * Styles specific to this skin. 16 | * 17 | * This section is automatically generated from the `ui-fancytree.less` template. 18 | ******************************************************************************/ 19 | 20 | 21 | // Override the variable after the import. 22 | // NOTE: Variables are always resolved as the last definition, even if it is 23 | // after where it is used. 24 | @fancy-use-sprites: true; // false: suppress all background images (i.e. icons) 25 | 26 | @fancy-line-height: 20px; // height of a nodes selection bar including borders 27 | @fancy-node-v-spacing: 0px; // gap between two node borders 28 | @fancy-icon-width: 16px; 29 | @fancy-icon-height: 16px; 30 | @fancy-icon-spacing: 3px; // margin between icon/icon or icon/title 31 | @fancy-icon-ofs-top: 2px; // extra vertical offset for expander, checkbox and icon 32 | @fancy-title-ofs-top: 0px; // extra vertical offset for title 33 | @fancy-node-border-width: 1px; 34 | @fancy-node-border-radius: 0px; 35 | @fancy-node-outline-width: 1px; 36 | 37 | 38 | // We need to define this variable here (not in skin-common.less) to make it 39 | // work with grunt and webpack: 40 | @fancy-image-prefix: "./skin-themeroller/"; 41 | 42 | // Use 'data-uri(...)' to embed the image into CSS instead of linking to 'loading.gif': 43 | // @fancy-loading-url: data-uri("@{fancy-image-prefix}loading.gif"); 44 | // Set to `true` to use `data-uri(...)` which will embed icons.gif into CSS 45 | // instead of linking to that file: 46 | // @fancy-inline-sprites: true; 47 | 48 | /******************************************************************************* 49 | * Node titles 50 | */ 51 | .fancytree-plain { 52 | span.fancytree-node { 53 | border: @fancy-node-border-width solid transparent; // avoid jumping, when a border is added on hover 54 | } 55 | } 56 | 57 | /******************************************************************************* 58 | * 'table' extension 59 | */ 60 | table.fancytree-ext-table tbody { 61 | tr td { 62 | border: 1px solid transparent; 63 | } 64 | } 65 | -------------------------------------------------------------------------------- /dist/skin-themeroller/vline-rtl.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/dist/skin-themeroller/vline-rtl.gif -------------------------------------------------------------------------------- /dist/skin-themeroller/vline.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/dist/skin-themeroller/vline.gif -------------------------------------------------------------------------------- /dist/skin-vista/icons-rtl.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/dist/skin-vista/icons-rtl.gif -------------------------------------------------------------------------------- /dist/skin-vista/icons.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/dist/skin-vista/icons.gif -------------------------------------------------------------------------------- /dist/skin-vista/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/dist/skin-vista/loading.gif -------------------------------------------------------------------------------- /dist/skin-vista/vline-rtl.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/dist/skin-vista/vline-rtl.gif -------------------------------------------------------------------------------- /dist/skin-vista/vline.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/dist/skin-vista/vline.gif -------------------------------------------------------------------------------- /dist/skin-win7/icons-rtl.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/dist/skin-win7/icons-rtl.gif -------------------------------------------------------------------------------- /dist/skin-win7/icons.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/dist/skin-win7/icons.gif -------------------------------------------------------------------------------- /dist/skin-win7/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/dist/skin-win7/loading.gif -------------------------------------------------------------------------------- /dist/skin-win7/vline-rtl.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/dist/skin-win7/vline-rtl.gif -------------------------------------------------------------------------------- /dist/skin-win7/vline.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/dist/skin-win7/vline.gif -------------------------------------------------------------------------------- /dist/skin-win8-n/icons-rtl.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/dist/skin-win8-n/icons-rtl.gif -------------------------------------------------------------------------------- /dist/skin-win8-n/icons.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/dist/skin-win8-n/icons.gif -------------------------------------------------------------------------------- /dist/skin-win8-n/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/dist/skin-win8-n/loading.gif -------------------------------------------------------------------------------- /dist/skin-win8-n/vline-rtl.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/dist/skin-win8-n/vline-rtl.gif -------------------------------------------------------------------------------- /dist/skin-win8-n/vline.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/dist/skin-win8-n/vline.gif -------------------------------------------------------------------------------- /dist/skin-win8-xxl/icons-rtl.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/dist/skin-win8-xxl/icons-rtl.gif -------------------------------------------------------------------------------- /dist/skin-win8-xxl/icons.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/dist/skin-win8-xxl/icons.gif -------------------------------------------------------------------------------- /dist/skin-win8-xxl/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/dist/skin-win8-xxl/loading.gif -------------------------------------------------------------------------------- /dist/skin-win8-xxl/ui.fancytree.less: -------------------------------------------------------------------------------- 1 | /*! 2 | * Fancytree "Win8" 32x32 skin. 3 | * 4 | * DON'T EDIT THE CSS FILE DIRECTLY, since it is automatically generated from 5 | * the LESS templates. 6 | */ 7 | 8 | // Import common styles 9 | @import "../skin-common.less"; 10 | 11 | // Import standard win8 12 | @import "../skin-win8/ui.fancytree.less"; 13 | 14 | 15 | // Override the variable after the import. 16 | // NOTE: Variables are always resolved as the last definition, even if it is 17 | // after where it is used. 18 | @fancy-use-sprites: true; // false: suppress all background images (i.e. icons) 19 | 20 | @fancy-level-indent: 32px; 21 | @fancy-line-height: 32px; // height of a nodes selection bar including borders 22 | @fancy-node-v-spacing: 1px; // gap between two node borders 23 | @fancy-icon-width: 32px; 24 | @fancy-icon-height: 32px; 25 | @fancy-icon-spacing: 6px; // margin between icon/icon or icon/title 26 | @fancy-icon-ofs-top: 0px; // extra vertical offset for expander, checkbox and icon 27 | @fancy-title-ofs-top: 0px; // extra vertical offset for title 28 | @fancy-node-border-width: 1px; 29 | @fancy-node-border-radius: 0px; 30 | @fancy-node-outline-width: 1px; 31 | 32 | // We need to define this variable here (not in skin-common.less) to make it 33 | // work with grunt and webpack: 34 | @fancy-image-prefix: "./skin-win8-xxl/"; 35 | 36 | ul.fancytree-container { 37 | // font-family: tahoma, arial, helvetica; 38 | font-size: 20pt; 39 | padding: 6px; 40 | } 41 | -------------------------------------------------------------------------------- /dist/skin-win8-xxl/vline-rtl.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/dist/skin-win8-xxl/vline-rtl.gif -------------------------------------------------------------------------------- /dist/skin-win8-xxl/vline.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/dist/skin-win8-xxl/vline.gif -------------------------------------------------------------------------------- /dist/skin-win8/icons-rtl.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/dist/skin-win8/icons-rtl.gif -------------------------------------------------------------------------------- /dist/skin-win8/icons.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/dist/skin-win8/icons.gif -------------------------------------------------------------------------------- /dist/skin-win8/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/dist/skin-win8/loading.gif -------------------------------------------------------------------------------- /dist/skin-win8/vline-rtl.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/dist/skin-win8/vline-rtl.gif -------------------------------------------------------------------------------- /dist/skin-win8/vline.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/dist/skin-win8/vline.gif -------------------------------------------------------------------------------- /dist/skin-xp/icons-rtl.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/dist/skin-xp/icons-rtl.gif -------------------------------------------------------------------------------- /dist/skin-xp/icons.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/dist/skin-xp/icons.gif -------------------------------------------------------------------------------- /dist/skin-xp/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/dist/skin-xp/loading.gif -------------------------------------------------------------------------------- /dist/skin-xp/vline-rtl.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/dist/skin-xp/vline-rtl.gif -------------------------------------------------------------------------------- /dist/skin-xp/vline.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/dist/skin-xp/vline.gif -------------------------------------------------------------------------------- /doc/README.md: -------------------------------------------------------------------------------- 1 | *Class API Reference for the [Fancytree JavaScript tree view / tree grid](https://github.com/mar10/fancytree/).* 2 | 3 | See also the [Fancytree Documentation Wiki](https://github.com/mar10/fancytree/wiki/). 4 | -------------------------------------------------------------------------------- /doc/annotated-src/.folder: -------------------------------------------------------------------------------- 1 | # Folder content is generated by build process 2 | -------------------------------------------------------------------------------- /doc/fancytree_benchmarks.txt: -------------------------------------------------------------------------------- 1 | # Fancytree benchmarks 2 | 3 | Results for 4 | http://localhost:8080/test/unit/test-bench.html 5 | 6 | ## MacBook Pro early 2011, i5, 2,3GHz, 4GB 7 | Safari 10.0.3 8 | - 2017-02-14: jQuery 3.1.1, jQuery UI 1.12.1, 9 | use _super instead of _superApply: 2220 ms 10 | 1440 11 | - 2017-02-14: jQuery 3.1.1, jQuery UI 1.12.1: 2180 ms 12 | 1413 13 | - 2017-02-14: jQuery 1.12.1, jQuery UI 1.11.4: 2440 ms 14 | 15 | ## MacBook Pro 2016, i5, 2,9GHz, 8GB 16 | Safari 11.1 17 | - 2018-05-12: jQuery 3.1.1, jQuery UI 1.12.1: 2220 ms 18 | cumulated:680 19 | -------------------------------------------------------------------------------- /doc/iconInfo_32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/doc/iconInfo_32x32.png -------------------------------------------------------------------------------- /doc/icons_layout.ods: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/doc/icons_layout.ods -------------------------------------------------------------------------------- /doc/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Fancytree Documentation 6 | 7 | 8 | 9 | 16 | 17 | 18 | 19 | 20 | 21 | 22 |

Fancytree Documentation

23 | 24 | Has moved to the Documentation Wiki. 25 | 26 | 27 | -------------------------------------------------------------------------------- /doc/jsdoc.conf.json: -------------------------------------------------------------------------------- 1 | { 2 | "tags" : { 3 | "allowUnknownTags" : true 4 | }, 5 | "plugins" : ["plugins/markdown"], 6 | "templates" : { 7 | "cleverLinks" : false, 8 | "monospaceLinks" : false, 9 | "default" : { 10 | "includeDate": true, 11 | "outputSourceFiles" : true 12 | }, 13 | "moogle" : { 14 | "analytics" : { "ua": "UA-316028-1", "domain": "auto" }, 15 | "ghForkMe" : { "url": "https://github.com/mar10/fancytree/" }, 16 | "footer" : "", 17 | "copyright" : "Fancytree Copyright © 2008-2021 Martin Wendt and contributors." 18 | } 19 | }, 20 | "markdown" : { 21 | "parser" : "gfm", 22 | "hardwrap" : true 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /doc/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/doc/logo.png -------------------------------------------------------------------------------- /doc/teaser.pdn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/doc/teaser.pdn -------------------------------------------------------------------------------- /doc/teaser1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/doc/teaser1.png -------------------------------------------------------------------------------- /doc/teaser2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/doc/teaser2.png -------------------------------------------------------------------------------- /doc/tutorials/howto-events.md: -------------------------------------------------------------------------------- 1 | #Howto write events 2 | 3 | TODO 4 | -------------------------------------------------------------------------------- /favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/favicon.ico -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Fancytree 6 | 7 | 8 | 9 |

fancytree.js

10 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /jsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ES6" 4 | }, 5 | "exclude": [ 6 | "build", 7 | "dist", 8 | "node_modules", 9 | "**/node_modules/*" 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /lib/Super-Theme-Switcher/README.md: -------------------------------------------------------------------------------- 1 | Super Theme Switcher is a jQuery plugin based on the original jQuery theme switcher that is no longer hosted or supported by the jQuery UI project. 2 | 3 | ### Example: 4 | $('#switcher').themeswitcher({ 5 | imgpath: "images/", 6 | loadTheme: "dot-luv" 7 | }); 8 | 9 | But since all parameters are optional you can just use it like this: 10 | $('#switcher').themeswitcher(); 11 | 12 | ### Options 13 | 14 | * **imgPath**: String, path to image directory where theme icons are located 15 | * **rounded**: Boolean, rounded corners on themeswitcher link and dropdown 16 | * **themes**: An array of theme objects that will override the default themes. 17 | [{title:"My theme",name:"my-theme",icon:"my-icon.png",url:"http://url-to-my-css-file.css"}] 18 | * **additionalThemes**: An array of theme objects that will be INCLUDED along with the default themes. 19 | [{title:"My theme",name:"my-theme",icon:"my-icon.png",url:"http://url-to-my-css-file.css"}] 20 | * **jqueryUiVersion**: String, jQuery UI version of themes (Default themes are linked from Google CDN) 21 | * **themePath**: String, Base path to where the jQuery UI CSS themes are located (Default is Google CDN) 22 | 23 | Demo located [here](http://dl.dropbox.com/u/188460/themeswitcher/sample.htm). 24 | 25 | This plugin includes the awesome jQuery cookie plugin by Klaus Hartl found [here](https://github.com/carhartl/jquery-cookie) 26 | 27 | Contact 28 | ---- 29 | [@davehoff](http://www.twitter.com/davehoff) -------------------------------------------------------------------------------- /lib/Super-Theme-Switcher/images/buttonbg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/lib/Super-Theme-Switcher/images/buttonbg.png -------------------------------------------------------------------------------- /lib/Super-Theme-Switcher/images/icon_color_arrow.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/lib/Super-Theme-Switcher/images/icon_color_arrow.gif -------------------------------------------------------------------------------- /lib/Super-Theme-Switcher/images/menuhoverbg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/lib/Super-Theme-Switcher/images/menuhoverbg.png -------------------------------------------------------------------------------- /lib/Super-Theme-Switcher/images/theme_90_base.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/lib/Super-Theme-Switcher/images/theme_90_base.png -------------------------------------------------------------------------------- /lib/Super-Theme-Switcher/images/theme_90_black_matte.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/lib/Super-Theme-Switcher/images/theme_90_black_matte.png -------------------------------------------------------------------------------- /lib/Super-Theme-Switcher/images/theme_90_black_tie.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/lib/Super-Theme-Switcher/images/theme_90_black_tie.png -------------------------------------------------------------------------------- /lib/Super-Theme-Switcher/images/theme_90_blitzer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/lib/Super-Theme-Switcher/images/theme_90_blitzer.png -------------------------------------------------------------------------------- /lib/Super-Theme-Switcher/images/theme_90_cupertino.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/lib/Super-Theme-Switcher/images/theme_90_cupertino.png -------------------------------------------------------------------------------- /lib/Super-Theme-Switcher/images/theme_90_dark_hive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/lib/Super-Theme-Switcher/images/theme_90_dark_hive.png -------------------------------------------------------------------------------- /lib/Super-Theme-Switcher/images/theme_90_dot_luv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/lib/Super-Theme-Switcher/images/theme_90_dot_luv.png -------------------------------------------------------------------------------- /lib/Super-Theme-Switcher/images/theme_90_eggplant.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/lib/Super-Theme-Switcher/images/theme_90_eggplant.png -------------------------------------------------------------------------------- /lib/Super-Theme-Switcher/images/theme_90_excite_bike.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/lib/Super-Theme-Switcher/images/theme_90_excite_bike.png -------------------------------------------------------------------------------- /lib/Super-Theme-Switcher/images/theme_90_flick.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/lib/Super-Theme-Switcher/images/theme_90_flick.png -------------------------------------------------------------------------------- /lib/Super-Theme-Switcher/images/theme_90_hot_sneaks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/lib/Super-Theme-Switcher/images/theme_90_hot_sneaks.png -------------------------------------------------------------------------------- /lib/Super-Theme-Switcher/images/theme_90_humanity.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/lib/Super-Theme-Switcher/images/theme_90_humanity.png -------------------------------------------------------------------------------- /lib/Super-Theme-Switcher/images/theme_90_le_frog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/lib/Super-Theme-Switcher/images/theme_90_le_frog.png -------------------------------------------------------------------------------- /lib/Super-Theme-Switcher/images/theme_90_mint_choco.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/lib/Super-Theme-Switcher/images/theme_90_mint_choco.png -------------------------------------------------------------------------------- /lib/Super-Theme-Switcher/images/theme_90_overcast.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/lib/Super-Theme-Switcher/images/theme_90_overcast.png -------------------------------------------------------------------------------- /lib/Super-Theme-Switcher/images/theme_90_pepper_grinder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/lib/Super-Theme-Switcher/images/theme_90_pepper_grinder.png -------------------------------------------------------------------------------- /lib/Super-Theme-Switcher/images/theme_90_smoothness.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/lib/Super-Theme-Switcher/images/theme_90_smoothness.png -------------------------------------------------------------------------------- /lib/Super-Theme-Switcher/images/theme_90_south_street.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/lib/Super-Theme-Switcher/images/theme_90_south_street.png -------------------------------------------------------------------------------- /lib/Super-Theme-Switcher/images/theme_90_start_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/lib/Super-Theme-Switcher/images/theme_90_start_menu.png -------------------------------------------------------------------------------- /lib/Super-Theme-Switcher/images/theme_90_sunny.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/lib/Super-Theme-Switcher/images/theme_90_sunny.png -------------------------------------------------------------------------------- /lib/Super-Theme-Switcher/images/theme_90_swanky_purse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/lib/Super-Theme-Switcher/images/theme_90_swanky_purse.png -------------------------------------------------------------------------------- /lib/Super-Theme-Switcher/images/theme_90_trontastic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/lib/Super-Theme-Switcher/images/theme_90_trontastic.png -------------------------------------------------------------------------------- /lib/Super-Theme-Switcher/images/theme_90_ui_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/lib/Super-Theme-Switcher/images/theme_90_ui_dark.png -------------------------------------------------------------------------------- /lib/Super-Theme-Switcher/images/theme_90_ui_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/lib/Super-Theme-Switcher/images/theme_90_ui_light.png -------------------------------------------------------------------------------- /lib/Super-Theme-Switcher/images/theme_90_windoze.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/lib/Super-Theme-Switcher/images/theme_90_windoze.png -------------------------------------------------------------------------------- /lib/Super-Theme-Switcher/sample.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Theme Switcher 5 | 6 | 7 | 8 | 9 | 23 | 24 | 25 | 26 |

27 |

28 |

29 | 30 |

31 | 32 |

33 | 34 |

35 |

36 |

37 | 38 |

39 |

40 |

41 | 42 | 43 | -------------------------------------------------------------------------------- /lib/amd-intro-require-jquery.js: -------------------------------------------------------------------------------- 1 | (function( factory ) { 2 | if ( typeof define === "function" && define.amd ) { 3 | // AMD. Register as an anonymous module. 4 | define( [ "jquery" ], factory ); 5 | } else if ( typeof module === "object" && module.exports ) { 6 | // Node/CommonJS 7 | module.exports = factory(require("jquery")); 8 | } else { 9 | // Browser globals 10 | factory( jQuery ); 11 | } 12 | }(function( $ ) { 13 | -------------------------------------------------------------------------------- /lib/amd-intro-require-local-ui.js: -------------------------------------------------------------------------------- 1 | // UMD wrapper for the Fancytree core module 2 | (function( factory ) { 3 | if ( typeof define === "function" && define.amd ) { 4 | // AMD. Register as an anonymous module. 5 | define( [ "jquery", "./jquery.fancytree.ui-deps" ], factory ); 6 | } else if ( typeof module === "object" && module.exports ) { 7 | // Node/CommonJS 8 | require("jquery.fancytree.ui-deps") 9 | module.exports = factory(require("jquery")); 10 | } else { 11 | // Browser globals 12 | factory( jQuery ); 13 | } 14 | }(function( $ ) { 15 | -------------------------------------------------------------------------------- /lib/amd-intro-require-native-ui.js: -------------------------------------------------------------------------------- 1 | (function( factory ) { 2 | if ( typeof define === "function" && define.amd ) { 3 | // AMD. Register as an anonymous module. 4 | define( [ 5 | "jquery", 6 | "jquery-ui/ui/widgets/mouse", 7 | "jquery-ui/ui/widgets/draggable", 8 | "jquery-ui/ui/widgets/droppable", 9 | "jquery-ui/ui/effects/effect-blind", 10 | "jquery-ui/ui/data", 11 | "jquery-ui/ui/effect", 12 | "jquery-ui/ui/focusable", 13 | "jquery-ui/ui/keycode", 14 | "jquery-ui/ui/position", 15 | "jquery-ui/ui/scroll-parent", 16 | "jquery-ui/ui/tabbable", 17 | "jquery-ui/ui/unique-id", 18 | "jquery-ui/ui/widget" 19 | ], factory ); 20 | } else if ( typeof module === "object" && module.exports ) { 21 | // Node/CommonJS 22 | module.exports = factory(require("jquery")); 23 | } else { 24 | // Browser globals 25 | factory( jQuery ); 26 | } 27 | }(function( $ ) { 28 | -------------------------------------------------------------------------------- /lib/amd-outro.js: -------------------------------------------------------------------------------- 1 | // Value returned by `require('jquery.fancytree')` 2 | return $.ui.fancytree; 3 | })); // End of closure 4 | -------------------------------------------------------------------------------- /lib/contextmenu-abs/images/cut.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/lib/contextmenu-abs/images/cut.png -------------------------------------------------------------------------------- /lib/contextmenu-abs/images/door.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/lib/contextmenu-abs/images/door.png -------------------------------------------------------------------------------- /lib/contextmenu-abs/images/page_white_copy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/lib/contextmenu-abs/images/page_white_copy.png -------------------------------------------------------------------------------- /lib/contextmenu-abs/images/page_white_delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/lib/contextmenu-abs/images/page_white_delete.png -------------------------------------------------------------------------------- /lib/contextmenu-abs/images/page_white_edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/lib/contextmenu-abs/images/page_white_edit.png -------------------------------------------------------------------------------- /lib/contextmenu-abs/images/page_white_paste.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mar10/fancytree/28823fa5e63b1dc96e38cb462ed92549465d3b84/lib/contextmenu-abs/images/page_white_paste.png -------------------------------------------------------------------------------- /lib/contextmenu-abs/jquery.contextMenu.css: -------------------------------------------------------------------------------- 1 | /* Generic context menu styles */ 2 | .contextMenu { 3 | position: absolute; 4 | width: 120px; 5 | z-index: 99999; 6 | border: solid 1px #CCC; 7 | background: #EEE; 8 | padding: 0px; 9 | margin: 0px; 10 | display: none; 11 | } 12 | 13 | .contextMenu LI { 14 | list-style: none; 15 | padding: 0px; 16 | margin: 0px; 17 | } 18 | 19 | .contextMenu A { 20 | color: #333; 21 | text-decoration: none; 22 | display: block; 23 | line-height: 20px; 24 | height: 20px; 25 | background-position: 6px center; 26 | background-repeat: no-repeat; 27 | outline: none; 28 | padding: 1px 5px; 29 | padding-left: 28px; 30 | } 31 | 32 | .contextMenu LI.hover A { 33 | color: #FFF; 34 | background-color: #3399FF; 35 | } 36 | 37 | .contextMenu LI.disabled A { 38 | color: #AAA; 39 | cursor: default; 40 | } 41 | 42 | .contextMenu LI.hover.disabled A { 43 | background-color: transparent; 44 | } 45 | 46 | .contextMenu LI.separator { 47 | border-top: solid 1px #CCC; 48 | } 49 | 50 | /* 51 | Adding Icons 52 | 53 | You can add icons to the context menu by adding 54 | classes to the respective LI element(s) 55 | */ 56 | 57 | .contextMenu LI.edit A { background-image: url(images/page_white_edit.png); } 58 | .contextMenu LI.cut A { background-image: url(images/cut.png); } 59 | .contextMenu LI.copy A { background-image: url(images/page_white_copy.png); } 60 | .contextMenu LI.paste A { background-image: url(images/page_white_paste.png); } 61 | .contextMenu LI.delete A { background-image: url(images/page_white_delete.png); } 62 | .contextMenu LI.quit A { background-image: url(images/door.png); } 63 | -------------------------------------------------------------------------------- /lib/jquery.cookie.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * jQuery Cookie Plugin v1.3.1 3 | * https://github.com/carhartl/jquery-cookie 4 | * 5 | * Copyright 2013 Klaus Hartl 6 | * Released under the MIT license 7 | */ 8 | (function (factory) { 9 | if (typeof define === 'function' && define.amd) { 10 | // AMD. Register as anonymous module. 11 | define(['jquery'], factory); 12 | } else { 13 | // Browser globals. 14 | factory(jQuery); 15 | } 16 | }(function ($) { 17 | 18 | var pluses = /\+/g; 19 | 20 | function raw(s) { 21 | return s; 22 | } 23 | 24 | function decoded(s) { 25 | return decodeURIComponent(s.replace(pluses, ' ')); 26 | } 27 | 28 | function converted(s) { 29 | if (s.indexOf('"') === 0) { 30 | // This is a quoted cookie as according to RFC2068, unescape 31 | s = s.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, '\\'); 32 | } 33 | try { 34 | return config.json ? JSON.parse(s) : s; 35 | } catch(er) {} 36 | } 37 | 38 | var config = $.cookie = function (key, value, options) { 39 | 40 | // write 41 | if (value !== undefined) { 42 | options = $.extend({}, config.defaults, options); 43 | 44 | if (typeof options.expires === 'number') { 45 | var days = options.expires, t = options.expires = new Date(); 46 | t.setDate(t.getDate() + days); 47 | } 48 | 49 | value = config.json ? JSON.stringify(value) : String(value); 50 | 51 | return (document.cookie = [ 52 | config.raw ? key : encodeURIComponent(key), 53 | '=', 54 | config.raw ? value : encodeURIComponent(value), 55 | options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE 56 | options.path ? '; path=' + options.path : '', 57 | options.domain ? '; domain=' + options.domain : '', 58 | options.secure ? '; secure' : '' 59 | ].join('')); 60 | } 61 | 62 | // read 63 | var decode = config.raw ? raw : decoded; 64 | var cookies = document.cookie.split('; '); 65 | var result = key ? undefined : {}; 66 | for (var i = 0, l = cookies.length; i < l; i++) { 67 | var parts = cookies[i].split('='); 68 | var name = decode(parts.shift()); 69 | var cookie = decode(parts.join('=')); 70 | 71 | if (key && key === name) { 72 | result = converted(cookie); 73 | break; 74 | } 75 | 76 | if (!key) { 77 | result[name] = converted(cookie); 78 | } 79 | } 80 | 81 | return result; 82 | }; 83 | 84 | config.defaults = {}; 85 | 86 | $.removeCookie = function (key, options) { 87 | if ($.cookie(key) !== undefined) { 88 | $.cookie(key, '', $.extend(options, { expires: -1 })); 89 | return true; 90 | } 91 | return false; 92 | }; 93 | 94 | })); 95 | -------------------------------------------------------------------------------- /lib/jquery.skinswitcher.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * jQuery.skinswitcher plugin. 3 | * 4 | * Change CSS include when combobox selection changes. 5 | * Copyright (c) 2012 Martin Wendt 6 | * 7 | * Usage: 8 | $("select#skinswitcher").skinswitcher({ 9 | base: "../src/", 10 | choices: [{name: "XP", value: "xp", href: "skin/ui.dynatree.css"}, 11 | {name: "Vista", value: "vista", href: "skin-vista/ui.dynatree.css"}, 12 | {name: "Lion", value: "lion", href: "skin-lion/ui.dynatree.css"} 13 | ], 14 | init: "lion" 15 | }); 16 | */ 17 | 18 | (function( $ ) { 19 | var PLUGIN_NAME = "skinswitcher", 20 | defaultOptions = { 21 | /**RegEx that returns prefix, tag, and suffix of the CSS href.*/ 22 | skinPattern: "^(\W/skin-)().css$", 23 | mode: "combo", // {String} mode 'combo' or 'radio' 24 | base: "", 25 | choices: [] 26 | }, 27 | methods = { 28 | init: function(options) { 29 | var opts = $.extend({}, defaultOptions, options), 30 | hrefs = [], 31 | $link = null, 32 | initialChoice = undefined; 33 | // Find tag, figure out current setting and mark for 34 | // later access 35 | $.each(opts.choices, function(){ 36 | hrefs.push(this.href.toLowerCase()); 37 | }); 38 | $("head link").each(function(){ 39 | for(var i=0; i= 0){ 41 | $link = $(this); 42 | $link.addClass(PLUGIN_NAME); 43 | initialChoice = opts.choices[i]; 44 | } 45 | } 46 | }); 47 | return this.each(function() { 48 | // Add options to dropdown list 49 | var $combo = $(this); 50 | $combo.empty(); 51 | $.each(opts.choices, function(i, choice){ 52 | var $opt = $("