├── .editorconfig
├── .github
├── settings.yml
├── stale.yml
└── workflows
│ ├── github-release-actions.yml
│ └── github-stale-actions.yml
├── .gitignore
├── .travis.yml.notusedanymore
├── 3rdPartySoftware
├── bootstrap-datepicker
│ ├── bootstrap-datepicker.css
│ ├── bootstrap-datepicker.js
│ ├── bootstrap-datepicker.min.css
│ └── bootstrap-datepicker.min.js
├── datetimepicker-2.5.20
│ ├── .travis.yml
│ ├── MIT-LICENSE.txt
│ ├── README.md
│ ├── bower.json
│ ├── datetimepicker.jquery.json
│ ├── doc.tpl
│ ├── index.html
│ ├── jquery.datetimepicker.css
│ ├── jquery.datetimepicker.js
│ ├── jquery.js
│ ├── karma.conf.js
│ ├── package-lock.json
│ ├── package.json
│ ├── screen
│ │ ├── 1.png
│ │ ├── 2.png
│ │ ├── 3.1.png
│ │ ├── 3.png
│ │ ├── 4.png
│ │ ├── 5.png
│ │ └── 6.png
│ └── tests
│ │ ├── app.css
│ │ ├── index.html
│ │ ├── input_in_container_fixed_to_bottom_of_viewport.html
│ │ ├── input_in_container_fixed_to_top_of_viewport.html
│ │ └── tests
│ │ ├── bootstrap.js
│ │ ├── destroy.js
│ │ ├── events.js
│ │ ├── init.js
│ │ ├── methods.js
│ │ └── options.js
├── pick-a-color-master
│ ├── .gitignore
│ ├── Gruntfile.js
│ ├── LICENSE
│ ├── README.md
│ ├── bower.json
│ ├── package.json
│ ├── pick-a-color.jquery.json
│ ├── sample.html
│ └── src
│ │ ├── js
│ │ └── pick-a-color.js
│ │ └── less
│ │ ├── bootstrap-src
│ │ ├── mixins.less
│ │ └── variables.less
│ │ └── pick-a-color.less
├── quill
│ ├── examples
│ │ ├── bubble.html
│ │ ├── full.html
│ │ └── snow.html
│ ├── quill.bubble.css
│ ├── quill.core.css
│ ├── quill.core.js
│ ├── quill.js
│ ├── quill.min.js
│ ├── quill.min.js.map
│ └── quill.snow.css
├── select2-4.0.10
│ ├── .editorconfig
│ ├── .github
│ │ ├── CONTRIBUTING.md
│ │ ├── ISSUE_TEMPLATE.md
│ │ ├── PULL_REQUEST_TEMPLATE.md
│ │ └── stale.yml
│ ├── .gitignore
│ ├── .jshintignore
│ ├── .jshintrc
│ ├── .travis.yml
│ ├── CHANGELOG.md
│ ├── Gruntfile.js
│ ├── LICENSE.md
│ ├── README.md
│ ├── bower.json
│ ├── component.json
│ ├── composer.json
│ ├── docs
│ │ ├── README.md
│ │ ├── announcements-4.0.html
│ │ ├── community.html
│ │ ├── examples.html
│ │ ├── index.html
│ │ ├── options-old.html
│ │ └── options.html
│ ├── package.json
│ ├── src
│ │ ├── js
│ │ │ ├── banner.end.js
│ │ │ ├── banner.start.js
│ │ │ ├── jquery.mousewheel.shim.js
│ │ │ ├── jquery.select2.js
│ │ │ ├── jquery.shim.js
│ │ │ ├── select2
│ │ │ │ ├── compat
│ │ │ │ │ ├── containerCss.js
│ │ │ │ │ ├── dropdownCss.js
│ │ │ │ │ ├── initSelection.js
│ │ │ │ │ ├── inputData.js
│ │ │ │ │ ├── matcher.js
│ │ │ │ │ ├── query.js
│ │ │ │ │ └── utils.js
│ │ │ │ ├── core.js
│ │ │ │ ├── data
│ │ │ │ │ ├── ajax.js
│ │ │ │ │ ├── array.js
│ │ │ │ │ ├── base.js
│ │ │ │ │ ├── maximumInputLength.js
│ │ │ │ │ ├── maximumSelectionLength.js
│ │ │ │ │ ├── minimumInputLength.js
│ │ │ │ │ ├── select.js
│ │ │ │ │ ├── tags.js
│ │ │ │ │ └── tokenizer.js
│ │ │ │ ├── defaults.js
│ │ │ │ ├── diacritics.js
│ │ │ │ ├── dropdown.js
│ │ │ │ ├── dropdown
│ │ │ │ │ ├── attachBody.js
│ │ │ │ │ ├── attachContainer.js
│ │ │ │ │ ├── closeOnSelect.js
│ │ │ │ │ ├── hidePlaceholder.js
│ │ │ │ │ ├── infiniteScroll.js
│ │ │ │ │ ├── minimumResultsForSearch.js
│ │ │ │ │ ├── search.js
│ │ │ │ │ ├── selectOnClose.js
│ │ │ │ │ └── stopPropagation.js
│ │ │ │ ├── i18n
│ │ │ │ │ ├── af.js
│ │ │ │ │ ├── ar.js
│ │ │ │ │ ├── az.js
│ │ │ │ │ ├── bg.js
│ │ │ │ │ ├── bn.js
│ │ │ │ │ ├── bs.js
│ │ │ │ │ ├── ca.js
│ │ │ │ │ ├── cs.js
│ │ │ │ │ ├── da.js
│ │ │ │ │ ├── de.js
│ │ │ │ │ ├── dsb.js
│ │ │ │ │ ├── el.js
│ │ │ │ │ ├── en.js
│ │ │ │ │ ├── es.js
│ │ │ │ │ ├── et.js
│ │ │ │ │ ├── eu.js
│ │ │ │ │ ├── fa.js
│ │ │ │ │ ├── fi.js
│ │ │ │ │ ├── fr.js
│ │ │ │ │ ├── gl.js
│ │ │ │ │ ├── he.js
│ │ │ │ │ ├── hi.js
│ │ │ │ │ ├── hr.js
│ │ │ │ │ ├── hsb.js
│ │ │ │ │ ├── hu.js
│ │ │ │ │ ├── hy.js
│ │ │ │ │ ├── id.js
│ │ │ │ │ ├── is.js
│ │ │ │ │ ├── it.js
│ │ │ │ │ ├── ja.js
│ │ │ │ │ ├── ka.js
│ │ │ │ │ ├── km.js
│ │ │ │ │ ├── ko.js
│ │ │ │ │ ├── lt.js
│ │ │ │ │ ├── lv.js
│ │ │ │ │ ├── mk.js
│ │ │ │ │ ├── ms.js
│ │ │ │ │ ├── nb.js
│ │ │ │ │ ├── ne.js
│ │ │ │ │ ├── nl.js
│ │ │ │ │ ├── pl.js
│ │ │ │ │ ├── ps.js
│ │ │ │ │ ├── pt-BR.js
│ │ │ │ │ ├── pt.js
│ │ │ │ │ ├── ro.js
│ │ │ │ │ ├── ru.js
│ │ │ │ │ ├── sk.js
│ │ │ │ │ ├── sl.js
│ │ │ │ │ ├── sq.js
│ │ │ │ │ ├── sr-Cyrl.js
│ │ │ │ │ ├── sr.js
│ │ │ │ │ ├── sv.js
│ │ │ │ │ ├── th.js
│ │ │ │ │ ├── tk.js
│ │ │ │ │ ├── tr.js
│ │ │ │ │ ├── uk.js
│ │ │ │ │ ├── vi.js
│ │ │ │ │ ├── zh-CN.js
│ │ │ │ │ └── zh-TW.js
│ │ │ │ ├── keys.js
│ │ │ │ ├── options.js
│ │ │ │ ├── results.js
│ │ │ │ ├── selection
│ │ │ │ │ ├── allowClear.js
│ │ │ │ │ ├── base.js
│ │ │ │ │ ├── clickMask.js
│ │ │ │ │ ├── eventRelay.js
│ │ │ │ │ ├── multiple.js
│ │ │ │ │ ├── placeholder.js
│ │ │ │ │ ├── search.js
│ │ │ │ │ ├── single.js
│ │ │ │ │ └── stopPropagation.js
│ │ │ │ ├── translation.js
│ │ │ │ └── utils.js
│ │ │ ├── wrapper.end.js
│ │ │ └── wrapper.start.js
│ │ └── scss
│ │ │ ├── _dropdown.scss
│ │ │ ├── _multiple.scss
│ │ │ ├── _single.scss
│ │ │ ├── core.scss
│ │ │ ├── mixins
│ │ │ └── _gradients.scss
│ │ │ └── theme
│ │ │ ├── classic
│ │ │ ├── _defaults.scss
│ │ │ ├── _multiple.scss
│ │ │ ├── _single.scss
│ │ │ └── layout.scss
│ │ │ └── default
│ │ │ ├── _multiple.scss
│ │ │ ├── _single.scss
│ │ │ └── layout.scss
│ └── tests
│ │ ├── a11y
│ │ └── selection-tests.js
│ │ ├── data
│ │ ├── array-tests.js
│ │ ├── base-tests.js
│ │ ├── inputData-tests.js
│ │ ├── maximumInputLength-tests.js
│ │ ├── maximumSelectionLength-tests.js
│ │ ├── minimumInputLength-tests.js
│ │ ├── select-tests.js
│ │ ├── tags-tests.js
│ │ └── tokenizer-tests.js
│ │ ├── dropdown
│ │ ├── dropdownCss-tests.js
│ │ ├── dropdownParent-tests.js
│ │ ├── positioning-tests.js
│ │ ├── search-a11y-tests.js
│ │ ├── selectOnClose-tests.js
│ │ └── stopPropagation-tests.js
│ │ ├── helpers.js
│ │ ├── integration-jq1.html
│ │ ├── integration-jq2.html
│ │ ├── integration-jq3.html
│ │ ├── integration
│ │ ├── dom-changes.js
│ │ ├── jquery-calls.js
│ │ └── select2-methods.js
│ │ ├── options
│ │ ├── ajax-tests.js
│ │ ├── data-tests.js
│ │ ├── deprecated-tests.js
│ │ ├── translation-tests.js
│ │ └── width-tests.js
│ │ ├── results
│ │ ├── a11y-tests.js
│ │ ├── focusing-tests.js
│ │ ├── infiniteScroll-tests.js
│ │ └── option-tests.js
│ │ ├── selection
│ │ ├── allowClear-tests.js
│ │ ├── containerCss-tests.js
│ │ ├── focusing-tests.js
│ │ ├── multiple-tests.js
│ │ ├── placeholder-tests.js
│ │ ├── search-a11y-tests.js
│ │ ├── search-placeholder-tests.js
│ │ ├── search-tests.js
│ │ ├── single-tests.js
│ │ └── stopPropagation-tests.js
│ │ ├── unit-jq1.html
│ │ ├── unit-jq2.html
│ │ ├── unit-jq3.html
│ │ ├── utils
│ │ ├── data-tests.js
│ │ ├── decorator-tests.js
│ │ └── escapeMarkup-tests.js
│ │ └── vendor
│ │ ├── jquery-1.7.2.js
│ │ ├── jquery-2.2.4.js
│ │ ├── jquery-3.4.1.js
│ │ ├── qunit-1.23.1.css
│ │ └── qunit-1.23.1.js
├── select2-4.0.13
│ ├── .editorconfig
│ ├── .github
│ │ ├── CONTRIBUTING.md
│ │ ├── FUNDING.yml
│ │ ├── ISSUE_TEMPLATE.md
│ │ ├── PULL_REQUEST_TEMPLATE.md
│ │ ├── stale.yml
│ │ └── workflows
│ │ │ ├── docs-deploy.yml
│ │ │ ├── main.yml
│ │ │ └── package-deploy.yml
│ ├── .gitignore
│ ├── .jshintignore
│ ├── .jshintrc
│ ├── CHANGELOG.md
│ ├── Gruntfile.js
│ ├── LICENSE.md
│ ├── README.md
│ ├── bower.json
│ ├── component.json
│ ├── composer.json
│ ├── docs
│ │ ├── LICENSE.md
│ │ ├── README.md
│ │ ├── accounts
│ │ │ └── .gitkeep
│ │ ├── assets
│ │ │ └── rtfm-screenshot.png
│ │ ├── blueprints.yaml
│ │ ├── config
│ │ │ ├── plugins
│ │ │ │ ├── anchors.yaml
│ │ │ │ ├── highlight.yaml
│ │ │ │ └── simplesearch.yaml
│ │ │ ├── site.yaml
│ │ │ └── system.yaml
│ │ ├── data
│ │ │ └── .gitkeep
│ │ ├── localhost
│ │ │ └── config
│ │ │ │ ├── security.yaml
│ │ │ │ └── system.yaml
│ │ ├── pages
│ │ │ ├── 01.getting-started
│ │ │ │ ├── 01.installation
│ │ │ │ │ └── docs.md
│ │ │ │ ├── 02.basic-usage
│ │ │ │ │ └── docs.md
│ │ │ │ ├── 03.builds-and-modules
│ │ │ │ │ └── docs.md
│ │ │ │ └── chapter.md
│ │ │ ├── 02.troubleshooting
│ │ │ │ ├── 01.getting-help
│ │ │ │ │ └── docs.md
│ │ │ │ ├── 02.common-problems
│ │ │ │ │ └── docs.md
│ │ │ │ └── chapter.md
│ │ │ ├── 03.configuration
│ │ │ │ ├── 01.options-api
│ │ │ │ │ └── docs.md
│ │ │ │ ├── 02.defaults
│ │ │ │ │ └── docs.md
│ │ │ │ ├── 03.data-attributes
│ │ │ │ │ └── docs.md
│ │ │ │ └── docs.md
│ │ │ ├── 04.appearance
│ │ │ │ └── docs.md
│ │ │ ├── 05.options
│ │ │ │ └── docs.md
│ │ │ ├── 06.data-sources
│ │ │ │ ├── 01.formats
│ │ │ │ │ └── docs.md
│ │ │ │ ├── 02.ajax
│ │ │ │ │ └── docs.md
│ │ │ │ ├── 03.arrays
│ │ │ │ │ └── docs.md
│ │ │ │ └── chapter.md
│ │ │ ├── 07.dropdown
│ │ │ │ └── docs.md
│ │ │ ├── 08.selections
│ │ │ │ └── docs.md
│ │ │ ├── 09.tagging
│ │ │ │ └── docs.md
│ │ │ ├── 10.placeholders
│ │ │ │ └── docs.md
│ │ │ ├── 11.searching
│ │ │ │ └── docs.md
│ │ │ ├── 12.programmatic-control
│ │ │ │ ├── 01.add-select-clear-items
│ │ │ │ │ └── docs.md
│ │ │ │ ├── 02.retrieving-selections
│ │ │ │ │ └── docs.md
│ │ │ │ ├── 03.methods
│ │ │ │ │ └── docs.md
│ │ │ │ ├── 04.events
│ │ │ │ │ └── docs.md
│ │ │ │ └── chapter.md
│ │ │ ├── 13.i18n
│ │ │ │ └── docs.md
│ │ │ ├── 14.advanced
│ │ │ │ ├── 01.adapters-and-decorators
│ │ │ │ │ └── docs.md
│ │ │ │ ├── 02.default-adapters
│ │ │ │ │ ├── 01.selection
│ │ │ │ │ │ └── docs.md
│ │ │ │ │ ├── 02.array
│ │ │ │ │ │ └── docs.md
│ │ │ │ │ ├── 03.ajax
│ │ │ │ │ │ └── docs.md
│ │ │ │ │ ├── 04.data
│ │ │ │ │ │ └── docs.md
│ │ │ │ │ ├── 05.results
│ │ │ │ │ │ └── docs.md
│ │ │ │ │ ├── 06.dropdown
│ │ │ │ │ │ └── docs.md
│ │ │ │ │ └── docs.md
│ │ │ │ └── chapter.md
│ │ │ ├── 15.upgrading
│ │ │ │ ├── 01.new-in-40
│ │ │ │ │ └── docs.md
│ │ │ │ ├── 02.migrating-from-35
│ │ │ │ │ └── docs.md
│ │ │ │ └── chapter.md
│ │ │ └── images
│ │ │ │ ├── flags
│ │ │ │ ├── ak.png
│ │ │ │ ├── al.png
│ │ │ │ ├── ar.png
│ │ │ │ ├── az.png
│ │ │ │ ├── ca.png
│ │ │ │ ├── co.png
│ │ │ │ ├── ct.png
│ │ │ │ ├── de.png
│ │ │ │ ├── fl.png
│ │ │ │ ├── ga.png
│ │ │ │ ├── hi.png
│ │ │ │ ├── ia.png
│ │ │ │ ├── id.png
│ │ │ │ ├── il.png
│ │ │ │ ├── in.png
│ │ │ │ ├── ks.png
│ │ │ │ ├── ky.png
│ │ │ │ ├── la.png
│ │ │ │ ├── ma.png
│ │ │ │ ├── md.png
│ │ │ │ ├── me.png
│ │ │ │ ├── mi.png
│ │ │ │ ├── mn.png
│ │ │ │ ├── mo.png
│ │ │ │ ├── ms.png
│ │ │ │ ├── mt.png
│ │ │ │ ├── nc.png
│ │ │ │ ├── nd.png
│ │ │ │ ├── ne.png
│ │ │ │ ├── nh.png
│ │ │ │ ├── nj.png
│ │ │ │ ├── nm.png
│ │ │ │ ├── nv.png
│ │ │ │ ├── ny.png
│ │ │ │ ├── oh.png
│ │ │ │ ├── ok.png
│ │ │ │ ├── or.png
│ │ │ │ ├── pa.png
│ │ │ │ ├── ri.png
│ │ │ │ ├── sc.png
│ │ │ │ ├── sd.png
│ │ │ │ ├── tn.png
│ │ │ │ ├── tx.png
│ │ │ │ ├── ut.png
│ │ │ │ ├── va.png
│ │ │ │ ├── vt.png
│ │ │ │ ├── wa.png
│ │ │ │ ├── wi.png
│ │ │ │ ├── wv.png
│ │ │ │ └── wy.png
│ │ │ │ └── logo.png
│ │ ├── plugins
│ │ │ ├── .gitkeep
│ │ │ ├── anchors
│ │ │ │ ├── CHANGELOG.md
│ │ │ │ ├── LICENSE
│ │ │ │ ├── README.md
│ │ │ │ ├── anchors.php
│ │ │ │ ├── anchors.yaml
│ │ │ │ ├── blueprints.yaml
│ │ │ │ └── js
│ │ │ │ │ └── anchor.min.js
│ │ │ ├── breadcrumbs
│ │ │ │ ├── CHANGELOG.md
│ │ │ │ ├── LICENSE
│ │ │ │ ├── README.md
│ │ │ │ ├── assets
│ │ │ │ │ └── readme_1.png
│ │ │ │ ├── blueprints.yaml
│ │ │ │ ├── breadcrumbs.php
│ │ │ │ ├── breadcrumbs.yaml
│ │ │ │ ├── classes
│ │ │ │ │ └── breadcrumbs.php
│ │ │ │ ├── css
│ │ │ │ │ └── breadcrumbs.css
│ │ │ │ └── templates
│ │ │ │ │ └── partials
│ │ │ │ │ └── breadcrumbs.html.twig
│ │ │ ├── error
│ │ │ │ ├── CHANGELOG.md
│ │ │ │ ├── LICENSE
│ │ │ │ ├── README.md
│ │ │ │ ├── assets
│ │ │ │ │ └── readme_1.png
│ │ │ │ ├── blueprints.yaml
│ │ │ │ ├── cli
│ │ │ │ │ └── LogCommand.php
│ │ │ │ ├── error.php
│ │ │ │ ├── error.yaml
│ │ │ │ ├── languages.yaml
│ │ │ │ ├── pages
│ │ │ │ │ └── error.md
│ │ │ │ └── templates
│ │ │ │ │ ├── error.html.twig
│ │ │ │ │ └── error.json.twig
│ │ │ ├── highlight
│ │ │ │ ├── CHANGELOG.md
│ │ │ │ ├── LICENSE
│ │ │ │ ├── README.md
│ │ │ │ ├── assets
│ │ │ │ │ └── readme_1.png
│ │ │ │ ├── blueprints.yaml
│ │ │ │ ├── css
│ │ │ │ │ ├── agate.css
│ │ │ │ │ ├── androidstudio.css
│ │ │ │ │ ├── arduino-light.css
│ │ │ │ │ ├── arta.css
│ │ │ │ │ ├── ascetic.css
│ │ │ │ │ ├── atelier-cave.dark.css
│ │ │ │ │ ├── atelier-cave.light.css
│ │ │ │ │ ├── atelier-dune.dark.css
│ │ │ │ │ ├── atelier-dune.light.css
│ │ │ │ │ ├── atelier-estuary.dark.css
│ │ │ │ │ ├── atelier-estuary.light.css
│ │ │ │ │ ├── atelier-forest.dark.css
│ │ │ │ │ ├── atelier-forest.light.css
│ │ │ │ │ ├── atelier-heath.dark.css
│ │ │ │ │ ├── atelier-heath.light.css
│ │ │ │ │ ├── atelier-lakeside.dark.css
│ │ │ │ │ ├── atelier-lakeside.light.css
│ │ │ │ │ ├── atelier-plateau.dark.css
│ │ │ │ │ ├── atelier-plateau.light.css
│ │ │ │ │ ├── atelier-savanna.dark.css
│ │ │ │ │ ├── atelier-savanna.light.css
│ │ │ │ │ ├── atelier-seaside.dark.css
│ │ │ │ │ ├── atelier-seaside.light.css
│ │ │ │ │ ├── atelier-sulphurpool.dark.css
│ │ │ │ │ ├── atelier-sulphurpool.light.css
│ │ │ │ │ ├── brown-paper.css
│ │ │ │ │ ├── codepen-embed.css
│ │ │ │ │ ├── color-brewer.css
│ │ │ │ │ ├── dark.css
│ │ │ │ │ ├── darkula.css
│ │ │ │ │ ├── default.css
│ │ │ │ │ ├── docco.css
│ │ │ │ │ ├── far.css
│ │ │ │ │ ├── foundation.css
│ │ │ │ │ ├── github-gist.css
│ │ │ │ │ ├── github.css
│ │ │ │ │ ├── googlecode.css
│ │ │ │ │ ├── grayscale.css
│ │ │ │ │ ├── hopscotch.css
│ │ │ │ │ ├── hybrid.css
│ │ │ │ │ ├── idea.css
│ │ │ │ │ ├── ir-black.css
│ │ │ │ │ ├── kimbie.dark.css
│ │ │ │ │ ├── kimbie.light.css
│ │ │ │ │ ├── learn.css
│ │ │ │ │ ├── magula.css
│ │ │ │ │ ├── mono-blue.css
│ │ │ │ │ ├── monokai-sublime.css
│ │ │ │ │ ├── monokai.css
│ │ │ │ │ ├── obsidian.css
│ │ │ │ │ ├── paraiso-dark.css
│ │ │ │ │ ├── paraiso-light.css
│ │ │ │ │ ├── paraiso.dark.css
│ │ │ │ │ ├── paraiso.light.css
│ │ │ │ │ ├── pojoaque.css
│ │ │ │ │ ├── railscasts.css
│ │ │ │ │ ├── rainbow.css
│ │ │ │ │ ├── school-book.css
│ │ │ │ │ ├── solarized-dark.css
│ │ │ │ │ ├── solarized-light.css
│ │ │ │ │ ├── sunburst.css
│ │ │ │ │ ├── tomorrow-night-blue.css
│ │ │ │ │ ├── tomorrow-night-bright.css
│ │ │ │ │ ├── tomorrow-night-eighties.css
│ │ │ │ │ ├── tomorrow-night.css
│ │ │ │ │ ├── tomorrow.css
│ │ │ │ │ ├── vs.css
│ │ │ │ │ ├── xcode.css
│ │ │ │ │ └── zenburn.css
│ │ │ │ ├── highlight.php
│ │ │ │ ├── highlight.yaml
│ │ │ │ └── js
│ │ │ │ │ ├── highlight.pack.js
│ │ │ │ │ └── highlightjs-line-numbers.min.js
│ │ │ ├── problems
│ │ │ │ ├── CHANGELOG.md
│ │ │ │ ├── LICENSE
│ │ │ │ ├── README.md
│ │ │ │ ├── assets
│ │ │ │ │ └── readme_1.png
│ │ │ │ ├── blueprints.yaml
│ │ │ │ ├── css
│ │ │ │ │ ├── problems.css
│ │ │ │ │ └── template.css
│ │ │ │ ├── html
│ │ │ │ │ └── problems.html
│ │ │ │ ├── problems.php
│ │ │ │ └── problems.yaml
│ │ │ └── simplesearch
│ │ │ │ ├── CHANGELOG.md
│ │ │ │ ├── LICENSE
│ │ │ │ ├── README.md
│ │ │ │ ├── assets
│ │ │ │ ├── readme_1.png
│ │ │ │ └── search.svg
│ │ │ │ ├── blueprints.yaml
│ │ │ │ ├── css
│ │ │ │ └── simplesearch.css
│ │ │ │ ├── js
│ │ │ │ └── simplesearch.js
│ │ │ │ ├── languages.yaml
│ │ │ │ ├── pages
│ │ │ │ └── simplesearch.md
│ │ │ │ ├── simplesearch.php
│ │ │ │ ├── simplesearch.yaml
│ │ │ │ └── templates
│ │ │ │ ├── partials
│ │ │ │ ├── simplesearch_base.html.twig
│ │ │ │ ├── simplesearch_item.html.twig
│ │ │ │ └── simplesearch_searchbox.html.twig
│ │ │ │ ├── simplesearch_results.html.twig
│ │ │ │ └── simplesearch_results.json.twig
│ │ ├── screenshot.jpg
│ │ └── themes
│ │ │ ├── .gitkeep
│ │ │ ├── learn2
│ │ │ ├── CHANGELOG.md
│ │ │ ├── LICENSE
│ │ │ ├── README.md
│ │ │ ├── blueprints.yaml
│ │ │ ├── blueprints
│ │ │ │ ├── chapter.yaml
│ │ │ │ └── docs.yaml
│ │ │ ├── css-compiled
│ │ │ │ ├── nucleus.css
│ │ │ │ ├── nucleus.css.map
│ │ │ │ ├── theme.css
│ │ │ │ └── theme.css.map
│ │ │ ├── css
│ │ │ │ ├── featherlight.min.css
│ │ │ │ ├── font-awesome.min.css
│ │ │ │ ├── nucleus-ie10.css
│ │ │ │ ├── nucleus-ie9.css
│ │ │ │ └── pure-0.5.0
│ │ │ │ │ └── grids-min.css
│ │ │ ├── fonts
│ │ │ │ ├── fontawesome-webfont.eot
│ │ │ │ ├── fontawesome-webfont.svg
│ │ │ │ ├── fontawesome-webfont.ttf
│ │ │ │ ├── fontawesome-webfont.woff
│ │ │ │ └── fontawesome-webfont.woff2
│ │ │ ├── images
│ │ │ │ ├── clippy.svg
│ │ │ │ ├── favicon.png
│ │ │ │ └── logo.png
│ │ │ ├── js
│ │ │ │ ├── clipboard.min.js
│ │ │ │ ├── featherlight.min.js
│ │ │ │ ├── html5shiv-printshiv.min.js
│ │ │ │ ├── jquery.scrollbar.min.js
│ │ │ │ ├── learn.js
│ │ │ │ └── modernizr.custom.71422.js
│ │ │ ├── languages.yaml
│ │ │ ├── learn2.php
│ │ │ ├── learn2.yaml
│ │ │ ├── screenshot.jpg
│ │ │ ├── scss.sh
│ │ │ ├── scss
│ │ │ │ ├── configuration
│ │ │ │ │ ├── nucleus
│ │ │ │ │ │ ├── _base.scss
│ │ │ │ │ │ ├── _breakpoints.scss
│ │ │ │ │ │ ├── _core.scss
│ │ │ │ │ │ ├── _layout.scss
│ │ │ │ │ │ ├── _nav.scss
│ │ │ │ │ │ └── _typography.scss
│ │ │ │ │ └── theme
│ │ │ │ │ │ ├── _base.scss
│ │ │ │ │ │ ├── _bullets.scss
│ │ │ │ │ │ └── _colors.scss
│ │ │ │ ├── nucleus.scss
│ │ │ │ ├── nucleus
│ │ │ │ │ ├── _core.scss
│ │ │ │ │ ├── _flex.scss
│ │ │ │ │ ├── _forms.scss
│ │ │ │ │ ├── _typography.scss
│ │ │ │ │ ├── functions
│ │ │ │ │ │ ├── _base.scss
│ │ │ │ │ │ ├── _direction.scss
│ │ │ │ │ │ └── _range.scss
│ │ │ │ │ ├── mixins
│ │ │ │ │ │ ├── _base.scss
│ │ │ │ │ │ ├── _breakpoints.scss
│ │ │ │ │ │ └── _utilities.scss
│ │ │ │ │ └── particles
│ │ │ │ │ │ ├── _align-text.scss
│ │ │ │ │ │ └── _visibility.scss
│ │ │ │ ├── theme.scss
│ │ │ │ ├── theme
│ │ │ │ │ ├── _bullets.scss
│ │ │ │ │ ├── _buttons.scss
│ │ │ │ │ ├── _configuration.scss
│ │ │ │ │ ├── _core.scss
│ │ │ │ │ ├── _custom.scss
│ │ │ │ │ ├── _fonts.scss
│ │ │ │ │ ├── _forms.scss
│ │ │ │ │ ├── _header.scss
│ │ │ │ │ ├── _main.scss
│ │ │ │ │ ├── _nav.scss
│ │ │ │ │ ├── _scrollbar.scss
│ │ │ │ │ ├── _tables.scss
│ │ │ │ │ ├── _tooltips.scss
│ │ │ │ │ ├── _typography.scss
│ │ │ │ │ └── modules
│ │ │ │ │ │ ├── _base.scss
│ │ │ │ │ │ └── _buttons.scss
│ │ │ │ └── vendor
│ │ │ │ │ ├── bourbon
│ │ │ │ │ ├── _bourbon-deprecated-upcoming.scss
│ │ │ │ │ ├── _bourbon.scss
│ │ │ │ │ ├── addons
│ │ │ │ │ │ ├── _button.scss
│ │ │ │ │ │ ├── _clearfix.scss
│ │ │ │ │ │ ├── _directional-values.scss
│ │ │ │ │ │ ├── _ellipsis.scss
│ │ │ │ │ │ ├── _font-family.scss
│ │ │ │ │ │ ├── _hide-text.scss
│ │ │ │ │ │ ├── _html5-input-types.scss
│ │ │ │ │ │ ├── _position.scss
│ │ │ │ │ │ ├── _prefixer.scss
│ │ │ │ │ │ ├── _rem.scss
│ │ │ │ │ │ ├── _retina-image.scss
│ │ │ │ │ │ ├── _size.scss
│ │ │ │ │ │ ├── _timing-functions.scss
│ │ │ │ │ │ ├── _triangle.scss
│ │ │ │ │ │ └── _word-wrap.scss
│ │ │ │ │ ├── css3
│ │ │ │ │ │ ├── _animation.scss
│ │ │ │ │ │ ├── _appearance.scss
│ │ │ │ │ │ ├── _backface-visibility.scss
│ │ │ │ │ │ ├── _background-image.scss
│ │ │ │ │ │ ├── _background.scss
│ │ │ │ │ │ ├── _border-image.scss
│ │ │ │ │ │ ├── _border-radius.scss
│ │ │ │ │ │ ├── _box-sizing.scss
│ │ │ │ │ │ ├── _calc.scss
│ │ │ │ │ │ ├── _columns.scss
│ │ │ │ │ │ ├── _filter.scss
│ │ │ │ │ │ ├── _flex-box.scss
│ │ │ │ │ │ ├── _font-face.scss
│ │ │ │ │ │ ├── _font-feature-settings.scss
│ │ │ │ │ │ ├── _hidpi-media-query.scss
│ │ │ │ │ │ ├── _hyphens.scss
│ │ │ │ │ │ ├── _image-rendering.scss
│ │ │ │ │ │ ├── _keyframes.scss
│ │ │ │ │ │ ├── _linear-gradient.scss
│ │ │ │ │ │ ├── _perspective.scss
│ │ │ │ │ │ ├── _placeholder.scss
│ │ │ │ │ │ ├── _radial-gradient.scss
│ │ │ │ │ │ ├── _transform.scss
│ │ │ │ │ │ ├── _transition.scss
│ │ │ │ │ │ └── _user-select.scss
│ │ │ │ │ ├── functions
│ │ │ │ │ │ ├── _assign.scss
│ │ │ │ │ │ ├── _color-lightness.scss
│ │ │ │ │ │ ├── _flex-grid.scss
│ │ │ │ │ │ ├── _golden-ratio.scss
│ │ │ │ │ │ ├── _grid-width.scss
│ │ │ │ │ │ ├── _modular-scale.scss
│ │ │ │ │ │ ├── _px-to-em.scss
│ │ │ │ │ │ ├── _px-to-rem.scss
│ │ │ │ │ │ ├── _strip-units.scss
│ │ │ │ │ │ ├── _tint-shade.scss
│ │ │ │ │ │ ├── _transition-property-name.scss
│ │ │ │ │ │ └── _unpack.scss
│ │ │ │ │ ├── helpers
│ │ │ │ │ │ ├── _convert-units.scss
│ │ │ │ │ │ ├── _gradient-positions-parser.scss
│ │ │ │ │ │ ├── _is-num.scss
│ │ │ │ │ │ ├── _linear-angle-parser.scss
│ │ │ │ │ │ ├── _linear-gradient-parser.scss
│ │ │ │ │ │ ├── _linear-positions-parser.scss
│ │ │ │ │ │ ├── _linear-side-corner-parser.scss
│ │ │ │ │ │ ├── _radial-arg-parser.scss
│ │ │ │ │ │ ├── _radial-gradient-parser.scss
│ │ │ │ │ │ ├── _radial-positions-parser.scss
│ │ │ │ │ │ ├── _render-gradients.scss
│ │ │ │ │ │ ├── _shape-size-stripper.scss
│ │ │ │ │ │ └── _str-to-num.scss
│ │ │ │ │ └── settings
│ │ │ │ │ │ ├── _prefixer.scss
│ │ │ │ │ │ └── _px-to-em.scss
│ │ │ │ │ └── color-schemer
│ │ │ │ │ ├── _color-schemer.scss
│ │ │ │ │ └── color-schemer
│ │ │ │ │ ├── _cmyk.scss
│ │ │ │ │ ├── _color-adjustments.scss
│ │ │ │ │ ├── _color-schemer.scss
│ │ │ │ │ ├── _colorblind.scss
│ │ │ │ │ ├── _comparison.scss
│ │ │ │ │ ├── _equalize.scss
│ │ │ │ │ ├── _harmonize.scss
│ │ │ │ │ ├── _interpolation.scss
│ │ │ │ │ ├── _mix.scss
│ │ │ │ │ ├── _mixins.scss
│ │ │ │ │ ├── _ryb.scss
│ │ │ │ │ └── _tint-shade.scss
│ │ │ ├── templates
│ │ │ │ ├── chapter.html.twig
│ │ │ │ ├── default.html.twig
│ │ │ │ ├── docs.html.twig
│ │ │ │ ├── error.html.twig
│ │ │ │ └── partials
│ │ │ │ │ ├── analytics.html.twig
│ │ │ │ │ ├── base.html.twig
│ │ │ │ │ ├── github_link.html.twig
│ │ │ │ │ ├── github_note.html.twig
│ │ │ │ │ ├── logo.html.twig
│ │ │ │ │ ├── metadata.html.twig
│ │ │ │ │ ├── page.html.twig
│ │ │ │ │ └── sidebar.html.twig
│ │ │ └── thumbnail.jpg
│ │ │ └── site
│ │ │ ├── css
│ │ │ ├── s2-docs.css
│ │ │ └── theme.css
│ │ │ ├── images
│ │ │ ├── android-chrome-36x36.png
│ │ │ ├── android-chrome-48x48.png
│ │ │ ├── android-chrome-72x72.png
│ │ │ ├── apple-touch-icon-57x57.png
│ │ │ ├── apple-touch-icon-60x60.png
│ │ │ ├── apple-touch-icon-72x72.png
│ │ │ ├── apple-touch-icon-precomposed.png
│ │ │ ├── apple-touch-icon.png
│ │ │ ├── favicon-16x16.png
│ │ │ ├── favicon-32x32.png
│ │ │ ├── favicon.ico
│ │ │ ├── favicon.png
│ │ │ ├── manifest.json
│ │ │ ├── mstile-150x150.png
│ │ │ ├── mstile-310x150.png
│ │ │ ├── mstile-70x70.png
│ │ │ └── safari-pinned-tab.svg
│ │ │ ├── js
│ │ │ └── data-fill-from.js
│ │ │ ├── site.yaml
│ │ │ └── templates
│ │ │ └── partials
│ │ │ ├── base.html.twig
│ │ │ ├── js
│ │ │ └── source-states.html.twig
│ │ │ ├── logo.html.twig
│ │ │ └── sidebar.html.twig
│ ├── package.json
│ ├── src
│ │ ├── js
│ │ │ ├── banner.end.js
│ │ │ ├── banner.start.js
│ │ │ ├── jquery.mousewheel.shim.js
│ │ │ ├── jquery.select2.js
│ │ │ ├── jquery.shim.js
│ │ │ ├── select2
│ │ │ │ ├── compat
│ │ │ │ │ ├── containerCss.js
│ │ │ │ │ ├── dropdownCss.js
│ │ │ │ │ ├── initSelection.js
│ │ │ │ │ ├── inputData.js
│ │ │ │ │ ├── matcher.js
│ │ │ │ │ ├── query.js
│ │ │ │ │ └── utils.js
│ │ │ │ ├── core.js
│ │ │ │ ├── data
│ │ │ │ │ ├── ajax.js
│ │ │ │ │ ├── array.js
│ │ │ │ │ ├── base.js
│ │ │ │ │ ├── maximumInputLength.js
│ │ │ │ │ ├── maximumSelectionLength.js
│ │ │ │ │ ├── minimumInputLength.js
│ │ │ │ │ ├── select.js
│ │ │ │ │ ├── tags.js
│ │ │ │ │ └── tokenizer.js
│ │ │ │ ├── defaults.js
│ │ │ │ ├── diacritics.js
│ │ │ │ ├── dropdown.js
│ │ │ │ ├── dropdown
│ │ │ │ │ ├── attachBody.js
│ │ │ │ │ ├── attachContainer.js
│ │ │ │ │ ├── closeOnSelect.js
│ │ │ │ │ ├── hidePlaceholder.js
│ │ │ │ │ ├── infiniteScroll.js
│ │ │ │ │ ├── minimumResultsForSearch.js
│ │ │ │ │ ├── search.js
│ │ │ │ │ ├── selectOnClose.js
│ │ │ │ │ └── stopPropagation.js
│ │ │ │ ├── i18n
│ │ │ │ │ ├── af.js
│ │ │ │ │ ├── ar.js
│ │ │ │ │ ├── az.js
│ │ │ │ │ ├── bg.js
│ │ │ │ │ ├── bn.js
│ │ │ │ │ ├── bs.js
│ │ │ │ │ ├── ca.js
│ │ │ │ │ ├── cs.js
│ │ │ │ │ ├── da.js
│ │ │ │ │ ├── de.js
│ │ │ │ │ ├── dsb.js
│ │ │ │ │ ├── el.js
│ │ │ │ │ ├── en.js
│ │ │ │ │ ├── es.js
│ │ │ │ │ ├── et.js
│ │ │ │ │ ├── eu.js
│ │ │ │ │ ├── fa.js
│ │ │ │ │ ├── fi.js
│ │ │ │ │ ├── fr.js
│ │ │ │ │ ├── gl.js
│ │ │ │ │ ├── he.js
│ │ │ │ │ ├── hi.js
│ │ │ │ │ ├── hr.js
│ │ │ │ │ ├── hsb.js
│ │ │ │ │ ├── hu.js
│ │ │ │ │ ├── hy.js
│ │ │ │ │ ├── id.js
│ │ │ │ │ ├── is.js
│ │ │ │ │ ├── it.js
│ │ │ │ │ ├── ja.js
│ │ │ │ │ ├── ka.js
│ │ │ │ │ ├── km.js
│ │ │ │ │ ├── ko.js
│ │ │ │ │ ├── lt.js
│ │ │ │ │ ├── lv.js
│ │ │ │ │ ├── mk.js
│ │ │ │ │ ├── ms.js
│ │ │ │ │ ├── nb.js
│ │ │ │ │ ├── ne.js
│ │ │ │ │ ├── nl.js
│ │ │ │ │ ├── pl.js
│ │ │ │ │ ├── ps.js
│ │ │ │ │ ├── pt-BR.js
│ │ │ │ │ ├── pt.js
│ │ │ │ │ ├── ro.js
│ │ │ │ │ ├── ru.js
│ │ │ │ │ ├── sk.js
│ │ │ │ │ ├── sl.js
│ │ │ │ │ ├── sq.js
│ │ │ │ │ ├── sr-Cyrl.js
│ │ │ │ │ ├── sr.js
│ │ │ │ │ ├── sv.js
│ │ │ │ │ ├── th.js
│ │ │ │ │ ├── tk.js
│ │ │ │ │ ├── tr.js
│ │ │ │ │ ├── uk.js
│ │ │ │ │ ├── vi.js
│ │ │ │ │ ├── zh-CN.js
│ │ │ │ │ └── zh-TW.js
│ │ │ │ ├── keys.js
│ │ │ │ ├── options.js
│ │ │ │ ├── results.js
│ │ │ │ ├── selection
│ │ │ │ │ ├── allowClear.js
│ │ │ │ │ ├── base.js
│ │ │ │ │ ├── clickMask.js
│ │ │ │ │ ├── eventRelay.js
│ │ │ │ │ ├── multiple.js
│ │ │ │ │ ├── placeholder.js
│ │ │ │ │ ├── search.js
│ │ │ │ │ ├── single.js
│ │ │ │ │ └── stopPropagation.js
│ │ │ │ ├── translation.js
│ │ │ │ └── utils.js
│ │ │ ├── wrapper.end.js
│ │ │ └── wrapper.start.js
│ │ └── scss
│ │ │ ├── _dropdown.scss
│ │ │ ├── _multiple.scss
│ │ │ ├── _single.scss
│ │ │ ├── core.scss
│ │ │ ├── mixins
│ │ │ └── _gradients.scss
│ │ │ └── theme
│ │ │ ├── classic
│ │ │ ├── _defaults.scss
│ │ │ ├── _multiple.scss
│ │ │ ├── _single.scss
│ │ │ └── layout.scss
│ │ │ └── default
│ │ │ ├── _multiple.scss
│ │ │ ├── _single.scss
│ │ │ └── layout.scss
│ └── tests
│ │ ├── a11y
│ │ └── selection-tests.js
│ │ ├── data
│ │ ├── array-tests.js
│ │ ├── base-tests.js
│ │ ├── inputData-tests.js
│ │ ├── maximumInputLength-tests.js
│ │ ├── maximumSelectionLength-tests.js
│ │ ├── minimumInputLength-tests.js
│ │ ├── select-tests.js
│ │ ├── tags-tests.js
│ │ └── tokenizer-tests.js
│ │ ├── dropdown
│ │ ├── dropdownCss-tests.js
│ │ ├── dropdownParent-tests.js
│ │ ├── positioning-tests.js
│ │ ├── search-a11y-tests.js
│ │ ├── selectOnClose-tests.js
│ │ └── stopPropagation-tests.js
│ │ ├── helpers.js
│ │ ├── integration-jq1.html
│ │ ├── integration-jq2.html
│ │ ├── integration-jq3.html
│ │ ├── integration
│ │ ├── dom-changes.js
│ │ ├── jquery-calls.js
│ │ └── select2-methods.js
│ │ ├── options
│ │ ├── ajax-tests.js
│ │ ├── data-tests.js
│ │ ├── deprecated-tests.js
│ │ ├── translation-tests.js
│ │ └── width-tests.js
│ │ ├── results
│ │ ├── a11y-tests.js
│ │ ├── focusing-tests.js
│ │ ├── infiniteScroll-tests.js
│ │ └── option-tests.js
│ │ ├── selection
│ │ ├── allowClear-tests.js
│ │ ├── containerCss-tests.js
│ │ ├── focusing-tests.js
│ │ ├── multiple-tests.js
│ │ ├── openOnKeyDown-tests.js
│ │ ├── placeholder-tests.js
│ │ ├── search-a11y-tests.js
│ │ ├── search-placeholder-tests.js
│ │ ├── search-tests.js
│ │ ├── single-tests.js
│ │ └── stopPropagation-tests.js
│ │ ├── unit-jq1.html
│ │ ├── unit-jq2.html
│ │ ├── unit-jq3.html
│ │ ├── utils
│ │ ├── data-tests.js
│ │ ├── decorator-tests.js
│ │ └── escapeMarkup-tests.js
│ │ └── vendor
│ │ ├── jquery-1.7.2.js
│ │ ├── jquery-2.2.4.js
│ │ ├── jquery-3.4.1.js
│ │ ├── qunit-1.23.1.css
│ │ └── qunit-1.23.1.js
└── tinycolor
│ └── TinyColor-1.0.0
│ ├── .gitignore
│ ├── .travis.yml
│ ├── Gruntfile.js
│ ├── LICENSE
│ ├── README.md
│ ├── component.json
│ ├── demo
│ ├── demo.css
│ └── jquery-1.9.1.js
│ ├── docs
│ ├── docco.css
│ └── tinycolor.html
│ ├── index.html
│ ├── package.json
│ ├── test
│ ├── index.html
│ ├── qunit.css
│ ├── qunit.js
│ └── test.js
│ └── tinycolor.js
├── ABOUT.md
├── MANIFEST.in
├── README.md
├── babel.cfg
├── docker-compose.yml
├── extras
├── README.txt
└── SpoolManager.md
├── octoprint_SpoolManager
├── DatabaseManager.py
├── Odometer.py
├── Usecases.py
├── WrappedLoggingHandler.py
├── __init__.py
├── api
│ ├── SpoolManagerAPI.py
│ ├── Transformer.py
│ └── __init__.py
├── common
│ ├── CSVExportImporter.py
│ ├── EventBusKeys.py
│ ├── SettingsKeys.py
│ ├── StringUtils.py
│ └── __init__.py
├── models
│ ├── BaseModel.py
│ ├── PluginMetaDataModel.py
│ ├── SpoolModel.py
│ └── __init__.py
├── newodometer.py
├── static
│ ├── css
│ │ ├── SpoolManager.css
│ │ ├── datepicker.css
│ │ ├── datepicker.min.css
│ │ ├── jquery.datetimepicker.min.css
│ │ ├── pick-a-color-1.1.8.min.css
│ │ ├── quill.snow.css
│ │ └── select2.min.css
│ ├── images
│ │ ├── SPMByOlli.png
│ │ ├── janbex.png
│ │ ├── spool_blue.svg
│ │ ├── spool_grey.png
│ │ ├── spool_red.png
│ │ ├── spool_red.svg
│ │ └── spool_yellow.svg
│ ├── js
│ │ ├── ComponentFactory.js
│ │ ├── ResetSettingsUtilV3.js
│ │ ├── SpoolManager-APIClient.js
│ │ ├── SpoolManager-DatabaseConnectionProblemDialog.js
│ │ ├── SpoolManager-EditSpoolDialog.js
│ │ ├── SpoolManager-FilterSorter.js
│ │ ├── SpoolManager-ImportDialog.js
│ │ ├── SpoolManager-SpoolSelectionTableComp.js
│ │ ├── SpoolManager.js
│ │ ├── TableItemHelper.js
│ │ ├── jquery.datetimepicker.full.js
│ │ ├── jquery.datetimepicker.full.min.js
│ │ ├── pick-a-color.js
│ │ ├── quill.js
│ │ ├── quill.min.js
│ │ ├── select2.min.js
│ │ ├── tinycolor-min.js
│ │ └── tinycolor.js
│ └── less
│ │ └── SpoolManager.less
├── templates
│ ├── SpoolManager_dialog_csvImportStatus.jinja2
│ ├── SpoolManager_dialog_databaseConnectionProblem.jinja2
│ ├── SpoolManager_dialog_editSpool.jinja2
│ ├── SpoolManager_dialog_selectSpool.jinja2
│ ├── SpoolManager_settings.jinja2
│ ├── SpoolManager_sidebar.jinja2
│ ├── SpoolManager_tab.jinja2
│ ├── SpoolManager_tab_dialogs.jinja2
│ ├── SpoolManager_tab_macros.jinja2
│ └── SpoolManager_tab_spoolSelection_comp.jinja2
└── test
│ ├── spoolmanager_scheme_v3.db
│ ├── testOdometer.py
│ ├── test_CSVExporterImporter.py
│ ├── test_DatabaseManager.py
│ └── test_Scratchpad.py
├── requirements.txt
├── screenshots
├── editSpool-dialog.png
├── listSpools-tab.png
├── release-channels.png
├── scanSpool-dialog.png
├── selectSpool-dialog.png
└── selectSpool-sidebar.png
├── setup.py
├── testdata
├── pausehandling
│ └── M600pausetest.gcode
└── sample_import.csv
└── translations
└── README.txt
/.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 | end_of_line = lf
8 | charset = utf-8
9 | insert_final_newline = true
10 | trim_trailing_whitespace = true
11 |
12 | [**.py]
13 | indent_style = tab
14 |
15 | [**.js]
16 | indent_style = space
17 | indent_size = 4
18 |
--------------------------------------------------------------------------------
/.github/stale.yml:
--------------------------------------------------------------------------------
1 | # Number of days of inactivity before an issue becomes stale
2 | daysUntilStale: 30
3 | # Number of days of inactivity before a stale issue is closed
4 | daysUntilClose: 10
5 | # Issues with these labels will never be considered stale
6 | exemptLabels:
7 | - "status: analysing"
8 | - "status: inNextRelease"
9 | - "status: inProgress"
10 | - "status: wontfix"
11 | # Label to use when marking an issue as stale
12 | staleLabel: "status: markedForAutoClose"
13 | # Comment to post when marking an issue as stale. Set to `false` to disable
14 | markComment: >
15 | This issue has been automatically marked for closing, because it has not had
16 | activity in 30 days. It will be closed if no further activity occurs in 10 days.
17 | # Comment to post when closing a stale issue. Set to `false` to disable
18 | closeComment: false
19 |
--------------------------------------------------------------------------------
/.github/workflows/github-stale-actions.yml:
--------------------------------------------------------------------------------
1 | ## Documentation could be found here
2 | ## https://github.com/actions/stale
3 | ##
4 | name: 'Stale and close issues'
5 | on:
6 | schedule:
7 | # Each day at 1:30am run the action
8 | - cron: '30 1 * * *'
9 |
10 | jobs:
11 | stale:
12 | runs-on: ubuntu-latest
13 | steps:
14 | - uses: actions/stale@v4
15 | with:
16 | exempt-issue-labels: 'status: analysing,status: inNextRelease,status: inProgress,status: wontfix'
17 |
18 | days-before-issue-stale: 30
19 | stale-issue-message: 'This issue has been automatically marked for closing, because it has not had activity in 30 days. It will be closed if no further activity occurs in 10 days.'
20 | stale-issue-label: 'status: markedForAutoClose'
21 |
22 | days-before-issue-close: 10
23 | close-issue-message: 'This issue was closed, because it has been already marked for 10 days with no activity.'
24 | close-issue-label: 'status: closedByBot'
25 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | *.pyc
2 | *.swp
3 | .idea
4 | *.iml
5 | build
6 | dist
7 | *.egg*
8 | .DS_Store
9 | *.zip
10 | .venv
11 |
--------------------------------------------------------------------------------
/.travis.yml.notusedanymore:
--------------------------------------------------------------------------------
1 | ##
2 | ## Simple script to build a zip file of the whole repository
3 | ##
4 |
5 | script:
6 | # debug - echo 'Hello World'
7 | - export PLUGIN_VERSION=$(cat setup.py | grep 'plugin_version = "*"' | cut -d '"' -f2)
8 | - zip -r master.zip * -i '\octoprint_*' 'translations' 'README.md' 'requirements.txt' 'setup.py'
9 | # debug - ls -al
10 |
11 | ## see "Fix travis automatic build and deploy"
12 | ## https://github.com/oliexdev/openScale/pull/121
13 | ## https://github.com/oliexdev/openScale/pull/121/files
14 | before_deploy:
15 | - git tag -f travis-build
16 | - git remote add gh https://${TRAVIS_REPO_SLUG%/*}:${GITHUB_TOKEN}@github.com/${TRAVIS_REPO_SLUG}.git
17 | - git push -f gh travis-build
18 | - git remote remove gh
19 |
20 | deploy:
21 | name: "V${PLUGIN_VERSION}-draft"
22 | #prerelease: true
23 | draft: true
24 | provider: releases
25 | api_key: "${GITHUB_TOKEN}"
26 | file: "master.zip"
27 | overwrite: true
28 | skip_cleanup: true
29 | target_commitish: $TRAVIS_COMMIT
30 | on:
31 | tags: false
32 |
--------------------------------------------------------------------------------
/3rdPartySoftware/datetimepicker-2.5.20/.travis.yml:
--------------------------------------------------------------------------------
1 | language: node_js
2 | node_js:
3 | - "8"
4 | before_script:
5 | - "export DISPLAY=:99.0"
6 | - "sh -e /etc/init.d/xvfb start"
7 | - sleep 3 # give xvfb some time to start
--------------------------------------------------------------------------------
/3rdPartySoftware/datetimepicker-2.5.20/karma.conf.js:
--------------------------------------------------------------------------------
1 | module.exports = function(config) {
2 | config.set({
3 | basePath: '',
4 | frameworks: ['mocha', 'chai'],
5 | files: [
6 | 'jquery.datetimepicker.css',
7 | 'node_modules/php-date-formatter/js/php-date-formatter.js',
8 | 'jquery.js',
9 | 'jquery.datetimepicker.js',
10 | 'tests/bootstrap.js',
11 | 'tests/tests/*.js'
12 | ],
13 | reporters: ['progress'],
14 | port: 9876,
15 | colors: true,
16 | logLevel: config.LOG_INFO,
17 | browsers: ['Firefox'],
18 | autoWatch: true,
19 | singleRun: false, // Karma captures browsers, runs the tests and exits
20 | concurrency: Infinity,
21 | plugins: [
22 | 'karma-firefox-launcher',
23 | 'karma-mocha',
24 | 'karma-chai'
25 | ],
26 | client: {
27 | captureConsole: true
28 | }
29 | })
30 | };
--------------------------------------------------------------------------------
/3rdPartySoftware/datetimepicker-2.5.20/screen/1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OllisGit/OctoPrint-SpoolManager/dea8d64c1849c970f3616e158260c4c6fef5a4b7/3rdPartySoftware/datetimepicker-2.5.20/screen/1.png
--------------------------------------------------------------------------------
/3rdPartySoftware/datetimepicker-2.5.20/screen/2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OllisGit/OctoPrint-SpoolManager/dea8d64c1849c970f3616e158260c4c6fef5a4b7/3rdPartySoftware/datetimepicker-2.5.20/screen/2.png
--------------------------------------------------------------------------------
/3rdPartySoftware/datetimepicker-2.5.20/screen/3.1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OllisGit/OctoPrint-SpoolManager/dea8d64c1849c970f3616e158260c4c6fef5a4b7/3rdPartySoftware/datetimepicker-2.5.20/screen/3.1.png
--------------------------------------------------------------------------------
/3rdPartySoftware/datetimepicker-2.5.20/screen/3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OllisGit/OctoPrint-SpoolManager/dea8d64c1849c970f3616e158260c4c6fef5a4b7/3rdPartySoftware/datetimepicker-2.5.20/screen/3.png
--------------------------------------------------------------------------------
/3rdPartySoftware/datetimepicker-2.5.20/screen/4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OllisGit/OctoPrint-SpoolManager/dea8d64c1849c970f3616e158260c4c6fef5a4b7/3rdPartySoftware/datetimepicker-2.5.20/screen/4.png
--------------------------------------------------------------------------------
/3rdPartySoftware/datetimepicker-2.5.20/screen/5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OllisGit/OctoPrint-SpoolManager/dea8d64c1849c970f3616e158260c4c6fef5a4b7/3rdPartySoftware/datetimepicker-2.5.20/screen/5.png
--------------------------------------------------------------------------------
/3rdPartySoftware/datetimepicker-2.5.20/screen/6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OllisGit/OctoPrint-SpoolManager/dea8d64c1849c970f3616e158260c4c6fef5a4b7/3rdPartySoftware/datetimepicker-2.5.20/screen/6.png
--------------------------------------------------------------------------------
/3rdPartySoftware/datetimepicker-2.5.20/tests/app.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OllisGit/OctoPrint-SpoolManager/dea8d64c1849c970f3616e158260c4c6fef5a4b7/3rdPartySoftware/datetimepicker-2.5.20/tests/app.css
--------------------------------------------------------------------------------
/3rdPartySoftware/datetimepicker-2.5.20/tests/tests/destroy.js:
--------------------------------------------------------------------------------
1 | describe('Check destructor', function () {
2 | describe('Init picker and after this init again with command destroy', function () {
3 | it('Should remove picker from DOM and remove all listeners from original input', function (done) {
4 | var input = getInput();
5 | $(input).datetimepicker();
6 | var dtp = $(input).data('xdsoft_datetimepicker');
7 | expect(dtp).to.be.not.equal(null);
8 | expect(dtp[0].tagName).to.be.equal('DIV');
9 | expect(dtp[0].classList.contains('xdsoft_datetimepicker')).to.be.true;
10 | expect(dtp.is(':hidden')).to.be.true;
11 |
12 | $(input).datetimepicker('destroy');
13 | expect($(input).data('xdsoft_datetimepicker')).to.be.equal(null);
14 |
15 | $(input).trigger('mousedown')
16 | setTimeout(function () {
17 | expect(dtp.is(':hidden')).to.be.true;
18 | done();
19 | }, 150)
20 | });
21 | });
22 | });
--------------------------------------------------------------------------------
/3rdPartySoftware/pick-a-color-master/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | .idea
3 | node_modules
4 |
--------------------------------------------------------------------------------
/3rdPartySoftware/pick-a-color-master/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "pick-a-color",
3 | "keywords": ["color picker", "jquery color picker", "bootstrap color picker"],
4 | "description": "an easy-to-use jQuery color picker for Twitter Bootstrap",
5 | "version": "1.2.2",
6 | "main": ["build/1.2.2/js/pick-a-color-1.2.2.min.js", "build/1.2.0/css/pick-a-color-1.2.0.min.css"],
7 | "ignore": [
8 | "**/.*",
9 | "node_modules",
10 | "components",
11 | "bower_components",
12 | "test",
13 | "tests"
14 | ],
15 | "dependencies": {
16 | "bootstrap": "3.0.0",
17 | "jquery": "1.9.1",
18 | "tinycolor": "0.9.15"
19 | }
20 | }
--------------------------------------------------------------------------------
/3rdPartySoftware/pick-a-color-master/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "pick-a-color",
3 | "version": "1.2.3",
4 | "devDependencies": {
5 | "grunt": "~0.4.1",
6 | "grunt-contrib-jshint": "~0.6.1",
7 | "grunt-contrib-uglify": "~0.2.2",
8 | "grunt-contrib-less": "~0.6.4",
9 | "grunt-contrib-watch": "~0.5.1",
10 | "grunt-bower-task": "~0.3.4"
11 | },
12 | "repository": {
13 | "type": "git",
14 | "url": "https://github.com/lauren/pick-a-color.git"
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.10/.editorconfig:
--------------------------------------------------------------------------------
1 | [*]
2 | indent_style = space
3 | end_of_line = lf
4 |
5 | [*.js]
6 | indent_size = 2
7 |
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.10/.github/PULL_REQUEST_TEMPLATE.md:
--------------------------------------------------------------------------------
1 | This pull request includes a
2 |
3 | - [ ] Bug fix
4 | - [ ] New feature
5 | - [ ] Translation
6 |
7 | The following changes were made
8 |
9 | -
10 | -
11 | -
12 |
13 | If this is related to an existing ticket, include a link to it as well.
14 |
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.10/.github/stale.yml:
--------------------------------------------------------------------------------
1 | # Number of days of inactivity before an issue becomes stale
2 | daysUntilStale: 60
3 | # Number of days of inactivity before a stale issue is closed
4 | daysUntilClose: 7
5 | # Issues with these labels will never be considered stale
6 | # Label to use when marking an issue as stale
7 | staleLabel: "status: stale"
8 | # Comment to post when marking an issue as stale. Set to `false` to disable
9 | markComment: >
10 | This issue has been automatically marked as stale because it has not had
11 | recent activity. It will be closed if no further activity occurs. Thank you
12 | for your contributions.
13 | # Comment to post when closing a stale issue. Set to `false` to disable
14 | closeComment: false
15 |
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.10/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | dist/js/i18n/build.txt
3 | .sass-cache
4 |
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.10/.jshintignore:
--------------------------------------------------------------------------------
1 | src/js/banner.*.js
2 | src/js/wrapper.*.js
3 | tests/vendor/*.js
4 | tests/helpers.js
5 |
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.10/.jshintrc:
--------------------------------------------------------------------------------
1 | {
2 | "bitwise": true,
3 | "camelcase": true,
4 | "curly": true,
5 | "es3": true,
6 | "eqnull": true,
7 | "freeze": true,
8 | "globals": {
9 | "console": false,
10 | "define": false,
11 | "document": false,
12 | "MockContainer": false,
13 | "module": false,
14 | "QUnit": false,
15 | "require": false,
16 | "test": false,
17 | "window": false
18 | },
19 | "indent": 2,
20 | "maxlen": 80,
21 | "noarg": true,
22 | "nonew": true,
23 | "quotmark": "single",
24 | "undef": true
25 | }
26 |
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.10/.travis.yml:
--------------------------------------------------------------------------------
1 | language: node_js
2 |
3 | node_js:
4 | - "8"
5 |
6 | script:
7 | - grunt
8 |
9 | notifications:
10 | email: false
11 |
12 | deploy:
13 | - provider: npm
14 | email:
15 | secure: T/xRKPHPI1GwomNYb3nvMntS805vdzewDKNwB+lDS6WOfXQx9td5CIbkhpfAW3zVjdbsXFVSOzufesY+RtF4gq8yvW5FhV7py6gwnEyW8LybgYssUd08W/fMoiCjORRXxwqnoHEh956z3Z9De4Q9ow47m8iniAsKRR1I1DHaKs0=
16 | api_key:
17 | secure: BCdGeRjm8i9V+gbaVNIYk7+zLyeLOQDm6eCH+NYVX137gkNBoYqL/U7GGfHoWxEvrVgN8tcCM6RrS5qU+Wu/Wy/esz1PeSoFxKEIJx+p6BCzACFl1tJWqdm/JlmnuCiZdHs6TTtfKQwaJAK4H0Kfp5qJZS9QA/RxBpkfBQZW9VY=
18 | on:
19 | tags: true
20 | skip_cleanup: true
21 |
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.10/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "select2",
3 | "description": "Select2 is a jQuery based replacement for select boxes. It supports searching, remote data sets, and infinite scrolling of results.",
4 | "main": [
5 | "dist/js/select2.js",
6 | "src/scss/core.scss"
7 | ],
8 | "license": "MIT",
9 | "repository": {
10 | "type": "git",
11 | "url": "git@github.com:select2/select2.git"
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.10/component.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "select2",
3 | "repo": "select/select2",
4 | "description": "Select2 is a jQuery based replacement for select boxes. It supports searching, remote data sets, and infinite scrolling of results.",
5 | "version": "4.0.10",
6 | "demo": "https://select2.org/",
7 | "keywords": [
8 | "jquery"
9 | ],
10 | "main": "dist/js/select2.js",
11 | "styles": [
12 | "dist/css/select2.css"
13 | ],
14 | "scripts": [
15 | "dist/js/select2.js",
16 | "dist/js/i18n/*.js"
17 | ],
18 | "license": "MIT"
19 | }
20 |
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.10/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "select2/select2",
3 | "description": "Select2 is a jQuery based replacement for select boxes.",
4 | "type": "component",
5 | "homepage": "https://select2.org/",
6 | "license": "MIT",
7 | "extra": {
8 | "component": {
9 | "scripts": [
10 | "dist/js/select2.js"
11 | ],
12 | "styles": [
13 | "dist/css/select2.css"
14 | ],
15 | "files": [
16 | "dist/js/select2.js",
17 | "dist/js/i18n/*.js",
18 | "dist/css/select2.css"
19 | ]
20 | }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.10/docs/README.md:
--------------------------------------------------------------------------------
1 | Effective beginning September 10, 2017, the Select2 documentation repository is now available at [`select2/docs`](https://github.com/select2/docs).
2 |
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.10/docs/announcements-4.0.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | select2
6 |
7 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.10/docs/community.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | select2
6 |
7 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.10/docs/examples.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | select2
6 |
7 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.10/docs/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | select2
6 |
7 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.10/docs/options-old.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | select2
6 |
7 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.10/docs/options.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | select2
6 |
7 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.10/src/js/banner.end.js:
--------------------------------------------------------------------------------
1 | // Return the AMD loader configuration so it can be used outside of this file
2 | return {
3 | define: S2.define,
4 | require: S2.require
5 | };
6 | }());
7 |
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.10/src/js/banner.start.js:
--------------------------------------------------------------------------------
1 | (function () {
2 | // Restore the Select2 AMD loader so it can be used
3 | // Needed mostly in the language files, where the loader is not inserted
4 | if (jQuery && jQuery.fn && jQuery.fn.select2 && jQuery.fn.select2.amd) {
5 | var S2 = jQuery.fn.select2.amd;
6 | }
7 |
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.10/src/js/jquery.mousewheel.shim.js:
--------------------------------------------------------------------------------
1 | define([
2 | 'jquery'
3 | ], function ($) {
4 | // Used to shim jQuery.mousewheel for non-full builds.
5 | return $;
6 | });
7 |
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.10/src/js/jquery.shim.js:
--------------------------------------------------------------------------------
1 | /* global jQuery:false, $:false */
2 | define(function () {
3 | var _$ = jQuery || $;
4 |
5 | if (_$ == null && console && console.error) {
6 | console.error(
7 | 'Select2: An instance of jQuery or a jQuery-compatible library was not ' +
8 | 'found. Make sure that you are including jQuery before Select2 on your ' +
9 | 'web page.'
10 | );
11 | }
12 |
13 | return _$;
14 | });
15 |
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.10/src/js/select2/compat/query.js:
--------------------------------------------------------------------------------
1 | define([
2 |
3 | ], function () {
4 | function Query (decorated, $element, options) {
5 | if (options.get('debug') && window.console && console.warn) {
6 | console.warn(
7 | 'Select2: The `query` option has been deprecated in favor of a ' +
8 | 'custom data adapter that overrides the `query` method. Support ' +
9 | 'will be removed for the `query` option in future versions of ' +
10 | 'Select2.'
11 | );
12 | }
13 |
14 | decorated.call(this, $element, options);
15 | }
16 |
17 | Query.prototype.query = function (_, params, callback) {
18 | params.callback = callback;
19 |
20 | var query = this.options.get('query');
21 |
22 | query.call(null, params);
23 | };
24 |
25 | return Query;
26 | });
27 |
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.10/src/js/select2/data/maximumInputLength.js:
--------------------------------------------------------------------------------
1 | define([
2 |
3 | ], function () {
4 | function MaximumInputLength (decorated, $e, options) {
5 | this.maximumInputLength = options.get('maximumInputLength');
6 |
7 | decorated.call(this, $e, options);
8 | }
9 |
10 | MaximumInputLength.prototype.query = function (decorated, params, callback) {
11 | params.term = params.term || '';
12 |
13 | if (this.maximumInputLength > 0 &&
14 | params.term.length > this.maximumInputLength) {
15 | this.trigger('results:message', {
16 | message: 'inputTooLong',
17 | args: {
18 | maximum: this.maximumInputLength,
19 | input: params.term,
20 | params: params
21 | }
22 | });
23 |
24 | return;
25 | }
26 |
27 | decorated.call(this, params, callback);
28 | };
29 |
30 | return MaximumInputLength;
31 | });
32 |
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.10/src/js/select2/data/minimumInputLength.js:
--------------------------------------------------------------------------------
1 | define([
2 |
3 | ], function () {
4 | function MinimumInputLength (decorated, $e, options) {
5 | this.minimumInputLength = options.get('minimumInputLength');
6 |
7 | decorated.call(this, $e, options);
8 | }
9 |
10 | MinimumInputLength.prototype.query = function (decorated, params, callback) {
11 | params.term = params.term || '';
12 |
13 | if (params.term.length < this.minimumInputLength) {
14 | this.trigger('results:message', {
15 | message: 'inputTooShort',
16 | args: {
17 | minimum: this.minimumInputLength,
18 | input: params.term,
19 | params: params
20 | }
21 | });
22 |
23 | return;
24 | }
25 |
26 | decorated.call(this, params, callback);
27 | };
28 |
29 | return MinimumInputLength;
30 | });
31 |
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.10/src/js/select2/dropdown/attachContainer.js:
--------------------------------------------------------------------------------
1 | define([
2 |
3 | ], function () {
4 | function AttachContainer (decorated, $element, options) {
5 | decorated.call(this, $element, options);
6 | }
7 |
8 | AttachContainer.prototype.position =
9 | function (decorated, $dropdown, $container) {
10 | var $dropdownContainer = $container.find('.dropdown-wrapper');
11 | $dropdownContainer.append($dropdown);
12 |
13 | $dropdown.addClass('select2-dropdown--below');
14 | $container.addClass('select2-container--below');
15 | };
16 |
17 | return AttachContainer;
18 | });
19 |
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.10/src/js/select2/dropdown/closeOnSelect.js:
--------------------------------------------------------------------------------
1 | define([
2 |
3 | ], function () {
4 | function CloseOnSelect () { }
5 |
6 | CloseOnSelect.prototype.bind = function (decorated, container, $container) {
7 | var self = this;
8 |
9 | decorated.call(this, container, $container);
10 |
11 | container.on('select', function (evt) {
12 | self._selectTriggered(evt);
13 | });
14 |
15 | container.on('unselect', function (evt) {
16 | self._selectTriggered(evt);
17 | });
18 | };
19 |
20 | CloseOnSelect.prototype._selectTriggered = function (_, evt) {
21 | var originalEvent = evt.originalEvent;
22 |
23 | // Don't close if the control key is being held
24 | if (originalEvent && (originalEvent.ctrlKey || originalEvent.metaKey)) {
25 | return;
26 | }
27 |
28 | this.trigger('close', {
29 | originalEvent: originalEvent,
30 | originalSelect2Event: evt
31 | });
32 | };
33 |
34 | return CloseOnSelect;
35 | });
36 |
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.10/src/js/select2/dropdown/minimumResultsForSearch.js:
--------------------------------------------------------------------------------
1 | define([
2 |
3 | ], function () {
4 | function countResults (data) {
5 | var count = 0;
6 |
7 | for (var d = 0; d < data.length; d++) {
8 | var item = data[d];
9 |
10 | if (item.children) {
11 | count += countResults(item.children);
12 | } else {
13 | count++;
14 | }
15 | }
16 |
17 | return count;
18 | }
19 |
20 | function MinimumResultsForSearch (decorated, $element, options, dataAdapter) {
21 | this.minimumResultsForSearch = options.get('minimumResultsForSearch');
22 |
23 | if (this.minimumResultsForSearch < 0) {
24 | this.minimumResultsForSearch = Infinity;
25 | }
26 |
27 | decorated.call(this, $element, options, dataAdapter);
28 | }
29 |
30 | MinimumResultsForSearch.prototype.showSearch = function (decorated, params) {
31 | if (countResults(params.data.results) < this.minimumResultsForSearch) {
32 | return false;
33 | }
34 |
35 | return decorated.call(this, params);
36 | };
37 |
38 | return MinimumResultsForSearch;
39 | });
40 |
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.10/src/js/select2/dropdown/stopPropagation.js:
--------------------------------------------------------------------------------
1 | define([
2 |
3 | ], function () {
4 | function StopPropagation () { }
5 |
6 | StopPropagation.prototype.bind = function (decorated, container, $container) {
7 | decorated.call(this, container, $container);
8 |
9 | var stoppedEvents = [
10 | 'blur',
11 | 'change',
12 | 'click',
13 | 'dblclick',
14 | 'focus',
15 | 'focusin',
16 | 'focusout',
17 | 'input',
18 | 'keydown',
19 | 'keyup',
20 | 'keypress',
21 | 'mousedown',
22 | 'mouseenter',
23 | 'mouseleave',
24 | 'mousemove',
25 | 'mouseover',
26 | 'mouseup',
27 | 'search',
28 | 'touchend',
29 | 'touchstart'
30 | ];
31 |
32 | this.$dropdown.on(stoppedEvents.join(' '), function (evt) {
33 | evt.stopPropagation();
34 | });
35 | };
36 |
37 | return StopPropagation;
38 | });
39 |
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.10/src/js/select2/i18n/ar.js:
--------------------------------------------------------------------------------
1 | define(function () {
2 | // Arabic
3 | return {
4 | errorLoading: function () {
5 | return 'لا يمكن تحميل النتائج';
6 | },
7 | inputTooLong: function (args) {
8 | var overChars = args.input.length - args.maximum;
9 |
10 | return 'الرجاء حذف ' + overChars + ' عناصر';
11 | },
12 | inputTooShort: function (args) {
13 | var remainingChars = args.minimum - args.input.length;
14 |
15 | return 'الرجاء إضافة ' + remainingChars + ' عناصر';
16 | },
17 | loadingMore: function () {
18 | return 'جاري تحميل نتائج إضافية...';
19 | },
20 | maximumSelected: function (args) {
21 | return 'تستطيع إختيار ' + args.maximum + ' بنود فقط';
22 | },
23 | noResults: function () {
24 | return 'لم يتم العثور على أي نتائج';
25 | },
26 | searching: function () {
27 | return 'جاري البحث…';
28 | },
29 | removeAllItems: function () {
30 | return 'قم بإزالة كل العناصر';
31 | }
32 | };
33 | });
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.10/src/js/select2/i18n/az.js:
--------------------------------------------------------------------------------
1 | define(function () {
2 | // Azerbaijani
3 | return {
4 | inputTooLong: function (args) {
5 | var overChars = args.input.length - args.maximum;
6 |
7 | return overChars + ' simvol silin';
8 | },
9 | inputTooShort: function (args) {
10 | var remainingChars = args.minimum - args.input.length;
11 |
12 | return remainingChars + ' simvol daxil edin';
13 | },
14 | loadingMore: function () {
15 | return 'Daha çox nəticə yüklənir…';
16 | },
17 | maximumSelected: function (args) {
18 | return 'Sadəcə ' + args.maximum + ' element seçə bilərsiniz';
19 | },
20 | noResults: function () {
21 | return 'Nəticə tapılmadı';
22 | },
23 | searching: function () {
24 | return 'Axtarılır…';
25 | },
26 | removeAllItems: function () {
27 | return 'Bütün elementləri sil';
28 | }
29 | };
30 | });
31 |
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.10/src/js/select2/i18n/fi.js:
--------------------------------------------------------------------------------
1 | define(function () {
2 | // Finnish
3 | return {
4 | errorLoading: function () {
5 | return 'Tuloksia ei saatu ladattua.';
6 | },
7 | inputTooLong: function (args) {
8 | var overChars = args.input.length - args.maximum;
9 |
10 | return 'Ole hyvä ja anna ' + overChars + ' merkkiä vähemmän';
11 | },
12 | inputTooShort: function (args) {
13 | var remainingChars = args.minimum - args.input.length;
14 |
15 | return 'Ole hyvä ja anna ' + remainingChars + ' merkkiä lisää';
16 | },
17 | loadingMore: function () {
18 | return 'Ladataan lisää tuloksia…';
19 | },
20 | maximumSelected: function (args) {
21 | return 'Voit valita ainoastaan ' + args.maximum + ' kpl';
22 | },
23 | noResults: function () {
24 | return 'Ei tuloksia';
25 | },
26 | searching: function () {
27 | return 'Haetaan…';
28 | },
29 | removeAllItems: function () {
30 | return 'Poista kaikki kohteet';
31 | }
32 | };
33 | });
34 |
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.10/src/js/select2/i18n/hu.js:
--------------------------------------------------------------------------------
1 | define(function () {
2 | // Hungarian
3 | return {
4 | errorLoading: function () {
5 | return 'Az eredmények betöltése nem sikerült.';
6 | },
7 | inputTooLong: function (args) {
8 | var overChars = args.input.length - args.maximum;
9 |
10 | return 'Túl hosszú. ' + overChars + ' karakterrel több, mint kellene.';
11 | },
12 | inputTooShort: function (args) {
13 | var remainingChars = args.minimum - args.input.length;
14 |
15 | return 'Túl rövid. Még ' + remainingChars + ' karakter hiányzik.';
16 | },
17 | loadingMore: function () {
18 | return 'Töltés…';
19 | },
20 | maximumSelected: function (args) {
21 | return 'Csak ' + args.maximum + ' elemet lehet kiválasztani.';
22 | },
23 | noResults: function () {
24 | return 'Nincs találat.';
25 | },
26 | searching: function () {
27 | return 'Keresés…';
28 | },
29 | removeAllItems: function () {
30 | return 'Távolítson el minden elemet';
31 | }
32 | };
33 | });
34 |
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.10/src/js/select2/i18n/id.js:
--------------------------------------------------------------------------------
1 | define(function () {
2 | // Indonesian
3 | return {
4 | errorLoading: function () {
5 | return 'Data tidak boleh diambil.';
6 | },
7 | inputTooLong: function (args) {
8 | var overChars = args.input.length - args.maximum;
9 |
10 | return 'Hapuskan ' + overChars + ' huruf';
11 | },
12 | inputTooShort: function (args) {
13 | var remainingChars = args.minimum - args.input.length;
14 |
15 | return 'Masukkan ' + remainingChars + ' huruf lagi';
16 | },
17 | loadingMore: function () {
18 | return 'Mengambil data…';
19 | },
20 | maximumSelected: function (args) {
21 | return 'Anda hanya dapat memilih ' + args.maximum + ' pilihan';
22 | },
23 | noResults: function () {
24 | return 'Tidak ada data yang sesuai';
25 | },
26 | searching: function () {
27 | return 'Mencari…';
28 | },
29 | removeAllItems: function () {
30 | return 'Hapus semua item';
31 | }
32 | };
33 | });
34 |
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.10/src/js/select2/i18n/ja.js:
--------------------------------------------------------------------------------
1 | define(function () {
2 | // Japanese
3 | return {
4 | errorLoading: function () {
5 | return '結果が読み込まれませんでした';
6 | },
7 | inputTooLong: function (args) {
8 | var overChars = args.input.length - args.maximum;
9 |
10 | var message = overChars + ' 文字を削除してください';
11 |
12 | return message;
13 | },
14 | inputTooShort: function (args) {
15 | var remainingChars = args.minimum - args.input.length;
16 |
17 | var message = '少なくとも ' + remainingChars + ' 文字を入力してください';
18 |
19 | return message;
20 | },
21 | loadingMore: function () {
22 | return '読み込み中…';
23 | },
24 | maximumSelected: function (args) {
25 | var message = args.maximum + ' 件しか選択できません';
26 |
27 | return message;
28 | },
29 | noResults: function () {
30 | return '対象が見つかりません';
31 | },
32 | searching: function () {
33 | return '検索しています…';
34 | },
35 | removeAllItems: function () {
36 | return 'すべてのアイテムを削除';
37 | }
38 | };
39 | });
40 |
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.10/src/js/select2/i18n/ko.js:
--------------------------------------------------------------------------------
1 | define(function () {
2 | // Korean
3 | return {
4 | errorLoading: function () {
5 | return '결과를 불러올 수 없습니다.';
6 | },
7 | inputTooLong: function (args) {
8 | var overChars = args.input.length - args.maximum;
9 |
10 | var message = '너무 깁니다. ' + overChars + ' 글자 지워주세요.';
11 |
12 | return message;
13 | },
14 | inputTooShort: function (args) {
15 | var remainingChars = args.minimum - args.input.length;
16 |
17 | var message = '너무 짧습니다. ' + remainingChars + ' 글자 더 입력해주세요.';
18 |
19 | return message;
20 | },
21 | loadingMore: function () {
22 | return '불러오는 중…';
23 | },
24 | maximumSelected: function (args) {
25 | var message = '최대 ' + args.maximum + '개까지만 선택 가능합니다.';
26 |
27 | return message;
28 | },
29 | noResults: function () {
30 | return '결과가 없습니다.';
31 | },
32 | searching: function () {
33 | return '검색 중…';
34 | },
35 | removeAllItems: function () {
36 | return '모든 항목 삭제';
37 | }
38 | };
39 | });
40 |
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.10/src/js/select2/i18n/ms.js:
--------------------------------------------------------------------------------
1 | define(function () {
2 | // Malay
3 | return {
4 | errorLoading: function () {
5 | return 'Keputusan tidak berjaya dimuatkan.';
6 | },
7 | inputTooLong: function (args) {
8 | var overChars = args.input.length - args.maximum;
9 |
10 | return 'Sila hapuskan ' + overChars + ' aksara';
11 | },
12 | inputTooShort: function (args) {
13 | var remainingChars = args.minimum - args.input.length;
14 |
15 | return 'Sila masukkan ' + remainingChars + ' atau lebih aksara';
16 | },
17 | loadingMore: function () {
18 | return 'Sedang memuatkan keputusan…';
19 | },
20 | maximumSelected: function (args) {
21 | return 'Anda hanya boleh memilih ' + args.maximum + ' pilihan';
22 | },
23 | noResults: function () {
24 | return 'Tiada padanan yang ditemui';
25 | },
26 | searching: function () {
27 | return 'Mencari…';
28 | },
29 | removeAllItems: function () {
30 | return 'Keluarkan semua item';
31 | }
32 | };
33 | });
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.10/src/js/select2/i18n/nb.js:
--------------------------------------------------------------------------------
1 | define(function () {
2 | // Norwegian (Bokmål)
3 | return {
4 | errorLoading: function () {
5 | return 'Kunne ikke hente resultater.';
6 | },
7 | inputTooLong: function (args) {
8 | var overChars = args.input.length - args.maximum;
9 |
10 | return 'Vennligst fjern ' + overChars + ' tegn';
11 | },
12 | inputTooShort: function (args) {
13 | var remainingChars = args.minimum - args.input.length;
14 |
15 | return 'Vennligst skriv inn ' + remainingChars + ' tegn til';
16 | },
17 | loadingMore: function () {
18 | return 'Laster flere resultater…';
19 | },
20 | maximumSelected: function (args) {
21 | return 'Du kan velge maks ' + args.maximum + ' elementer';
22 | },
23 | noResults: function () {
24 | return 'Ingen treff';
25 | },
26 | searching: function () {
27 | return 'Søker…';
28 | },
29 | removeAllItems: function () {
30 | return 'Fjern alle elementer';
31 | }
32 | };
33 | });
34 |
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.10/src/js/select2/i18n/vi.js:
--------------------------------------------------------------------------------
1 | define(function () {
2 | // Vietnamese
3 | return {
4 | inputTooLong: function (args) {
5 | var overChars = args.input.length - args.maximum;
6 |
7 | var message = 'Vui lòng xóa bớt ' + overChars + ' ký tự';
8 |
9 | return message;
10 | },
11 | inputTooShort: function (args) {
12 | var remainingChars = args.minimum - args.input.length;
13 |
14 | var message = 'Vui lòng nhập thêm từ ' + remainingChars +
15 | ' ký tự trở lên';
16 |
17 | return message;
18 | },
19 | loadingMore: function () {
20 | return 'Đang lấy thêm kết quả…';
21 | },
22 | maximumSelected: function (args) {
23 | var message = 'Chỉ có thể chọn được ' + args.maximum + ' lựa chọn';
24 |
25 | return message;
26 | },
27 | noResults: function () {
28 | return 'Không tìm thấy kết quả';
29 | },
30 | searching: function () {
31 | return 'Đang tìm…';
32 | },
33 | removeAllItems: function () {
34 | return 'Xóa tất cả các mục';
35 | }
36 | };
37 | });
38 |
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.10/src/js/select2/i18n/zh-CN.js:
--------------------------------------------------------------------------------
1 | define(function () {
2 | // Chinese (Simplified)
3 | return {
4 | errorLoading: function () {
5 | return '无法载入结果。';
6 | },
7 | inputTooLong: function (args) {
8 | var overChars = args.input.length - args.maximum;
9 |
10 | var message = '请删除' + overChars + '个字符';
11 |
12 | return message;
13 | },
14 | inputTooShort: function (args) {
15 | var remainingChars = args.minimum - args.input.length;
16 |
17 | var message = '请再输入至少' + remainingChars + '个字符';
18 |
19 | return message;
20 | },
21 | loadingMore: function () {
22 | return '载入更多结果…';
23 | },
24 | maximumSelected: function (args) {
25 | var message = '最多只能选择' + args.maximum + '个项目';
26 |
27 | return message;
28 | },
29 | noResults: function () {
30 | return '未找到结果';
31 | },
32 | searching: function () {
33 | return '搜索中…';
34 | },
35 | removeAllItems: function () {
36 | return '删除所有项目';
37 | }
38 | };
39 | });
40 |
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.10/src/js/select2/i18n/zh-TW.js:
--------------------------------------------------------------------------------
1 | define(function () {
2 | // Chinese (Traditional)
3 | return {
4 | inputTooLong: function (args) {
5 | var overChars = args.input.length - args.maximum;
6 |
7 | var message = '請刪掉' + overChars + '個字元';
8 |
9 | return message;
10 | },
11 | inputTooShort: function (args) {
12 | var remainingChars = args.minimum - args.input.length;
13 |
14 | var message = '請再輸入' + remainingChars + '個字元';
15 |
16 | return message;
17 | },
18 | loadingMore: function () {
19 | return '載入中…';
20 | },
21 | maximumSelected: function (args) {
22 | var message = '你只能選擇最多' + args.maximum + '項';
23 |
24 | return message;
25 | },
26 | noResults: function () {
27 | return '沒有找到相符的項目';
28 | },
29 | searching: function () {
30 | return '搜尋中…';
31 | },
32 | removeAllItems: function () {
33 | return '刪除所有項目';
34 | }
35 | };
36 | });
37 |
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.10/src/js/select2/keys.js:
--------------------------------------------------------------------------------
1 | define([
2 |
3 | ], function () {
4 | var KEYS = {
5 | BACKSPACE: 8,
6 | TAB: 9,
7 | ENTER: 13,
8 | SHIFT: 16,
9 | CTRL: 17,
10 | ALT: 18,
11 | ESC: 27,
12 | SPACE: 32,
13 | PAGE_UP: 33,
14 | PAGE_DOWN: 34,
15 | END: 35,
16 | HOME: 36,
17 | LEFT: 37,
18 | UP: 38,
19 | RIGHT: 39,
20 | DOWN: 40,
21 | DELETE: 46
22 | };
23 |
24 | return KEYS;
25 | });
26 |
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.10/src/js/select2/selection/clickMask.js:
--------------------------------------------------------------------------------
1 | define([
2 | 'jquery'
3 | ], function ($) {
4 | function ClickMask () { }
5 |
6 | ClickMask.prototype.bind = function (decorate, $container, container) {
7 | var self = this;
8 |
9 | decorate.call(this, $container, container);
10 |
11 | this.$mask = $(
12 | ''
13 | );
14 |
15 | this.$mask.on('mousedown touchstart click', function () {
16 | self.trigger('close', {});
17 | });
18 | };
19 |
20 | ClickMask.prototype._attachCloseHandler = function (decorate, container) {
21 | $(document.body).append(this.$mask);
22 | };
23 |
24 | ClickMask.prototype._detachCloseHandler = function (deocrate, container) {
25 | this.$mask.detach();
26 | };
27 |
28 | return ClickMask;
29 | });
30 |
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.10/src/js/select2/selection/stopPropagation.js:
--------------------------------------------------------------------------------
1 | define([
2 |
3 | ], function () {
4 | function StopPropagation () { }
5 |
6 | StopPropagation.prototype.bind = function (decorated, container, $container) {
7 | decorated.call(this, container, $container);
8 |
9 | var stoppedEvents = [
10 | 'blur',
11 | 'change',
12 | 'click',
13 | 'dblclick',
14 | 'focus',
15 | 'focusin',
16 | 'focusout',
17 | 'input',
18 | 'keydown',
19 | 'keyup',
20 | 'keypress',
21 | 'mousedown',
22 | 'mouseenter',
23 | 'mouseleave',
24 | 'mousemove',
25 | 'mouseover',
26 | 'mouseup',
27 | 'search',
28 | 'touchend',
29 | 'touchstart'
30 | ];
31 |
32 | this.$selection.on(stoppedEvents.join(' '), function (evt) {
33 | evt.stopPropagation();
34 | });
35 | };
36 |
37 | return StopPropagation;
38 | });
39 |
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.10/src/js/select2/translation.js:
--------------------------------------------------------------------------------
1 | define([
2 | 'jquery',
3 | 'require'
4 | ], function ($, require) {
5 | function Translation (dict) {
6 | this.dict = dict || {};
7 | }
8 |
9 | Translation.prototype.all = function () {
10 | return this.dict;
11 | };
12 |
13 | Translation.prototype.get = function (key) {
14 | return this.dict[key];
15 | };
16 |
17 | Translation.prototype.extend = function (translation) {
18 | this.dict = $.extend({}, translation.all(), this.dict);
19 | };
20 |
21 | // Static functions
22 |
23 | Translation._cache = {};
24 |
25 | Translation.loadPath = function (path) {
26 | if (!(path in Translation._cache)) {
27 | var translations = require(path);
28 |
29 | Translation._cache[path] = translations;
30 | }
31 |
32 | return new Translation(Translation._cache[path]);
33 | };
34 |
35 | return Translation;
36 | });
37 |
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.10/src/js/wrapper.end.js:
--------------------------------------------------------------------------------
1 | // Autoload the jQuery bindings
2 | // We know that all of the modules exist above this, so we're safe
3 | var select2 = S2.require('jquery.select2');
4 |
5 | // Hold the AMD module references on the jQuery function that was just loaded
6 | // This allows Select2 to use the internal loader outside of this file, such
7 | // as in the language files.
8 | jQuery.fn.select2.amd = S2;
9 |
10 | // Return the Select2 instance for anyone who is importing it.
11 | return select2;
12 | }));
13 |
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.10/src/scss/_multiple.scss:
--------------------------------------------------------------------------------
1 | .select2-selection--multiple {
2 | box-sizing: border-box;
3 |
4 | cursor: pointer;
5 | display: block;
6 |
7 | min-height: 32px;
8 |
9 | user-select: none;
10 | -webkit-user-select: none;
11 |
12 | .select2-selection__rendered {
13 | display: inline-block;
14 | overflow: hidden;
15 | padding-left: 8px;
16 | text-overflow: ellipsis;
17 | white-space: nowrap;
18 | }
19 | }
20 |
21 | .select2-search--inline {
22 | float: left;
23 |
24 | .select2-search__field {
25 | box-sizing: border-box;
26 | border: none;
27 | font-size: 100%;
28 | margin-top: 5px;
29 | padding: 0;
30 |
31 | &::-webkit-search-cancel-button {
32 | -webkit-appearance: none;
33 | }
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.10/src/scss/_single.scss:
--------------------------------------------------------------------------------
1 | .select2-selection--single {
2 | box-sizing: border-box;
3 |
4 | cursor: pointer;
5 | display: block;
6 |
7 | height: 28px;
8 |
9 | user-select: none;
10 | -webkit-user-select: none;
11 |
12 | .select2-selection__rendered {
13 | display: block;
14 | padding-left: 8px;
15 | padding-right: 20px;
16 |
17 | overflow: hidden;
18 | text-overflow: ellipsis;
19 | white-space: nowrap;
20 | }
21 |
22 | .select2-selection__clear {
23 | position: relative;
24 | }
25 | }
26 |
27 | &[dir="rtl"] {
28 | .select2-selection--single {
29 | .select2-selection__rendered {
30 | padding-right: 8px;
31 | padding-left: 20px;
32 | }
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.10/src/scss/theme/classic/_defaults.scss:
--------------------------------------------------------------------------------
1 | $remove-color: #888 !default;
2 | $remove-hover-color: #555 !default;
3 | $remove-width: 20px !default;
4 |
5 | $selection-color: #444 !default;
6 |
7 | $border-color: #aaa !default;
8 | $border-radius: 4px !default;
9 |
10 | $focus-border-color: #5897fb !default;
11 |
12 | $container-height: 28px !default;
13 |
14 | $selection-bg-top-color: white !default;
15 | $selection-bg-bottom-color: #eeeeee !default;
16 |
17 | $container-placeholder-color: #999 !default;
18 |
19 | $container-focus-border-color: blue !default;
20 |
21 | $selection-opened-bg-top-color: $selection-bg-bottom-color !default;
22 | $selection-opened-bg-bottom-color: $selection-bg-top-color !default;
23 |
24 | $dropdown-z-index: 1 !default;
25 |
26 | $dropdown-bg-color: $selection-bg-top-color !default;
27 |
28 | $results-max-height: 200px !default;
29 | $results-nested-padding: 20px !default;
30 |
31 | $results-choice-bg-hover-color: #3875d7 !default;
32 | $results-choice-fg-hover-color: white !default;
33 |
34 | $results-choice-fg-unselectable-color: grey !default;
35 |
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.10/tests/data/base-tests.js:
--------------------------------------------------------------------------------
1 | module('Data adapters - Base');
2 |
3 | var BaseData = require('select2/data/base');
4 | var $ = require('jquery');
5 | var Options = require('select2/options');
6 |
7 | var options = new Options({});
8 |
9 | test('current is required', function (assert) {
10 | var data = new BaseData($('#qunit-fixture select'), options);
11 |
12 | assert.throws(
13 | function () {
14 | data.current(function () {});
15 | },
16 | 'current has no default implementation'
17 | );
18 | });
19 |
20 | test('query is required', function (assert) {
21 | var data = new BaseData($('#qunit-fixture select'), options);
22 |
23 | assert.throws(
24 | function () {
25 | data.query({}, function () {});
26 | },
27 | 'query has no default implementation'
28 | );
29 | });
30 |
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.10/tests/integration-jq1.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.10/tests/integration-jq2.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.10/tests/integration-jq3.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.10/tests/results/a11y-tests.js:
--------------------------------------------------------------------------------
1 | module('Results - Accessibility');
2 |
3 | var $ = require('jquery');
4 |
5 | var Options = require('select2/options');
6 |
7 | var Results = require('select2/results');
8 |
9 | test('role of results should be a listbox', function (assert) {
10 | var results = new Results($(''), new Options({}));
11 |
12 | var $results = results.render();
13 |
14 | assert.equal($results.attr('role'), 'listbox');
15 | });
16 |
17 | test('multiple select should have aria-multiselectable', function (assert) {
18 | var results = new Results($(''), new Options({
19 | multiple: true
20 | }));
21 |
22 | var $results = results.render();
23 |
24 | assert.equal($results.attr('aria-multiselectable'), 'true');
25 | });
26 |
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.10/tests/utils/data-tests.js:
--------------------------------------------------------------------------------
1 | module('Utils - RemoveData');
2 |
3 | var $ = require('jquery');
4 | var Utils = require('select2/utils');
5 |
6 | test('The data-select2-id attribute is removed', function (assert) {
7 | var $element = $('');
8 |
9 | Utils.RemoveData($element[0]);
10 |
11 | assert.notEqual(
12 | $element.attr('data-select2-id'),
13 | 'test',
14 | 'The internal attribute was not removed when the data was cleared'
15 | );
16 | });
17 |
18 | test('The internal cache for the element is cleared', function (assert) {
19 | var $element = $('');
20 |
21 | Utils.__cache.test = {
22 | 'foo': 'bar'
23 | };
24 |
25 | Utils.RemoveData($element[0]);
26 |
27 | assert.equal(Utils.__cache.test, null, 'The cache should now be empty');
28 | });
29 |
30 | test('Calling it on an element without data works', function (assert) {
31 | assert.expect(0);
32 |
33 | var $element = $('');
34 |
35 | Utils.RemoveData($element[0]);
36 | });
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.13/.editorconfig:
--------------------------------------------------------------------------------
1 | [*]
2 | indent_style = space
3 | end_of_line = lf
4 |
5 | [*.js]
6 | indent_size = 2
7 |
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.13/.github/FUNDING.yml:
--------------------------------------------------------------------------------
1 | github: kevin-brown
2 | open_collective: select2
3 |
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.13/.github/PULL_REQUEST_TEMPLATE.md:
--------------------------------------------------------------------------------
1 | This pull request includes a
2 |
3 | - [ ] Bug fix
4 | - [ ] New feature
5 | - [ ] Translation
6 |
7 | The following changes were made
8 |
9 | -
10 | -
11 | -
12 |
13 | If this is related to an existing ticket, include a link to it as well.
14 |
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.13/.github/stale.yml:
--------------------------------------------------------------------------------
1 | # Number of days of inactivity before an issue becomes stale
2 | daysUntilStale: 60
3 | # Number of days of inactivity before a stale issue is closed
4 | daysUntilClose: 7
5 | # Issues with these labels will never be considered stale
6 | # Label to use when marking an issue as stale
7 | staleLabel: "status: stale"
8 | # Comment to post when marking an issue as stale. Set to `false` to disable
9 | markComment: >
10 | This issue has been automatically marked as stale because it has not had
11 | recent activity. It will be closed if no further activity occurs. Thank you
12 | for your contributions.
13 | # Comment to post when closing a stale issue. Set to `false` to disable
14 | closeComment: false
15 |
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.13/.github/workflows/docs-deploy.yml:
--------------------------------------------------------------------------------
1 | name: Documentation Deployment
2 |
3 | on: release
4 |
5 | jobs:
6 | grav:
7 | name: Deploy Grav
8 | runs-on: ubuntu-latest
9 | steps:
10 | - uses: maddox/actions/sleep@master
11 | with:
12 | args: "60"
13 | - uses: actions/checkout@v1
14 | - name: Copy to documentation server
15 | uses: maxheld83/rsync@v0.1.0
16 | env:
17 | USERNAME: ${{ secrets.DOCUMENTATION_SSH_USERNAME }}
18 | SSH_PRIVATE_KEY: ${{ secrets.DOCUMENTATION_SSH_KEY }}
19 | HOST_NAME: ${{ secrets.DOCUMENTATION_SSH_HOST }}
20 | SSH_PUBLIC_KEY: not-needed
21 | HOST_IP: not-needed
22 | HOST_FINGERPRINT: not-needed
23 | with:
24 | args: "docs/ $USERNAME@$HOST_NAME:/var/www/select2-docs/user/"
25 |
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.13/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | dist/js/i18n/build.txt
3 | .sass-cache
4 |
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.13/.jshintignore:
--------------------------------------------------------------------------------
1 | src/js/banner.*.js
2 | src/js/wrapper.*.js
3 | tests/vendor/*.js
4 | tests/helpers.js
5 |
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.13/.jshintrc:
--------------------------------------------------------------------------------
1 | {
2 | "bitwise": true,
3 | "camelcase": true,
4 | "curly": true,
5 | "es3": true,
6 | "eqnull": true,
7 | "freeze": true,
8 | "globals": {
9 | "console": false,
10 | "define": false,
11 | "document": false,
12 | "MockContainer": false,
13 | "module": false,
14 | "QUnit": false,
15 | "require": false,
16 | "test": false,
17 | "window": false
18 | },
19 | "indent": 2,
20 | "maxlen": 80,
21 | "noarg": true,
22 | "nonew": true,
23 | "quotmark": "single",
24 | "undef": true
25 | }
26 |
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.13/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "select2",
3 | "description": "Select2 is a jQuery based replacement for select boxes. It supports searching, remote data sets, and infinite scrolling of results.",
4 | "main": [
5 | "dist/js/select2.js",
6 | "src/scss/core.scss"
7 | ],
8 | "license": "MIT",
9 | "repository": {
10 | "type": "git",
11 | "url": "git@github.com:select2/select2.git"
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.13/component.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "select2",
3 | "repo": "select/select2",
4 | "description": "Select2 is a jQuery based replacement for select boxes. It supports searching, remote data sets, and infinite scrolling of results.",
5 | "version": "4.0.13",
6 | "demo": "https://select2.org/",
7 | "keywords": [
8 | "jquery"
9 | ],
10 | "main": "dist/js/select2.js",
11 | "styles": [
12 | "dist/css/select2.css"
13 | ],
14 | "scripts": [
15 | "dist/js/select2.js",
16 | "dist/js/i18n/*.js"
17 | ],
18 | "license": "MIT"
19 | }
20 |
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.13/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "select2/select2",
3 | "description": "Select2 is a jQuery based replacement for select boxes.",
4 | "type": "component",
5 | "homepage": "https://select2.org/",
6 | "license": "MIT",
7 | "extra": {
8 | "component": {
9 | "scripts": [
10 | "dist/js/select2.js"
11 | ],
12 | "styles": [
13 | "dist/css/select2.css"
14 | ],
15 | "files": [
16 | "dist/js/select2.js",
17 | "dist/js/i18n/*.js",
18 | "dist/css/select2.css"
19 | ]
20 | }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.13/docs/accounts/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OllisGit/OctoPrint-SpoolManager/dea8d64c1849c970f3616e158260c4c6fef5a4b7/3rdPartySoftware/select2-4.0.13/docs/accounts/.gitkeep
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.13/docs/assets/rtfm-screenshot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OllisGit/OctoPrint-SpoolManager/dea8d64c1849c970f3616e158260c4c6fef5a4b7/3rdPartySoftware/select2-4.0.13/docs/assets/rtfm-screenshot.png
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.13/docs/blueprints.yaml:
--------------------------------------------------------------------------------
1 | name: RTFM Site
2 | version: 1.0.2
3 | description: "RTFM is a sample documentation site using the `learn2` theme. This skeleton is used as the basis for the Grav official documentation: http://learn.getgrav.org"
4 | icon: book
5 | author:
6 | name: Team Grav
7 | email: devs@getgrav.org
8 | url: http://getgrav.org
9 | homepage: https://github.com/getgrav/grav-skeleton-rtfm-site
10 | demo: http://demo.getgrav.org/rtfm-skeleton
11 | keywords: rtfm, skeleton, documentation, docs
12 | bugs: https://github.com/getgrav/grav-skeleton-rtfm-site/issues
13 | license: MIT
14 |
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.13/docs/config/plugins/anchors.yaml:
--------------------------------------------------------------------------------
1 | selectors: '#body h2, #body h3, #body h4, #body h5'
2 |
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.13/docs/config/plugins/highlight.yaml:
--------------------------------------------------------------------------------
1 | theme: learn
2 |
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.13/docs/config/plugins/simplesearch.yaml:
--------------------------------------------------------------------------------
1 | enabled: true
2 | built_in_css: false
3 | route: /search
4 | template: simplesearch_results
5 | filters:
6 | category: docs
7 |
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.13/docs/config/site.yaml:
--------------------------------------------------------------------------------
1 | title: Select2 - The jQuery replacement for select boxes
2 | metadata:
3 | description: Select2 is a jQuery based replacement for select boxes. It supports searching, remote data sets, and pagination (infinite scrolling) of results.
4 |
5 | taxonomies: [category,tag]
6 | summary:
7 | size: 300
8 |
9 | redirects:
10 | /getting-help: /troubleshooting/getting-help
11 |
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.13/docs/config/system.yaml:
--------------------------------------------------------------------------------
1 | home:
2 | alias: '/getting-started'
3 |
4 | pages:
5 | theme: site
6 | markdown_extra: true
7 | process:
8 | markdown: true
9 | twig: false
10 |
11 | cache:
12 | enabled: true
13 | check:
14 | method: file
15 | driver: auto
16 | prefix: 'g'
17 |
18 | twig:
19 | cache: true
20 | debug: false
21 | auto_reload: true
22 | autoescape: false
23 |
24 | assets:
25 | css_pipeline: true
26 | css_minify: true
27 | css_rewrite: true
28 | js_pipeline: true
29 | js_minify: true
30 |
31 | debugger:
32 | enabled: false
33 | twig: true
34 | shutdown:
35 | close_connection: true
36 |
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.13/docs/data/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OllisGit/OctoPrint-SpoolManager/dea8d64c1849c970f3616e158260c4c6fef5a4b7/3rdPartySoftware/select2-4.0.13/docs/data/.gitkeep
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.13/docs/localhost/config/security.yaml:
--------------------------------------------------------------------------------
1 | salt: dc7HfDXRG0WT48
2 |
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.13/docs/localhost/config/system.yaml:
--------------------------------------------------------------------------------
1 | assets:
2 | css_pipeline: false
3 | js_pipeline: false
4 |
5 | twig:
6 | cache: true
7 | debug: true
8 |
9 | debugger:
10 | enabled: false
11 |
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.13/docs/pages/02.troubleshooting/chapter.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Troubleshooting
3 | metadata:
4 | description: The chapter covers some common issues you may encounter with Select2, as well as where you can go to get help.
5 | taxonomy:
6 | category: docs
7 | ---
8 |
9 | # Troubleshooting
10 |
11 | The chapter covers some common issues you may encounter with Select2, as well as where you can go to get help.
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.13/docs/pages/03.configuration/docs.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Configuration
3 | taxonomy:
4 | category: docs
5 | ---
6 |
7 | To configure custom options when you initialize Select2, simply pass an object in your call to `.select2()`:
8 |
9 | ```
10 | $('.js-example-basic-single').select2({
11 | placeholder: 'Select an option'
12 | });
13 | ```
14 |
--------------------------------------------------------------------------------
/3rdPartySoftware/select2-4.0.13/docs/pages/06.data-sources/chapter.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Data sources
3 | taxonomy:
4 | category: docs
5 | ---
6 |
7 | # Data sources
8 |
9 | In addition to handling `