Commit 7293d1e7e8a6ff2db91e0f2c548428fe74e034bf
Exists in
staging
and in
4 other branches
Merge branch 'elasticsearch' into 'master'
Elasticsearch Adding elasticsearch plugin. See merge request !973
Showing
62 changed files
with
4448 additions
and
0 deletions
Show diff stats
... | ... | @@ -0,0 +1,58 @@ |
1 | +Elasticsearch Plugin | |
2 | +==================== | |
3 | + | |
4 | +Elasticsearch is as plugin to run searchs in noosfero through elasticsearch. | |
5 | + | |
6 | +The Version used is 1.7.5 due compatibility problems with gems and new versions. | |
7 | + | |
8 | +Download: https://www.elastic.co/downloads/past-releases/elasticsearch-1-7-5 | |
9 | + | |
10 | +INSTALL | |
11 | +======= | |
12 | + | |
13 | +Install elasticsearch and openjdk-7-jdk. | |
14 | + | |
15 | + $ cd plugins/elasticsearch | |
16 | + $ rake install | |
17 | + | |
18 | +After install start the service, by default, the service runs on port 9200. | |
19 | + | |
20 | +Install gems listed in plugin Gemfile. | |
21 | + | |
22 | + $ cd plugins/elasticsearch | |
23 | + $ bundle install | |
24 | + | |
25 | +If this step fail, just copy the gems to core Gemfile and run the command | |
26 | +'bundle install'. | |
27 | + | |
28 | +Enable plugin | |
29 | +------------- | |
30 | + | |
31 | +Execute the command to enable Elasticsearch Plugin at your noosfero: | |
32 | + | |
33 | + ``sh $ ./script/noosfero-plugins enable elasticsearch `` | |
34 | + | |
35 | +Active plugin | |
36 | +------------- | |
37 | + | |
38 | +As a Noosfero administrator user, go to administrator panel: | |
39 | + | |
40 | +- Click on "Enable/disable plugins" option | |
41 | +- Click on "Elasticsearch" check-box | |
42 | + | |
43 | +DEVELOPMENT | |
44 | +=========== | |
45 | + | |
46 | +To run tests for Elasticsearch: | |
47 | + | |
48 | +- All elasticsearch Tests: | |
49 | + | |
50 | +``` | |
51 | +$ rake test:noosfero_plugins:elasticsearch:units | |
52 | +``` | |
53 | + | |
54 | +- One Test: | |
55 | + | |
56 | +``` | |
57 | +$ rake test:units TEST=plugins/elasticsearch/test/unit/controllers/elasticsearch_plugin_controller_test.rb | |
58 | +``` | ... | ... |
... | ... | @@ -0,0 +1,36 @@ |
1 | +#!/usr/bin/env rake | |
2 | + | |
3 | +require 'open-uri' | |
4 | + | |
5 | +desc "download elasticsearch" | |
6 | +task :download do | |
7 | + unless File.exists? '/tmp/elasticsearch.deb' | |
8 | + puts "downloading elasticsearch Debian package..." | |
9 | + download = open('https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.7.5.deb') | |
10 | + IO.copy_stream(download, '/tmp/elasticsearch.deb') | |
11 | + end | |
12 | +end | |
13 | + | |
14 | +desc "install elasticsearch" | |
15 | +task :install => :download do | |
16 | + sh 'sudo apt-get install openjdk-7-jdk' | |
17 | + sh 'sudo dpkg -i /tmp/elasticsearch.deb || sudo apt-get install -f' | |
18 | +end | |
19 | + | |
20 | +desc "start elasticsearch" | |
21 | +task :start do | |
22 | + if not system 'sudo systemctl start elasticsearch > /dev/null' | |
23 | + Rake::Task['install'].invoke | |
24 | + end | |
25 | + puts "Enable Elasticsearch service" | |
26 | + sh 'sudo systemctl start elasticsearch >> /dev/null 2>&1' | |
27 | + sh 'sudo systemctl enable elasticsearch >> /dev/null 2>&1' | |
28 | + sleep 10 | |
29 | +end | |
30 | + | |
31 | +desc "stop elasticsearch" | |
32 | +task :stop do | |
33 | + puts "Disable elasticsearch service" | |
34 | + sh 'sudo systemctl stop elasticsearch >> /dev/null 2>&1' | |
35 | + sh 'sudo systemctl disable elasticsearch >> /dev/null 2>&1' | |
36 | +end | ... | ... |
plugins/elasticsearch/controllers/elasticsearch_plugin_controller.rb
0 → 100644
... | ... | @@ -0,0 +1,47 @@ |
1 | +require_relative '../helpers/elasticsearch_helper' | |
2 | +require_relative '../helpers/elasticsearch_plugin_helper' | |
3 | + | |
4 | +class ElasticsearchPluginController < ApplicationController | |
5 | + no_design_blocks | |
6 | + include ElasticsearchHelper | |
7 | + helper ElasticsearchPluginHelper | |
8 | + | |
9 | + def index | |
10 | + search | |
11 | + end | |
12 | + | |
13 | + def search | |
14 | + define_searchable_types | |
15 | + define_sort_types | |
16 | + define_categories | |
17 | + define_results | |
18 | + respond_to do |format| | |
19 | + format.html { render :action => 'search' } | |
20 | + format.js | |
21 | + params["format"] = "" | |
22 | + end | |
23 | + end | |
24 | + | |
25 | + def define_results | |
26 | + @query = params[:query] | |
27 | + @current_page = params[:page] | |
28 | + @results = process_results | |
29 | + @hits = (@results.try(:total) || 0) | |
30 | + end | |
31 | + | |
32 | + def define_searchable_types | |
33 | + @searchable_types = searchable_types | |
34 | + @selected_type = (params[:selected_type] || :all).to_sym | |
35 | + end | |
36 | + | |
37 | + def define_sort_types | |
38 | + @sort_types = sort_types | |
39 | + @selected_sort = (params[:filter] || :relevance).to_sym | |
40 | + end | |
41 | + | |
42 | + def define_categories | |
43 | + @categories = Category.where(parent: nil) | |
44 | + @selected_categories = (params[:categories] || "").split(",") | |
45 | + end | |
46 | + | |
47 | +end | ... | ... |
... | ... | @@ -0,0 +1,142 @@ |
1 | +module ElasticsearchHelper | |
2 | + | |
3 | + def searchable_types | |
4 | + { | |
5 | + :all => _("All results"), | |
6 | + :text_article => _("Articles"), | |
7 | + :uploaded_file => _("Files"), | |
8 | + :community => _("Communities"), | |
9 | + :event => _("Events"), | |
10 | + :person => _("People") | |
11 | + } | |
12 | + end | |
13 | + | |
14 | + def sort_types | |
15 | + sorts = { | |
16 | + :relevance => _("Relevance"), | |
17 | + :lexical => _("Alphabetical"), | |
18 | + :more_recent => _("More recent") | |
19 | + } | |
20 | + | |
21 | + selected_type = (params[:selected_type] || nil) | |
22 | + | |
23 | + if selected_type and selected_type.to_sym != :all | |
24 | + klass = selected_type.to_s.classify.constantize | |
25 | + sorts.update klass.specific_sort if klass.respond_to? :specific_sort | |
26 | + end | |
27 | + sorts | |
28 | + end | |
29 | + | |
30 | + def process_results | |
31 | + selected_type = (params[:selected_type].presence|| :all).to_sym | |
32 | + selected_type == :all ? search_from_all_models : search_from_model(selected_type) | |
33 | + end | |
34 | + | |
35 | + private | |
36 | + | |
37 | + def search_from_all_models | |
38 | + begin | |
39 | + filter = (params[:filter] || "").to_sym | |
40 | + query = get_query params[:query], sort_by: get_sort_by(filter), categories: params[:categories] | |
41 | + Elasticsearch::Model.search(query,searchable_models, size: default_per_page(params[:per_page])).page(params[:page]).records | |
42 | + rescue | |
43 | + [] | |
44 | + end | |
45 | + end | |
46 | + | |
47 | + def search_from_model(model) | |
48 | + begin | |
49 | + klass = model.to_s.classify.constantize | |
50 | + filter = (params[:filter] || "").to_sym | |
51 | + query = get_query params[:query], klass: klass, sort_by: get_sort_by(filter ,klass), categories: params[:categories] | |
52 | + klass.search(query, size: default_per_page(params[:per_page])).page(params[:page]).records | |
53 | + rescue | |
54 | + [] | |
55 | + end | |
56 | + end | |
57 | + | |
58 | + def default_per_page(per_page=nil) | |
59 | + per_page || 10 | |
60 | + end | |
61 | + | |
62 | + def get_sort_by(sort_by, klass=nil) | |
63 | + case sort_by | |
64 | + when :lexical | |
65 | + {"name.raw" => {"order" => "asc"}} | |
66 | + when :more_recent | |
67 | + {"created_at" => {"order" => "desc"}} | |
68 | + else | |
69 | + (klass and klass.respond_to?(:get_sort_by)) ? klass.get_sort_by(sort_by) : nil | |
70 | + end | |
71 | + end | |
72 | + | |
73 | + def searchable_models | |
74 | + searchable_types.except(:all).keys.map {|model| model.to_s.classify.constantize} | |
75 | + end | |
76 | + | |
77 | + def query_string(expression="", models=[]) | |
78 | + return { match_all: {} } if not expression | |
79 | + { | |
80 | + query_string: { | |
81 | + query: "*"+expression.downcase.split.join('* *')+"*", | |
82 | + fields: fields_from_models(models), | |
83 | + tie_breaker: 0.4, | |
84 | + minimum_should_match: "100%" | |
85 | + } | |
86 | + } | |
87 | + end | |
88 | + | |
89 | + | |
90 | + def query_method(expression="", models=[], categories=[]) | |
91 | + query = {} | |
92 | + current_user ||= nil | |
93 | + | |
94 | + query[:query] = { | |
95 | + filtered: { | |
96 | + query: query_string(expression, models), | |
97 | + filter: { | |
98 | + bool: {} | |
99 | + } | |
100 | + } | |
101 | + } | |
102 | + | |
103 | + query[:query][:filtered][:filter][:bool] = { | |
104 | + should: models.map {|model| model.filter(environment: @environment.id, user: current_user )} | |
105 | + } | |
106 | + | |
107 | + unless categories.blank? | |
108 | + query[:query][:filtered][:filter][:bool][:must] = models.first.filter_category(categories) | |
109 | + end | |
110 | + | |
111 | + query | |
112 | + end | |
113 | + | |
114 | + def get_query(text="", options={}) | |
115 | + klass = options[:klass] | |
116 | + sort_by = options[:sort_by] | |
117 | + categories = (options[:categories] || "").split(",") | |
118 | + categories = categories.map(&:to_i) | |
119 | + | |
120 | + models = (klass.nil?) ? searchable_models : [klass] | |
121 | + | |
122 | + query = query_method(text, models, categories) | |
123 | + query[:sort] = sort_by if sort_by | |
124 | + | |
125 | + query | |
126 | + end | |
127 | + | |
128 | + def fields_from_models(klasses) | |
129 | + fields = Set.new | |
130 | + klasses.each do |klass| | |
131 | + klass::SEARCHABLE_FIELDS.map do |key, value| | |
132 | + if value and value[:weight] | |
133 | + fields.add "#{key}^#{value[:weight]}" | |
134 | + else | |
135 | + fields.add "#{key}" | |
136 | + end | |
137 | + end | |
138 | + end | |
139 | + fields.to_a | |
140 | + end | |
141 | + | |
142 | +end | ... | ... |
plugins/elasticsearch/helpers/elasticsearch_plugin_helper.rb
0 → 100644
... | ... | @@ -0,0 +1,11 @@ |
1 | +module ElasticsearchPluginHelper | |
2 | + | |
3 | + def categories_data(collection) | |
4 | + result = [] | |
5 | + collection.each do | item | | |
6 | + result.push({ text: item.name, id: item.id }) | |
7 | + result.last[:children] = categories_data(item.children) if item.children_count > 0 | |
8 | + end | |
9 | + result | |
10 | + end | |
11 | +end | ... | ... |
... | ... | @@ -0,0 +1,44 @@ |
1 | +class ElasticsearchPlugin < Noosfero::Plugin | |
2 | + | |
3 | + def self.plugin_name | |
4 | + "ElasticsearchPlugin" | |
5 | + end | |
6 | + | |
7 | + def self.api_mount_points | |
8 | + [ElasticsearchPlugin::API] | |
9 | + end | |
10 | + | |
11 | + def self.plugin_description | |
12 | + _("This plugin is used to communicate with elasticsearch engine.") | |
13 | + end | |
14 | + | |
15 | + def stylesheet? | |
16 | + true | |
17 | + end | |
18 | + | |
19 | + def js_files | |
20 | + ['categories', 'jstree.min'].map{ |file_name| "javascripts/#{file_name}" } | |
21 | + end | |
22 | + | |
23 | + def search_controller_filters | |
24 | + block = proc do | |
25 | + | |
26 | + case action_name | |
27 | + when 'contents' | |
28 | + params[:selected_type] = :text_article | |
29 | + when 'index' | |
30 | + when 'articles' | |
31 | + params[:selected_type] = :text_article | |
32 | + else | |
33 | + params[:selected_type] = action_name.singularize.to_sym | |
34 | + end | |
35 | + | |
36 | + redirect_to controller: 'elasticsearch_plugin', action: 'search', params: params | |
37 | + end | |
38 | + | |
39 | + [{ :type => 'before_filter', | |
40 | + :method_name => 'redirect_search_to_elastic', | |
41 | + :block => block }] | |
42 | + end | |
43 | + | |
44 | +end | ... | ... |
... | ... | @@ -0,0 +1,27 @@ |
1 | +require_relative '../../helpers/elasticsearch_helper' | |
2 | +require_relative 'entities' | |
3 | + | |
4 | +class ElasticsearchPlugin::API < Grape::API | |
5 | + include Api::Helpers | |
6 | + helpers ElasticsearchHelper | |
7 | + | |
8 | + resource :search do | |
9 | + get do | |
10 | + target = process_results | |
11 | + present target, | |
12 | + :with => Elasticsearch::Entities::Result, | |
13 | + :types => searchable_types.except(:all).keys.map { |key| key.to_s.classify } | |
14 | + end | |
15 | + | |
16 | + get 'types' do | |
17 | + types = {types: searchable_types.stringify_keys.keys } | |
18 | + present types, with: Grape::Presenters::Presenter | |
19 | + end | |
20 | + | |
21 | + get 'sort_types' do | |
22 | + present sort_types, with: Grape::Presenters::Presenter | |
23 | + end | |
24 | + | |
25 | + end | |
26 | + | |
27 | +end | ... | ... |
plugins/elasticsearch/lib/elasticsearch_plugin/entities.rb
0 → 100644
... | ... | @@ -0,0 +1,31 @@ |
1 | +module Elasticsearch | |
2 | + module Entities | |
3 | + | |
4 | + class Result < Api::Entity | |
5 | + root "results","result" | |
6 | + | |
7 | + expose :type do |object, options| | |
8 | + options[:types].detect { |type| type.to_s.upcase if object.is_a? (type.to_s.classify.constantize) } | |
9 | + end | |
10 | + | |
11 | + expose :id | |
12 | + expose :name | |
13 | + | |
14 | + expose :author, if: lambda { |object,options| object.respond_to? 'author'} do |object, options| | |
15 | + object.author.present? ? object.author.name : "" | |
16 | + end | |
17 | + | |
18 | + expose :description, if: lambda { |object,options| object.respond_to? 'description'} do |object, options| | |
19 | + object.description.present? ? object.description : "" | |
20 | + end | |
21 | + | |
22 | + expose :abstract, if: lambda { |object,options| object.respond_to? 'abstract'} do |object, options| | |
23 | + object.abstract.present? ? object.abstract : "" | |
24 | + end | |
25 | + | |
26 | + expose :created_at, :format_with => :timestamp | |
27 | + expose :updated_at, :format_with => :timestamp | |
28 | + end | |
29 | + | |
30 | + end | |
31 | +end | ... | ... |
... | ... | @@ -0,0 +1,43 @@ |
1 | +require_dependency 'community' | |
2 | +require_relative '../searchable_model_helper' | |
3 | + | |
4 | +class Community | |
5 | + | |
6 | + def self.control_fields | |
7 | + { | |
8 | + :secret => { type: :boolean }, | |
9 | + :visible => { type: :boolean }, | |
10 | + :activities_count => { type: :integer }, | |
11 | + :members_count => { type: :integer } | |
12 | + } | |
13 | + end | |
14 | + | |
15 | + def self.should | |
16 | + [ | |
17 | + { and: | |
18 | + [ | |
19 | + {term: { :secret => false }}, | |
20 | + {term: { :visible => true }} | |
21 | + ] | |
22 | + } | |
23 | + ] | |
24 | + end | |
25 | + | |
26 | + def self.specific_sort | |
27 | + { | |
28 | + :more_active => _("More active"), | |
29 | + :more_popular => _("More popular") | |
30 | + } | |
31 | + end | |
32 | + | |
33 | + def self.get_sort_by sort_by="" | |
34 | + case sort_by | |
35 | + when :more_active | |
36 | + { :activities_count => {order: :desc}} | |
37 | + when :more_popular | |
38 | + { :members_count => {order: :desc}} | |
39 | + end | |
40 | + end | |
41 | + | |
42 | + include SearchableModelHelper | |
43 | +end | ... | ... |
... | ... | @@ -0,0 +1,34 @@ |
1 | +require_dependency 'event' | |
2 | + | |
3 | +require_relative '../searchable_model_helper' | |
4 | +require_relative '../nested_helper/profile' | |
5 | + | |
6 | +class Event | |
7 | + #TODO: o filtro é feito de forma diferente do artigo | |
8 | + | |
9 | + def self.control_fields | |
10 | + { | |
11 | + :advertise => {type: :boolean}, | |
12 | + :published => {type: :boolean}, | |
13 | + :profile => { type: :nested , hash: NestedProfile.hash } | |
14 | + } | |
15 | + end | |
16 | + | |
17 | + def self.should | |
18 | + [ | |
19 | + { and: [ | |
20 | + { term: { advertise: true }}, | |
21 | + { term: { published: true }} | |
22 | + ] | |
23 | + } | |
24 | + ] | |
25 | + end | |
26 | + | |
27 | + def self.nested_filter | |
28 | + [ | |
29 | + NestedProfile::filter | |
30 | + ] | |
31 | + end | |
32 | + | |
33 | + include SearchableModelHelper | |
34 | +end | ... | ... |
... | ... | @@ -0,0 +1,44 @@ |
1 | +require_dependency 'person' | |
2 | + | |
3 | +require_relative '../searchable_model_helper' | |
4 | + | |
5 | +class Person | |
6 | + | |
7 | + def self.control_fields | |
8 | + { | |
9 | + :visible => {type: 'boolean'}, | |
10 | + :secret => { type: :boolean }, | |
11 | + :activities_count => { type: :integer }, | |
12 | + :friends_count => { type: :integer } | |
13 | + } | |
14 | + end | |
15 | + | |
16 | + def self.should | |
17 | + [ | |
18 | + { and: | |
19 | + [ | |
20 | + {term: { :secret => false }}, | |
21 | + {term: { :visible => true }} | |
22 | + ] | |
23 | + } | |
24 | + ] | |
25 | + end | |
26 | + | |
27 | + def self.specific_sort | |
28 | + { | |
29 | + :more_active => _("More active"), | |
30 | + :more_popular => _("More popular") | |
31 | + } | |
32 | + end | |
33 | + | |
34 | + def self.get_sort_by sort_by="" | |
35 | + case sort_by | |
36 | + when :more_active | |
37 | + { :activities_count => {order: :desc}} | |
38 | + when :more_popular | |
39 | + { :friends_count => {order: :desc} } | |
40 | + end | |
41 | + end | |
42 | + | |
43 | + include SearchableModelHelper | |
44 | +end | ... | ... |
... | ... | @@ -0,0 +1,54 @@ |
1 | +# REQUIRE TO LOAD DESCENDANTS FROM TEXT_ARTICLE | |
2 | +require_dependency 'raw_html_article' | |
3 | +require_dependency 'tiny_mce_article' | |
4 | +require_dependency 'text_article' | |
5 | + | |
6 | +require_relative '../searchable_model_helper' | |
7 | +require_relative '../nested_helper/profile' | |
8 | + | |
9 | +class TextArticle | |
10 | + | |
11 | + def self.control_fields | |
12 | + { | |
13 | + :advertise => { type: :boolean }, | |
14 | + :published => { type: :boolean }, | |
15 | + :comments_count => { type: :integer }, | |
16 | + :hits => { type: :integer }, | |
17 | + :profile => { type: :nested , hash: NestedProfile.hash } | |
18 | + } | |
19 | + end | |
20 | + | |
21 | + def self.should | |
22 | + [ | |
23 | + { and: [ | |
24 | + { term: { advertise: true }}, | |
25 | + { term: { published: true }} | |
26 | + ] | |
27 | + } | |
28 | + ] | |
29 | + end | |
30 | + | |
31 | + def self.nested_filter | |
32 | + [ | |
33 | + NestedProfile::filter | |
34 | + ] | |
35 | + end | |
36 | + | |
37 | + def self.specific_sort | |
38 | + { | |
39 | + :more_popular => _("More viewed"), | |
40 | + :more_comments => _("Most commented") | |
41 | + } | |
42 | + end | |
43 | + | |
44 | + def self.get_sort_by sort_by="" | |
45 | + case sort_by | |
46 | + when :more_popular | |
47 | + { :hits => {order: :desc} } | |
48 | + when :more_comments | |
49 | + { :comments_count => {order: :desc}} | |
50 | + end | |
51 | + end | |
52 | + | |
53 | + include SearchableModelHelper | |
54 | +end | ... | ... |
... | ... | @@ -0,0 +1,32 @@ |
1 | +require_dependency 'uploaded_file' | |
2 | + | |
3 | +require_relative '../searchable_model_helper' | |
4 | +require_relative '../nested_helper/profile' | |
5 | + | |
6 | +class UploadedFile | |
7 | + def self.control_fields | |
8 | + { | |
9 | + :advertise => {type: :boolean}, | |
10 | + :published => {type: :boolean}, | |
11 | + :profile => { type: :nested , hash: NestedProfile.hash } | |
12 | + } | |
13 | + end | |
14 | + | |
15 | + def self.should | |
16 | + [ | |
17 | + { and: [ | |
18 | + { term: { advertise: true }}, | |
19 | + { term: { published: true }} | |
20 | + ] | |
21 | + } | |
22 | + ] | |
23 | + end | |
24 | + | |
25 | + def self.nested_filter | |
26 | + [ | |
27 | + NestedProfile::filter | |
28 | + ] | |
29 | + end | |
30 | + | |
31 | + include SearchableModelHelper | |
32 | +end | ... | ... |
... | ... | @@ -0,0 +1,25 @@ |
1 | +module NestedEnvironment | |
2 | + | |
3 | + def self.hash | |
4 | + { | |
5 | + :id => { type: :integer }, | |
6 | + :is_default => {type: :boolean } | |
7 | + } | |
8 | + end | |
9 | + | |
10 | + def self.filter environment=1 | |
11 | + { | |
12 | + query: { | |
13 | + nested: { | |
14 | + path: "environment", | |
15 | + query: { | |
16 | + bool: { | |
17 | + must: { term: { "environment.id" => environment } }, | |
18 | + } | |
19 | + } | |
20 | + } | |
21 | + } | |
22 | + } | |
23 | + end | |
24 | + | |
25 | +end | ... | ... |
... | ... | @@ -0,0 +1,29 @@ |
1 | +module NestedProfile | |
2 | + | |
3 | + def self.hash | |
4 | + { | |
5 | + :id => { type: :integer }, | |
6 | + :visible => { type: :boolean }, | |
7 | + :public_profile => { type: :boolean } | |
8 | + } | |
9 | + end | |
10 | + | |
11 | + def self.filter | |
12 | + { | |
13 | + query: { | |
14 | + nested: { | |
15 | + path: "profile", | |
16 | + query: { | |
17 | + bool: { | |
18 | + must:[ | |
19 | + { term: { "profile.visible" => true } }, | |
20 | + { term: { "profile.public_profile" => true } } | |
21 | + ], | |
22 | + } | |
23 | + } | |
24 | + } | |
25 | + } | |
26 | + } | |
27 | + end | |
28 | + | |
29 | +end | ... | ... |
plugins/elasticsearch/lib/searchable_model/elasticsearch_indexed_model.rb
0 → 100644
... | ... | @@ -0,0 +1,99 @@ |
1 | +require_relative '../nested_helper/environment' | |
2 | + | |
3 | +module ElasticsearchIndexedModel | |
4 | + | |
5 | + def self.included base | |
6 | + base.send :include, Elasticsearch::Model | |
7 | + base.send :include, Elasticsearch::Model::Callbacks | |
8 | + | |
9 | + base.send :index_name, "#{Rails.env}_#{base.index_name}" | |
10 | + | |
11 | + base.extend ClassMethods | |
12 | + base.send :include, InstanceMethods | |
13 | + | |
14 | + base.class_eval do | |
15 | + settings index: { number_of_shards: 1 } do | |
16 | + mappings dynamic: 'false' do | |
17 | + base.indexed_fields.each do |field, value| | |
18 | + type = value[:type].presence | |
19 | + | |
20 | + if type == :nested | |
21 | + indexes(field, type: type) do | |
22 | + value[:hash].each do |hash_field, hash_value| | |
23 | + indexes(hash_field, base.indexes_as_hash(hash_field,hash_value[:type].presence)) | |
24 | + end | |
25 | + end | |
26 | + else | |
27 | + indexes(field, base.indexes_as_hash(field,type)) | |
28 | + end | |
29 | + print '.' | |
30 | + end | |
31 | + end | |
32 | + | |
33 | + base.__elasticsearch__.client.indices.delete \ | |
34 | + index: base.index_name rescue nil | |
35 | + base.__elasticsearch__.client.indices.create \ | |
36 | + index: base.index_name, | |
37 | + body: { | |
38 | + settings: base.settings.to_hash, | |
39 | + mappings: base.mappings.to_hash | |
40 | + } | |
41 | + end | |
42 | + end | |
43 | + base.send :import | |
44 | + end | |
45 | + | |
46 | + module ClassMethods | |
47 | + | |
48 | + def indexes_as_hash(name, type) | |
49 | + hash = {} | |
50 | + if type.nil? | |
51 | + hash[:fields] = raw_field(name, type) | |
52 | + else | |
53 | + hash[:type] = type if not type.nil? | |
54 | + end | |
55 | + hash | |
56 | + end | |
57 | + | |
58 | + def raw_field name, type | |
59 | + { | |
60 | + raw: { | |
61 | + type: "string", | |
62 | + index: "not_analyzed" | |
63 | + } | |
64 | + } | |
65 | + end | |
66 | + | |
67 | + def indexed_fields | |
68 | + fields = { | |
69 | + :environment => {type: :nested, hash: NestedEnvironment::hash }, | |
70 | + :category_ids => {type: :integer }, | |
71 | + :created_at => {type: :date } | |
72 | + } | |
73 | + fields.update(self::SEARCHABLE_FIELDS) | |
74 | + fields.update(self.control_fields) | |
75 | + fields | |
76 | + end | |
77 | + | |
78 | + end | |
79 | + | |
80 | + module InstanceMethods | |
81 | + def as_indexed_json options={} | |
82 | + attrs = {} | |
83 | + | |
84 | + self.class.indexed_fields.each do |field, value| | |
85 | + type = value[:type].presence | |
86 | + if type == :nested | |
87 | + attrs[field] = {} | |
88 | + value[:hash].each do |hash_field, hash_value| | |
89 | + attrs[field][hash_field] = self.send(field).send(hash_field) | |
90 | + end | |
91 | + else | |
92 | + attrs[field] = self.send(field) | |
93 | + end | |
94 | + end | |
95 | + attrs.as_json | |
96 | + end | |
97 | + end | |
98 | + | |
99 | +end | ... | ... |
... | ... | @@ -0,0 +1,54 @@ |
1 | +require_relative '../nested_helper/environment' | |
2 | + | |
3 | +module Filter | |
4 | + | |
5 | + def self.included base | |
6 | + base.extend ClassMethods | |
7 | + base.send :include, InstanceMethods | |
8 | + end | |
9 | + | |
10 | + module ClassMethods | |
11 | + | |
12 | + def filter options={} | |
13 | + | |
14 | + result_filter = {} | |
15 | + result_filter[:indices] = {:index => self.index_name, :no_match_filter => "none" } | |
16 | + result_filter[:indices][:filter] = { :bool => self.filter_bool(options) } | |
17 | + | |
18 | + result_filter | |
19 | + end | |
20 | + | |
21 | + def filter_bool options={} | |
22 | + environment = options[:environment].presence | |
23 | + user = options[:user].presence | |
24 | + | |
25 | + result_filter = {} | |
26 | + | |
27 | + result_filter[:must] = [ NestedEnvironment::filter(environment) ] | |
28 | + | |
29 | + return result_filter if user and user.person.is_admin? | |
30 | + | |
31 | + self.nested_filter.each {|filter| result_filter[:must].append(filter)} if self.respond_to? :nested_filter | |
32 | + self.must.each {|filter| result_filter[:must].append(filter) } if self.respond_to? :must | |
33 | + | |
34 | + result_filter[:should] = self.should if self.respond_to? :should | |
35 | + result_filter[:must_not] = self.must_not if self.respond_to? :must_not | |
36 | + | |
37 | + result_filter | |
38 | + end | |
39 | + | |
40 | + def filter_category selected_categories | |
41 | + { | |
42 | + query: { | |
43 | + terms: { category_ids: selected_categories } | |
44 | + } | |
45 | + } | |
46 | + end | |
47 | + | |
48 | + end | |
49 | + | |
50 | + module InstanceMethods | |
51 | + | |
52 | + end | |
53 | + | |
54 | +end | ... | ... |
... | ... | @@ -0,0 +1,9 @@ |
1 | +require_relative './searchable_model/elasticsearch_indexed_model' | |
2 | +require_relative './searchable_model/filter' | |
3 | + | |
4 | +module SearchableModelHelper | |
5 | + def self.included base | |
6 | + base.send :include, ElasticsearchIndexedModel | |
7 | + base.send :include, Filter | |
8 | + end | |
9 | +end | ... | ... |
... | ... | @@ -0,0 +1,103 @@ |
1 | +# SOME DESCRIPTIVE TITLE. | |
2 | +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER | |
3 | +# This file is distributed under the same license as the PACKAGE package. | |
4 | +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. | |
5 | +# | |
6 | +#, fuzzy | |
7 | +msgid "" | |
8 | +msgstr "" | |
9 | +"Project-Id-Version: PACKAGE VERSION\n" | |
10 | +"Report-Msgid-Bugs-To: \n" | |
11 | +"POT-Creation-Date: 2016-07-25 15:12+0000\n" | |
12 | +"PO-Revision-Date: 2016-07-25 15:12+0000\n" | |
13 | +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" | |
14 | +"Language-Team: LANGUAGE <LL@li.org>\n" | |
15 | +"Language: \n" | |
16 | +"MIME-Version: 1.0\n" | |
17 | +"Content-Type: text/plain; charset=UTF-8\n" | |
18 | +"Content-Transfer-Encoding: 8bit\n" | |
19 | +"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" | |
20 | + | |
21 | +#: ../helpers/elasticsearch_helper.rb:5 | |
22 | +msgid "All results" | |
23 | +msgstr "" | |
24 | + | |
25 | +#: ../helpers/elasticsearch_helper.rb:6 | |
26 | +msgid "Articles" | |
27 | +msgstr "" | |
28 | + | |
29 | +#: ../helpers/elasticsearch_helper.rb:7 | |
30 | +msgid "Files" | |
31 | +msgstr "" | |
32 | + | |
33 | +#: ../helpers/elasticsearch_helper.rb:8 | |
34 | +msgid "Communities" | |
35 | +msgstr "" | |
36 | + | |
37 | +#: ../helpers/elasticsearch_helper.rb:9 | |
38 | +msgid "Events" | |
39 | +msgstr "" | |
40 | + | |
41 | +#: ../helpers/elasticsearch_helper.rb:10 | |
42 | +msgid "People" | |
43 | +msgstr "" | |
44 | + | |
45 | +#: ../helpers/elasticsearch_helper.rb:16 | |
46 | +msgid "Relevance" | |
47 | +msgstr "" | |
48 | + | |
49 | +#: ../helpers/elasticsearch_helper.rb:17 | |
50 | +msgid "Alphabetical" | |
51 | +msgstr "" | |
52 | + | |
53 | +#: ../helpers/elasticsearch_helper.rb:18 | |
54 | +msgid "More recent" | |
55 | +msgstr "" | |
56 | + | |
57 | +#: ../lib/elasticsearch_plugin.rb:12 | |
58 | +msgid "This plugin is used to communicate with elasticsearch engine." | |
59 | +msgstr "" | |
60 | + | |
61 | +#: ../lib/ext/community.rb:28 ../lib/ext/person.rb:29 | |
62 | +msgid "More active" | |
63 | +msgstr "" | |
64 | + | |
65 | +#: ../lib/ext/community.rb:29 ../lib/ext/person.rb:30 | |
66 | +msgid "More popular" | |
67 | +msgstr "" | |
68 | + | |
69 | +#: ../lib/ext/text_article.rb:39 | |
70 | +msgid "More viewed" | |
71 | +msgstr "" | |
72 | + | |
73 | +#: ../lib/ext/text_article.rb:40 | |
74 | +msgid "Most commented" | |
75 | +msgstr "" | |
76 | + | |
77 | +#: ../views/elasticsearch_plugin/_results_count.html.erb:4 | |
78 | +msgid " results for " | |
79 | +msgstr "" | |
80 | + | |
81 | +#: ../views/elasticsearch_plugin/_results_count.html.erb:6 | |
82 | +msgid " total results" | |
83 | +msgstr "" | |
84 | + | |
85 | +#: ../views/elasticsearch_plugin/_search_field.html.erb:11 | |
86 | +msgid "Send" | |
87 | +msgstr "" | |
88 | + | |
89 | +#: ../views/elasticsearch_plugin/_search_filter.html.erb:1 | |
90 | +msgid "Sort by" | |
91 | +msgstr "" | |
92 | + | |
93 | +#: ../views/elasticsearch_plugin/_text_article_display.html.erb:6 | |
94 | +msgid "Abstract" | |
95 | +msgstr "" | |
96 | + | |
97 | +#: ../views/elasticsearch_plugin/_uploaded_file_display.html.erb:6 | |
98 | +msgid "Type of file" | |
99 | +msgstr "" | |
100 | + | |
101 | +#: ../views/elasticsearch_plugin/search.html.erb:23 | |
102 | +msgid "Categories" | |
103 | +msgstr "" | ... | ... |
... | ... | @@ -0,0 +1,103 @@ |
1 | +# SOME DESCRIPTIVE TITLE. | |
2 | +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER | |
3 | +# This file is distributed under the same license as the PACKAGE package. | |
4 | +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. | |
5 | +# | |
6 | +#, fuzzy | |
7 | +msgid "" | |
8 | +msgstr "" | |
9 | +"Project-Id-Version: PACKAGE VERSION\n" | |
10 | +"Report-Msgid-Bugs-To: \n" | |
11 | +"POT-Creation-Date: 2016-07-25 15:12+0000\n" | |
12 | +"PO-Revision-Date: 2016-07-25 15:12+0000\n" | |
13 | +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" | |
14 | +"Language-Team: LANGUAGE <LL@li.org>\n" | |
15 | +"Language: \n" | |
16 | +"MIME-Version: 1.0\n" | |
17 | +"Content-Type: text/plain; charset=UTF-8\n" | |
18 | +"Content-Transfer-Encoding: 8bit\n" | |
19 | +"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" | |
20 | + | |
21 | +#: ../helpers/elasticsearch_helper.rb:5 | |
22 | +msgid "All results" | |
23 | +msgstr "Todos os resultados" | |
24 | + | |
25 | +#: ../helpers/elasticsearch_helper.rb:6 | |
26 | +msgid "Articles" | |
27 | +msgstr "Artigos" | |
28 | + | |
29 | +#: ../helpers/elasticsearch_helper.rb:7 | |
30 | +msgid "Files" | |
31 | +msgstr "Arquivos" | |
32 | + | |
33 | +#: ../helpers/elasticsearch_helper.rb:8 | |
34 | +msgid "Communities" | |
35 | +msgstr "Comunidades" | |
36 | + | |
37 | +#: ../helpers/elasticsearch_helper.rb:9 | |
38 | +msgid "Events" | |
39 | +msgstr "Eventos" | |
40 | + | |
41 | +#: ../helpers/elasticsearch_helper.rb:10 | |
42 | +msgid "People" | |
43 | +msgstr "Pessoas" | |
44 | + | |
45 | +#: ../helpers/elasticsearch_helper.rb:16 | |
46 | +msgid "Relevance" | |
47 | +msgstr "Relevância" | |
48 | + | |
49 | +#: ../helpers/elasticsearch_helper.rb:17 | |
50 | +msgid "Alphabetical" | |
51 | +msgstr "Alfabético" | |
52 | + | |
53 | +#: ../helpers/elasticsearch_helper.rb:18 | |
54 | +msgid "More recent" | |
55 | +msgstr "Mais recentes" | |
56 | + | |
57 | +#: ../lib/elasticsearch_plugin.rb:12 | |
58 | +msgid "This plugin is used to communicate with elasticsearch engine." | |
59 | +msgstr "Este plugin é utilizado na comunicação com a engine elasticsearch." | |
60 | + | |
61 | +#: ../lib/ext/community.rb:28 ../lib/ext/person.rb:29 | |
62 | +msgid "More active" | |
63 | +msgstr "Mais ativos" | |
64 | + | |
65 | +#: ../lib/ext/community.rb:29 ../lib/ext/person.rb:30 | |
66 | +msgid "More popular" | |
67 | +msgstr "Mais populares" | |
68 | + | |
69 | +#: ../lib/ext/text_article.rb:39 | |
70 | +msgid "More viewed" | |
71 | +msgstr "Mais vistos" | |
72 | + | |
73 | +#: ../lib/ext/text_article.rb:40 | |
74 | +msgid "Most commented" | |
75 | +msgstr "Mais comentados" | |
76 | + | |
77 | +#: ../views/elasticsearch_plugin/_results_count.html.erb:4 | |
78 | +msgid " results for " | |
79 | +msgstr " resultados para " | |
80 | + | |
81 | +#: ../views/elasticsearch_plugin/_results_count.html.erb:6 | |
82 | +msgid " total results" | |
83 | +msgstr " resultados" | |
84 | + | |
85 | +#: ../views/elasticsearch_plugin/_search_field.html.erb:11 | |
86 | +msgid "Send" | |
87 | +msgstr "Enviar" | |
88 | + | |
89 | +#: ../views/elasticsearch_plugin/_search_filter.html.erb:1 | |
90 | +msgid "Sort by" | |
91 | +msgstr "Ordenar por" | |
92 | + | |
93 | +#: ../views/elasticsearch_plugin/_text_article_display.html.erb:6 | |
94 | +msgid "Abstract" | |
95 | +msgstr "Resumo" | |
96 | + | |
97 | +#: ../views/elasticsearch_plugin/_uploaded_file_display.html.erb:6 | |
98 | +msgid "Type of file" | |
99 | +msgstr "Tipo de arquivo" | |
100 | + | |
101 | +#: ../views/elasticsearch_plugin/search.html.erb:23 | |
102 | +msgid "Categories" | |
103 | +msgstr "Categorias" | ... | ... |
... | ... | @@ -0,0 +1,81 @@ |
1 | +# SOME DESCRIPTIVE TITLE. | |
2 | +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER | |
3 | +# This file is distributed under the same license as the PACKAGE package. | |
4 | +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. | |
5 | +# | |
6 | +#, fuzzy | |
7 | +msgid "" | |
8 | +msgstr "" | |
9 | +"Project-Id-Version: PACKAGE VERSION\n" | |
10 | +"Report-Msgid-Bugs-To: \n" | |
11 | +"PO-Revision-Date: 2016-07-25 15:12+0000\n" | |
12 | +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" | |
13 | +"Language-Team: LANGUAGE <LL@li.org>\n" | |
14 | +"Language: \n" | |
15 | +"MIME-Version: 1.0\n" | |
16 | +"Content-Type: text/plain; charset=UTF-8\n" | |
17 | +"Content-Transfer-Encoding: 8bit\n" | |
18 | +"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" | |
19 | + | |
20 | +msgid "All results" | |
21 | +msgstr "Todos os resultados" | |
22 | + | |
23 | +msgid "Articles" | |
24 | +msgstr "Artigos" | |
25 | + | |
26 | +msgid "Files" | |
27 | +msgstr "Arquivos" | |
28 | + | |
29 | +msgid "Communities" | |
30 | +msgstr "Comunidades" | |
31 | + | |
32 | +msgid "Events" | |
33 | +msgstr "Eventos" | |
34 | + | |
35 | +msgid "People" | |
36 | +msgstr "Pessoas" | |
37 | + | |
38 | +msgid "Relevance" | |
39 | +msgstr "Relevância" | |
40 | + | |
41 | +msgid "Alphabetical" | |
42 | +msgstr "Alfabético" | |
43 | + | |
44 | +msgid "More recent" | |
45 | +msgstr "Mais recentes" | |
46 | + | |
47 | +msgid "This plugin is used to communicate with elasticsearch engine." | |
48 | +msgstr "Este plugin é utilizado na comunicação com a engine elasticsearch." | |
49 | + | |
50 | +msgid "More active" | |
51 | +msgstr "Mais ativos" | |
52 | + | |
53 | +msgid "More popular" | |
54 | +msgstr "Mais populares" | |
55 | + | |
56 | +msgid "More viewed" | |
57 | +msgstr "Mais vistos" | |
58 | + | |
59 | +msgid "Most commented" | |
60 | +msgstr "Mais comentados" | |
61 | + | |
62 | +msgid " results for " | |
63 | +msgstr " resultados para " | |
64 | + | |
65 | +msgid " total results" | |
66 | +msgstr " resultados" | |
67 | + | |
68 | +msgid "Send" | |
69 | +msgstr "Enviar" | |
70 | + | |
71 | +msgid "Sort by" | |
72 | +msgstr "Ordenar por" | |
73 | + | |
74 | +msgid "Abstract" | |
75 | +msgstr "Resumo" | |
76 | + | |
77 | +msgid "Type of file" | |
78 | +msgstr "Tipo de arquivo" | |
79 | + | |
80 | +msgid "Categories" | |
81 | +msgstr "Categorias" | ... | ... |
... | ... | @@ -0,0 +1,22 @@ |
1 | +var main = function() { | |
2 | + $(document).on('click', '.jstree-anchor',function(e,data){ | |
3 | + var url = window.location.href; | |
4 | + var dataParams = {}; | |
5 | + var categories = $("#jstree-categories").jstree("get_checked",null,true); | |
6 | + var params; | |
7 | + | |
8 | + dataParams['selected_type'] = $('#selected_type').val(); | |
9 | + dataParams['filter'] = $('#filter').val(); | |
10 | + dataParams['query'] = $('#query').val(); | |
11 | + dataParams['page'] = 1; | |
12 | + dataParams['categories'] = categories.join(","); | |
13 | + | |
14 | + $.ajax({ | |
15 | + method: "GET", | |
16 | + url: "/search?format=js", | |
17 | + data: dataParams | |
18 | + }); | |
19 | + }); | |
20 | +}; | |
21 | + | |
22 | +$(document).ready(main); | ... | ... |
... | ... | @@ -0,0 +1,6 @@ |
1 | +/*! jsTree - v3.3.1 - 2016-05-05 - (MIT) */ | |
2 | +!function(a){"use strict";"function"==typeof define&&define.amd?define(["jquery"],a):"undefined"!=typeof module&&module.exports?module.exports=a(require("jquery")):a(jQuery)}(function(a,b){"use strict";if(!a.jstree){var c=0,d=!1,e=!1,f=!1,g=[],h=a("script:last").attr("src"),i=window.document,j=i.createElement("LI"),k,l;j.setAttribute("role","treeitem"),k=i.createElement("I"),k.className="jstree-icon jstree-ocl",k.setAttribute("role","presentation"),j.appendChild(k),k=i.createElement("A"),k.className="jstree-anchor",k.setAttribute("href","#"),k.setAttribute("tabindex","-1"),l=i.createElement("I"),l.className="jstree-icon jstree-themeicon",l.setAttribute("role","presentation"),k.appendChild(l),j.appendChild(k),k=l=null,a.jstree={version:"3.3.1",defaults:{plugins:[]},plugins:{},path:h&&-1!==h.indexOf("/")?h.replace(/\/[^\/]+$/,""):"",idregex:/[\\:&!^|()\[\]<>@*'+~#";.,=\- \/${}%?`]/g,root:"#"},a.jstree.create=function(b,d){var e=new a.jstree.core(++c),f=d;return d=a.extend(!0,{},a.jstree.defaults,d),f&&f.plugins&&(d.plugins=f.plugins),a.each(d.plugins,function(a,b){"core"!==a&&(e=e.plugin(b,d[b]))}),a(b).data("jstree",e),e.init(b,d),e},a.jstree.destroy=function(){a(".jstree:jstree").jstree("destroy"),a(i).off(".jstree")},a.jstree.core=function(a){this._id=a,this._cnt=0,this._wrk=null,this._data={core:{themes:{name:!1,dots:!1,icons:!1},selected:[],last_error:{},working:!1,worker_queue:[],focused:null}}},a.jstree.reference=function(b){var c=null,d=null;if(!b||!b.id||b.tagName&&b.nodeType||(b=b.id),!d||!d.length)try{d=a(b)}catch(e){}if(!d||!d.length)try{d=a("#"+b.replace(a.jstree.idregex,"\\$&"))}catch(e){}return d&&d.length&&(d=d.closest(".jstree")).length&&(d=d.data("jstree"))?c=d:a(".jstree").each(function(){var d=a(this).data("jstree");return d&&d._model.data[b]?(c=d,!1):void 0}),c},a.fn.jstree=function(c){var d="string"==typeof c,e=Array.prototype.slice.call(arguments,1),f=null;return c!==!0||this.length?(this.each(function(){var g=a.jstree.reference(this),h=d&&g?g[c]:null;return f=d&&h?h.apply(g,e):null,g||d||c!==b&&!a.isPlainObject(c)||a.jstree.create(this,c),(g&&!d||c===!0)&&(f=g||!1),null!==f&&f!==b?!1:void 0}),null!==f&&f!==b?f:this):!1},a.expr[":"].jstree=a.expr.createPseudo(function(c){return function(c){return a(c).hasClass("jstree")&&a(c).data("jstree")!==b}}),a.jstree.defaults.core={data:!1,strings:!1,check_callback:!1,error:a.noop,animation:200,multiple:!0,themes:{name:!1,url:!1,dir:!1,dots:!0,icons:!0,stripes:!1,variant:!1,responsive:!1},expand_selected_onload:!0,worker:!0,force_text:!1,dblclick_toggle:!0},a.jstree.core.prototype={plugin:function(b,c){var d=a.jstree.plugins[b];return d?(this._data[b]={},d.prototype=this,new d(c,this)):this},init:function(b,c){this._model={data:{},changed:[],force_full_redraw:!1,redraw_timeout:!1,default_state:{loaded:!0,opened:!1,selected:!1,disabled:!1}},this._model.data[a.jstree.root]={id:a.jstree.root,parent:null,parents:[],children:[],children_d:[],state:{loaded:!1}},this.element=a(b).addClass("jstree jstree-"+this._id),this.settings=c,this._data.core.ready=!1,this._data.core.loaded=!1,this._data.core.rtl="rtl"===this.element.css("direction"),this.element[this._data.core.rtl?"addClass":"removeClass"]("jstree-rtl"),this.element.attr("role","tree"),this.settings.core.multiple&&this.element.attr("aria-multiselectable",!0),this.element.attr("tabindex")||this.element.attr("tabindex","0"),this.bind(),this.trigger("init"),this._data.core.original_container_html=this.element.find(" > ul > li").clone(!0),this._data.core.original_container_html.find("li").addBack().contents().filter(function(){return 3===this.nodeType&&(!this.nodeValue||/^\s+$/.test(this.nodeValue))}).remove(),this.element.html("<ul class='jstree-container-ul jstree-children' role='group'><li id='j"+this._id+"_loading' class='jstree-initial-node jstree-loading jstree-leaf jstree-last' role='tree-item'><i class='jstree-icon jstree-ocl'></i><a class='jstree-anchor' href='#'><i class='jstree-icon jstree-themeicon-hidden'></i>"+this.get_string("Loading ...")+"</a></li></ul>"),this.element.attr("aria-activedescendant","j"+this._id+"_loading"),this._data.core.li_height=this.get_container_ul().children("li").first().height()||24,this.trigger("loading"),this.load_node(a.jstree.root)},destroy:function(a){if(this._wrk)try{window.URL.revokeObjectURL(this._wrk),this._wrk=null}catch(b){}a||this.element.empty(),this.teardown()},teardown:function(){this.unbind(),this.element.removeClass("jstree").removeData("jstree").find("[class^='jstree']").addBack().attr("class",function(){return this.className.replace(/jstree[^ ]*|$/gi,"")}),this.element=null},bind:function(){var b="",c=null,d=0;this.element.on("dblclick.jstree",function(a){if(a.target.tagName&&"input"===a.target.tagName.toLowerCase())return!0;if(i.selection&&i.selection.empty)i.selection.empty();else if(window.getSelection){var b=window.getSelection();try{b.removeAllRanges(),b.collapse()}catch(c){}}}).on("mousedown.jstree",a.proxy(function(a){a.target===this.element[0]&&(a.preventDefault(),d=+new Date)},this)).on("mousedown.jstree",".jstree-ocl",function(a){a.preventDefault()}).on("click.jstree",".jstree-ocl",a.proxy(function(a){this.toggle_node(a.target)},this)).on("dblclick.jstree",".jstree-anchor",a.proxy(function(a){return a.target.tagName&&"input"===a.target.tagName.toLowerCase()?!0:void(this.settings.core.dblclick_toggle&&this.toggle_node(a.target))},this)).on("click.jstree",".jstree-anchor",a.proxy(function(b){b.preventDefault(),b.currentTarget!==i.activeElement&&a(b.currentTarget).focus(),this.activate_node(b.currentTarget,b)},this)).on("keydown.jstree",".jstree-anchor",a.proxy(function(b){if(b.target.tagName&&"input"===b.target.tagName.toLowerCase())return!0;if(32!==b.which&&13!==b.which&&(b.shiftKey||b.ctrlKey||b.altKey||b.metaKey))return!0;var c=null;switch(this._data.core.rtl&&(37===b.which?b.which=39:39===b.which&&(b.which=37)),b.which){case 32:b.ctrlKey&&(b.type="click",a(b.currentTarget).trigger(b));break;case 13:b.type="click",a(b.currentTarget).trigger(b);break;case 37:b.preventDefault(),this.is_open(b.currentTarget)?this.close_node(b.currentTarget):(c=this.get_parent(b.currentTarget),c&&c.id!==a.jstree.root&&this.get_node(c,!0).children(".jstree-anchor").focus());break;case 38:b.preventDefault(),c=this.get_prev_dom(b.currentTarget),c&&c.length&&c.children(".jstree-anchor").focus();break;case 39:b.preventDefault(),this.is_closed(b.currentTarget)?this.open_node(b.currentTarget,function(a){this.get_node(a,!0).children(".jstree-anchor").focus()}):this.is_open(b.currentTarget)&&(c=this.get_node(b.currentTarget,!0).children(".jstree-children")[0],c&&a(this._firstChild(c)).children(".jstree-anchor").focus());break;case 40:b.preventDefault(),c=this.get_next_dom(b.currentTarget),c&&c.length&&c.children(".jstree-anchor").focus();break;case 106:this.open_all();break;case 36:b.preventDefault(),c=this._firstChild(this.get_container_ul()[0]),c&&a(c).children(".jstree-anchor").filter(":visible").focus();break;case 35:b.preventDefault(),this.element.find(".jstree-anchor").filter(":visible").last().focus();break;case 113:b.preventDefault(),this.edit(b.currentTarget)}},this)).on("load_node.jstree",a.proxy(function(b,c){c.status&&(c.node.id!==a.jstree.root||this._data.core.loaded||(this._data.core.loaded=!0,this._firstChild(this.get_container_ul()[0])&&this.element.attr("aria-activedescendant",this._firstChild(this.get_container_ul()[0]).id),this.trigger("loaded")),this._data.core.ready||setTimeout(a.proxy(function(){if(this.element&&!this.get_container_ul().find(".jstree-loading").length){if(this._data.core.ready=!0,this._data.core.selected.length){if(this.settings.core.expand_selected_onload){var b=[],c,d;for(c=0,d=this._data.core.selected.length;d>c;c++)b=b.concat(this._model.data[this._data.core.selected[c]].parents);for(b=a.vakata.array_unique(b),c=0,d=b.length;d>c;c++)this.open_node(b[c],!1,0)}this.trigger("changed",{action:"ready",selected:this._data.core.selected})}this.trigger("ready")}},this),0))},this)).on("keypress.jstree",a.proxy(function(d){if(d.target.tagName&&"input"===d.target.tagName.toLowerCase())return!0;c&&clearTimeout(c),c=setTimeout(function(){b=""},500);var e=String.fromCharCode(d.which).toLowerCase(),f=this.element.find(".jstree-anchor").filter(":visible"),g=f.index(i.activeElement)||0,h=!1;if(b+=e,b.length>1){if(f.slice(g).each(a.proxy(function(c,d){return 0===a(d).text().toLowerCase().indexOf(b)?(a(d).focus(),h=!0,!1):void 0},this)),h)return;if(f.slice(0,g).each(a.proxy(function(c,d){return 0===a(d).text().toLowerCase().indexOf(b)?(a(d).focus(),h=!0,!1):void 0},this)),h)return}if(new RegExp("^"+e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")+"+$").test(b)){if(f.slice(g+1).each(a.proxy(function(b,c){return a(c).text().toLowerCase().charAt(0)===e?(a(c).focus(),h=!0,!1):void 0},this)),h)return;if(f.slice(0,g+1).each(a.proxy(function(b,c){return a(c).text().toLowerCase().charAt(0)===e?(a(c).focus(),h=!0,!1):void 0},this)),h)return}},this)).on("init.jstree",a.proxy(function(){var a=this.settings.core.themes;this._data.core.themes.dots=a.dots,this._data.core.themes.stripes=a.stripes,this._data.core.themes.icons=a.icons,this.set_theme(a.name||"default",a.url),this.set_theme_variant(a.variant)},this)).on("loading.jstree",a.proxy(function(){this[this._data.core.themes.dots?"show_dots":"hide_dots"](),this[this._data.core.themes.icons?"show_icons":"hide_icons"](),this[this._data.core.themes.stripes?"show_stripes":"hide_stripes"]()},this)).on("blur.jstree",".jstree-anchor",a.proxy(function(b){this._data.core.focused=null,a(b.currentTarget).filter(".jstree-hovered").mouseleave(),this.element.attr("tabindex","0")},this)).on("focus.jstree",".jstree-anchor",a.proxy(function(b){var c=this.get_node(b.currentTarget);c&&c.id&&(this._data.core.focused=c.id),this.element.find(".jstree-hovered").not(b.currentTarget).mouseleave(),a(b.currentTarget).mouseenter(),this.element.attr("tabindex","-1")},this)).on("focus.jstree",a.proxy(function(){if(+new Date-d>500&&!this._data.core.focused){d=0;var a=this.get_node(this.element.attr("aria-activedescendant"),!0);a&&a.find("> .jstree-anchor").focus()}},this)).on("mouseenter.jstree",".jstree-anchor",a.proxy(function(a){this.hover_node(a.currentTarget)},this)).on("mouseleave.jstree",".jstree-anchor",a.proxy(function(a){this.dehover_node(a.currentTarget)},this))},unbind:function(){this.element.off(".jstree"),a(i).off(".jstree-"+this._id)},trigger:function(a,b){b||(b={}),b.instance=this,this.element.triggerHandler(a.replace(".jstree","")+".jstree",b)},get_container:function(){return this.element},get_container_ul:function(){return this.element.children(".jstree-children").first()},get_string:function(b){var c=this.settings.core.strings;return a.isFunction(c)?c.call(this,b):c&&c[b]?c[b]:b},_firstChild:function(a){a=a?a.firstChild:null;while(null!==a&&1!==a.nodeType)a=a.nextSibling;return a},_nextSibling:function(a){a=a?a.nextSibling:null;while(null!==a&&1!==a.nodeType)a=a.nextSibling;return a},_previousSibling:function(a){a=a?a.previousSibling:null;while(null!==a&&1!==a.nodeType)a=a.previousSibling;return a},get_node:function(b,c){b&&b.id&&(b=b.id);var d;try{if(this._model.data[b])b=this._model.data[b];else if("string"==typeof b&&this._model.data[b.replace(/^#/,"")])b=this._model.data[b.replace(/^#/,"")];else if("string"==typeof b&&(d=a("#"+b.replace(a.jstree.idregex,"\\$&"),this.element)).length&&this._model.data[d.closest(".jstree-node").attr("id")])b=this._model.data[d.closest(".jstree-node").attr("id")];else if((d=a(b,this.element)).length&&this._model.data[d.closest(".jstree-node").attr("id")])b=this._model.data[d.closest(".jstree-node").attr("id")];else{if(!(d=a(b,this.element)).length||!d.hasClass("jstree"))return!1;b=this._model.data[a.jstree.root]}return c&&(b=b.id===a.jstree.root?this.element:a("#"+b.id.replace(a.jstree.idregex,"\\$&"),this.element)),b}catch(e){return!1}},get_path:function(b,c,d){if(b=b.parents?b:this.get_node(b),!b||b.id===a.jstree.root||!b.parents)return!1;var e,f,g=[];for(g.push(d?b.id:b.text),e=0,f=b.parents.length;f>e;e++)g.push(d?b.parents[e]:this.get_text(b.parents[e]));return g=g.reverse().slice(1),c?g.join(c):g},get_next_dom:function(b,c){var d;if(b=this.get_node(b,!0),b[0]===this.element[0]){d=this._firstChild(this.get_container_ul()[0]);while(d&&0===d.offsetHeight)d=this._nextSibling(d);return d?a(d):!1}if(!b||!b.length)return!1;if(c){d=b[0];do d=this._nextSibling(d);while(d&&0===d.offsetHeight);return d?a(d):!1}if(b.hasClass("jstree-open")){d=this._firstChild(b.children(".jstree-children")[0]);while(d&&0===d.offsetHeight)d=this._nextSibling(d);if(null!==d)return a(d)}d=b[0];do d=this._nextSibling(d);while(d&&0===d.offsetHeight);return null!==d?a(d):b.parentsUntil(".jstree",".jstree-node").nextAll(".jstree-node:visible").first()},get_prev_dom:function(b,c){var d;if(b=this.get_node(b,!0),b[0]===this.element[0]){d=this.get_container_ul()[0].lastChild;while(d&&0===d.offsetHeight)d=this._previousSibling(d);return d?a(d):!1}if(!b||!b.length)return!1;if(c){d=b[0];do d=this._previousSibling(d);while(d&&0===d.offsetHeight);return d?a(d):!1}d=b[0];do d=this._previousSibling(d);while(d&&0===d.offsetHeight);if(null!==d){b=a(d);while(b.hasClass("jstree-open"))b=b.children(".jstree-children").first().children(".jstree-node:visible:last");return b}return d=b[0].parentNode.parentNode,d&&d.className&&-1!==d.className.indexOf("jstree-node")?a(d):!1},get_parent:function(b){return b=this.get_node(b),b&&b.id!==a.jstree.root?b.parent:!1},get_children_dom:function(a){return a=this.get_node(a,!0),a[0]===this.element[0]?this.get_container_ul().children(".jstree-node"):a&&a.length?a.children(".jstree-children").children(".jstree-node"):!1},is_parent:function(a){return a=this.get_node(a),a&&(a.state.loaded===!1||a.children.length>0)},is_loaded:function(a){return a=this.get_node(a),a&&a.state.loaded},is_loading:function(a){return a=this.get_node(a),a&&a.state&&a.state.loading},is_open:function(a){return a=this.get_node(a),a&&a.state.opened},is_closed:function(a){return a=this.get_node(a),a&&this.is_parent(a)&&!a.state.opened},is_leaf:function(a){return!this.is_parent(a)},load_node:function(b,c){var d,e,f,g,h;if(a.isArray(b))return this._load_nodes(b.slice(),c),!0;if(b=this.get_node(b),!b)return c&&c.call(this,b,!1),!1;if(b.state.loaded){for(b.state.loaded=!1,f=0,g=b.parents.length;g>f;f++)this._model.data[b.parents[f]].children_d=a.vakata.array_filter(this._model.data[b.parents[f]].children_d,function(c){return-1===a.inArray(c,b.children_d)});for(d=0,e=b.children_d.length;e>d;d++)this._model.data[b.children_d[d]].state.selected&&(h=!0),delete this._model.data[b.children_d[d]];h&&(this._data.core.selected=a.vakata.array_filter(this._data.core.selected,function(c){return-1===a.inArray(c,b.children_d)})),b.children=[],b.children_d=[],h&&this.trigger("changed",{action:"load_node",node:b,selected:this._data.core.selected})}return b.state.failed=!1,b.state.loading=!0,this.get_node(b,!0).addClass("jstree-loading").attr("aria-busy",!0),this._load_node(b,a.proxy(function(a){b=this._model.data[b.id],b.state.loading=!1,b.state.loaded=a,b.state.failed=!b.state.loaded;var d=this.get_node(b,!0),e=0,f=0,g=this._model.data,h=!1;for(e=0,f=b.children.length;f>e;e++)if(g[b.children[e]]&&!g[b.children[e]].state.hidden){h=!0;break}b.state.loaded&&d&&d.length&&(d.removeClass("jstree-closed jstree-open jstree-leaf"),h?"#"!==b.id&&d.addClass(b.state.opened?"jstree-open":"jstree-closed"):d.addClass("jstree-leaf")),d.removeClass("jstree-loading").attr("aria-busy",!1),this.trigger("load_node",{node:b,status:a}),c&&c.call(this,b,a)},this)),!0},_load_nodes:function(a,b,c,d){var e=!0,f=function(){this._load_nodes(a,b,!0)},g=this._model.data,h,i,j=[];for(h=0,i=a.length;i>h;h++)g[a[h]]&&(!g[a[h]].state.loaded&&!g[a[h]].state.failed||!c&&d)&&(this.is_loading(a[h])||this.load_node(a[h],f),e=!1);if(e){for(h=0,i=a.length;i>h;h++)g[a[h]]&&g[a[h]].state.loaded&&j.push(a[h]);b&&!b.done&&(b.call(this,j),b.done=!0)}},load_all:function(b,c){if(b||(b=a.jstree.root),b=this.get_node(b),!b)return!1;var d=[],e=this._model.data,f=e[b.id].children_d,g,h;for(b.state&&!b.state.loaded&&d.push(b.id),g=0,h=f.length;h>g;g++)e[f[g]]&&e[f[g]].state&&!e[f[g]].state.loaded&&d.push(f[g]);d.length?this._load_nodes(d,function(){this.load_all(b,c)}):(c&&c.call(this,b),this.trigger("load_all",{node:b}))},_load_node:function(b,c){var d=this.settings.core.data,e;return d?a.isFunction(d)?d.call(this,b,a.proxy(function(d){d===!1?c.call(this,!1):this["string"==typeof d?"_append_html_data":"_append_json_data"](b,"string"==typeof d?a(a.parseHTML(d)).filter(function(){return 3!==this.nodeType}):d,function(a){c.call(this,a)})},this)):"object"==typeof d?d.url?(d=a.extend(!0,{},d),a.isFunction(d.url)&&(d.url=d.url.call(this,b)),a.isFunction(d.data)&&(d.data=d.data.call(this,b)),a.ajax(d).done(a.proxy(function(d,e,f){var g=f.getResponseHeader("Content-Type");return g&&-1!==g.indexOf("json")||"object"==typeof d?this._append_json_data(b,d,function(a){c.call(this,a)}):g&&-1!==g.indexOf("html")||"string"==typeof d?this._append_html_data(b,a(a.parseHTML(d)).filter(function(){return 3!==this.nodeType}),function(a){c.call(this,a)}):(this._data.core.last_error={error:"ajax",plugin:"core",id:"core_04",reason:"Could not load node",data:JSON.stringify({id:b.id,xhr:f})},this.settings.core.error.call(this,this._data.core.last_error),c.call(this,!1))},this)).fail(a.proxy(function(a){c.call(this,!1),this._data.core.last_error={error:"ajax",plugin:"core",id:"core_04",reason:"Could not load node",data:JSON.stringify({id:b.id,xhr:a})},this.settings.core.error.call(this,this._data.core.last_error)},this))):(e=a.isArray(d)||a.isPlainObject(d)?JSON.parse(JSON.stringify(d)):d,b.id===a.jstree.root?this._append_json_data(b,e,function(a){c.call(this,a)}):(this._data.core.last_error={error:"nodata",plugin:"core",id:"core_05",reason:"Could not load node",data:JSON.stringify({id:b.id})},this.settings.core.error.call(this,this._data.core.last_error),c.call(this,!1))):"string"==typeof d?b.id===a.jstree.root?this._append_html_data(b,a(a.parseHTML(d)).filter(function(){return 3!==this.nodeType}),function(a){c.call(this,a)}):(this._data.core.last_error={error:"nodata",plugin:"core",id:"core_06",reason:"Could not load node",data:JSON.stringify({id:b.id})},this.settings.core.error.call(this,this._data.core.last_error),c.call(this,!1)):c.call(this,!1):b.id===a.jstree.root?this._append_html_data(b,this._data.core.original_container_html.clone(!0),function(a){c.call(this,a)}):c.call(this,!1)},_node_changed:function(a){a=this.get_node(a),a&&this._model.changed.push(a.id)},_append_html_data:function(b,c,d){b=this.get_node(b),b.children=[],b.children_d=[];var e=c.is("ul")?c.children():c,f=b.id,g=[],h=[],i=this._model.data,j=i[f],k=this._data.core.selected.length,l,m,n;for(e.each(a.proxy(function(b,c){l=this._parse_model_from_html(a(c),f,j.parents.concat()),l&&(g.push(l),h.push(l),i[l].children_d.length&&(h=h.concat(i[l].children_d)))},this)),j.children=g,j.children_d=h,m=0,n=j.parents.length;n>m;m++)i[j.parents[m]].children_d=i[j.parents[m]].children_d.concat(h);this.trigger("model",{nodes:h,parent:f}),f!==a.jstree.root?(this._node_changed(f),this.redraw()):(this.get_container_ul().children(".jstree-initial-node").remove(),this.redraw(!0)),this._data.core.selected.length!==k&&this.trigger("changed",{action:"model",selected:this._data.core.selected}),d.call(this,!0)},_append_json_data:function(b,c,d,e){if(null!==this.element){b=this.get_node(b),b.children=[],b.children_d=[],c.d&&(c=c.d,"string"==typeof c&&(c=JSON.parse(c))),a.isArray(c)||(c=[c]);var f=null,g={df:this._model.default_state,dat:c,par:b.id,m:this._model.data,t_id:this._id,t_cnt:this._cnt,sel:this._data.core.selected},h=function(a,b){a.data&&(a=a.data);var c=a.dat,d=a.par,e=[],f=[],g=[],h=a.df,i=a.t_id,j=a.t_cnt,k=a.m,l=k[d],m=a.sel,n,o,p,q,r=function(a,c,d){d=d?d.concat():[],c&&d.unshift(c);var e=a.id.toString(),f,i,j,l,m={id:e,text:a.text||"",icon:a.icon!==b?a.icon:!0,parent:c,parents:d,children:a.children||[],children_d:a.children_d||[],data:a.data,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1};for(f in h)h.hasOwnProperty(f)&&(m.state[f]=h[f]);if(a&&a.data&&a.data.jstree&&a.data.jstree.icon&&(m.icon=a.data.jstree.icon),(m.icon===b||null===m.icon||""===m.icon)&&(m.icon=!0),a&&a.data&&(m.data=a.data,a.data.jstree))for(f in a.data.jstree)a.data.jstree.hasOwnProperty(f)&&(m.state[f]=a.data.jstree[f]);if(a&&"object"==typeof a.state)for(f in a.state)a.state.hasOwnProperty(f)&&(m.state[f]=a.state[f]);if(a&&"object"==typeof a.li_attr)for(f in a.li_attr)a.li_attr.hasOwnProperty(f)&&(m.li_attr[f]=a.li_attr[f]);if(m.li_attr.id||(m.li_attr.id=e),a&&"object"==typeof a.a_attr)for(f in a.a_attr)a.a_attr.hasOwnProperty(f)&&(m.a_attr[f]=a.a_attr[f]);for(a&&a.children&&a.children===!0&&(m.state.loaded=!1,m.children=[],m.children_d=[]),k[m.id]=m,f=0,i=m.children.length;i>f;f++)j=r(k[m.children[f]],m.id,d),l=k[j],m.children_d.push(j),l.children_d.length&&(m.children_d=m.children_d.concat(l.children_d));return delete a.data,delete a.children,k[m.id].original=a,m.state.selected&&g.push(m.id),m.id},s=function(a,c,d){d=d?d.concat():[],c&&d.unshift(c);var e=!1,f,l,m,n,o;do e="j"+i+"_"+ ++j;while(k[e]);o={id:!1,text:"string"==typeof a?a:"",icon:"object"==typeof a&&a.icon!==b?a.icon:!0,parent:c,parents:d,children:[],children_d:[],data:null,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1};for(f in h)h.hasOwnProperty(f)&&(o.state[f]=h[f]);if(a&&a.id&&(o.id=a.id.toString()),a&&a.text&&(o.text=a.text),a&&a.data&&a.data.jstree&&a.data.jstree.icon&&(o.icon=a.data.jstree.icon),(o.icon===b||null===o.icon||""===o.icon)&&(o.icon=!0),a&&a.data&&(o.data=a.data,a.data.jstree))for(f in a.data.jstree)a.data.jstree.hasOwnProperty(f)&&(o.state[f]=a.data.jstree[f]);if(a&&"object"==typeof a.state)for(f in a.state)a.state.hasOwnProperty(f)&&(o.state[f]=a.state[f]);if(a&&"object"==typeof a.li_attr)for(f in a.li_attr)a.li_attr.hasOwnProperty(f)&&(o.li_attr[f]=a.li_attr[f]);if(o.li_attr.id&&!o.id&&(o.id=o.li_attr.id.toString()),o.id||(o.id=e),o.li_attr.id||(o.li_attr.id=o.id),a&&"object"==typeof a.a_attr)for(f in a.a_attr)a.a_attr.hasOwnProperty(f)&&(o.a_attr[f]=a.a_attr[f]);if(a&&a.children&&a.children.length){for(f=0,l=a.children.length;l>f;f++)m=s(a.children[f],o.id,d),n=k[m],o.children.push(m),n.children_d.length&&(o.children_d=o.children_d.concat(n.children_d));o.children_d=o.children_d.concat(o.children)}return a&&a.children&&a.children===!0&&(o.state.loaded=!1,o.children=[],o.children_d=[]),delete a.data,delete a.children,o.original=a,k[o.id]=o,o.state.selected&&g.push(o.id),o.id};if(c.length&&c[0].id!==b&&c[0].parent!==b){for(o=0,p=c.length;p>o;o++)c[o].children||(c[o].children=[]),k[c[o].id.toString()]=c[o];for(o=0,p=c.length;p>o;o++)k[c[o].parent.toString()].children.push(c[o].id.toString()),l.children_d.push(c[o].id.toString());for(o=0,p=l.children.length;p>o;o++)n=r(k[l.children[o]],d,l.parents.concat()),f.push(n),k[n].children_d.length&&(f=f.concat(k[n].children_d));for(o=0,p=l.parents.length;p>o;o++)k[l.parents[o]].children_d=k[l.parents[o]].children_d.concat(f);q={cnt:j,mod:k,sel:m,par:d,dpc:f,add:g}}else{for(o=0,p=c.length;p>o;o++)n=s(c[o],d,l.parents.concat()),n&&(e.push(n),f.push(n),k[n].children_d.length&&(f=f.concat(k[n].children_d)));for(l.children=e,l.children_d=f,o=0,p=l.parents.length;p>o;o++)k[l.parents[o]].children_d=k[l.parents[o]].children_d.concat(f);q={cnt:j,mod:k,sel:m,par:d,dpc:f,add:g}}return"undefined"!=typeof window&&"undefined"!=typeof window.document?q:void postMessage(q)},i=function(b,c){if(null!==this.element){this._cnt=b.cnt;var e,f=this._model.data;for(e in f)f.hasOwnProperty(e)&&f[e].state&&f[e].state.loading&&b.mod[e]&&(b.mod[e].state.loading=!0);if(this._model.data=b.mod,c){var g,h=b.add,i=b.sel,j=this._data.core.selected.slice();if(f=this._model.data,i.length!==j.length||a.vakata.array_unique(i.concat(j)).length!==i.length){for(e=0,g=i.length;g>e;e++)-1===a.inArray(i[e],h)&&-1===a.inArray(i[e],j)&&(f[i[e]].state.selected=!1);for(e=0,g=j.length;g>e;e++)-1===a.inArray(j[e],i)&&(f[j[e]].state.selected=!0)}}b.add.length&&(this._data.core.selected=this._data.core.selected.concat(b.add)),this.trigger("model",{nodes:b.dpc,parent:b.par}),b.par!==a.jstree.root?(this._node_changed(b.par),this.redraw()):this.redraw(!0),b.add.length&&this.trigger("changed",{action:"model",selected:this._data.core.selected}),d.call(this,!0)}};if(this.settings.core.worker&&window.Blob&&window.URL&&window.Worker)try{null===this._wrk&&(this._wrk=window.URL.createObjectURL(new window.Blob(["self.onmessage = "+h.toString()],{type:"text/javascript"}))),!this._data.core.working||e?(this._data.core.working=!0,f=new window.Worker(this._wrk),f.onmessage=a.proxy(function(a){i.call(this,a.data,!0);try{f.terminate(),f=null}catch(b){}this._data.core.worker_queue.length?this._append_json_data.apply(this,this._data.core.worker_queue.shift()):this._data.core.working=!1},this),g.par?f.postMessage(g):this._data.core.worker_queue.length?this._append_json_data.apply(this,this._data.core.worker_queue.shift()):this._data.core.working=!1):this._data.core.worker_queue.push([b,c,d,!0])}catch(j){i.call(this,h(g),!1),this._data.core.worker_queue.length?this._append_json_data.apply(this,this._data.core.worker_queue.shift()):this._data.core.working=!1}else i.call(this,h(g),!1)}},_parse_model_from_html:function(c,d,e){e=e?[].concat(e):[],d&&e.unshift(d);var f,g,h=this._model.data,i={id:!1,text:!1,icon:!0,parent:d,parents:e,children:[],children_d:[],data:null,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1},j,k,l;for(j in this._model.default_state)this._model.default_state.hasOwnProperty(j)&&(i.state[j]=this._model.default_state[j]);if(k=a.vakata.attributes(c,!0),a.each(k,function(b,c){return c=a.trim(c),c.length?(i.li_attr[b]=c,void("id"===b&&(i.id=c.toString()))):!0}),k=c.children("a").first(),k.length&&(k=a.vakata.attributes(k,!0),a.each(k,function(b,c){c=a.trim(c),c.length&&(i.a_attr[b]=c)})),k=c.children("a").first().length?c.children("a").first().clone():c.clone(),k.children("ins, i, ul").remove(),k=k.html(),k=a("<div />").html(k),i.text=this.settings.core.force_text?k.text():k.html(),k=c.data(),i.data=k?a.extend(!0,{},k):null,i.state.opened=c.hasClass("jstree-open"),i.state.selected=c.children("a").hasClass("jstree-clicked"),i.state.disabled=c.children("a").hasClass("jstree-disabled"),i.data&&i.data.jstree)for(j in i.data.jstree)i.data.jstree.hasOwnProperty(j)&&(i.state[j]=i.data.jstree[j]);k=c.children("a").children(".jstree-themeicon"),k.length&&(i.icon=k.hasClass("jstree-themeicon-hidden")?!1:k.attr("rel")),i.state.icon!==b&&(i.icon=i.state.icon),(i.icon===b||null===i.icon||""===i.icon)&&(i.icon=!0),k=c.children("ul").children("li");do l="j"+this._id+"_"+ ++this._cnt;while(h[l]);return i.id=i.li_attr.id?i.li_attr.id.toString():l,k.length?(k.each(a.proxy(function(b,c){f=this._parse_model_from_html(a(c),i.id,e),g=this._model.data[f],i.children.push(f),g.children_d.length&&(i.children_d=i.children_d.concat(g.children_d))},this)),i.children_d=i.children_d.concat(i.children)):c.hasClass("jstree-closed")&&(i.state.loaded=!1),i.li_attr["class"]&&(i.li_attr["class"]=i.li_attr["class"].replace("jstree-closed","").replace("jstree-open","")),i.a_attr["class"]&&(i.a_attr["class"]=i.a_attr["class"].replace("jstree-clicked","").replace("jstree-disabled","")),h[i.id]=i,i.state.selected&&this._data.core.selected.push(i.id),i.id},_parse_model_from_flat_json:function(a,c,d){d=d?d.concat():[],c&&d.unshift(c);var e=a.id.toString(),f=this._model.data,g=this._model.default_state,h,i,j,k,l={id:e,text:a.text||"",icon:a.icon!==b?a.icon:!0,parent:c,parents:d,children:a.children||[],children_d:a.children_d||[],data:a.data,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1};for(h in g)g.hasOwnProperty(h)&&(l.state[h]=g[h]);if(a&&a.data&&a.data.jstree&&a.data.jstree.icon&&(l.icon=a.data.jstree.icon),(l.icon===b||null===l.icon||""===l.icon)&&(l.icon=!0),a&&a.data&&(l.data=a.data,a.data.jstree))for(h in a.data.jstree)a.data.jstree.hasOwnProperty(h)&&(l.state[h]=a.data.jstree[h]);if(a&&"object"==typeof a.state)for(h in a.state)a.state.hasOwnProperty(h)&&(l.state[h]=a.state[h]);if(a&&"object"==typeof a.li_attr)for(h in a.li_attr)a.li_attr.hasOwnProperty(h)&&(l.li_attr[h]=a.li_attr[h]);if(l.li_attr.id||(l.li_attr.id=e),a&&"object"==typeof a.a_attr)for(h in a.a_attr)a.a_attr.hasOwnProperty(h)&&(l.a_attr[h]=a.a_attr[h]);for(a&&a.children&&a.children===!0&&(l.state.loaded=!1,l.children=[],l.children_d=[]),f[l.id]=l,h=0,i=l.children.length;i>h;h++)j=this._parse_model_from_flat_json(f[l.children[h]],l.id,d),k=f[j],l.children_d.push(j),k.children_d.length&&(l.children_d=l.children_d.concat(k.children_d));return delete a.data,delete a.children,f[l.id].original=a,l.state.selected&&this._data.core.selected.push(l.id),l.id},_parse_model_from_json:function(a,c,d){d=d?d.concat():[],c&&d.unshift(c);var e=!1,f,g,h,i,j=this._model.data,k=this._model.default_state,l;do e="j"+this._id+"_"+ ++this._cnt;while(j[e]);l={id:!1,text:"string"==typeof a?a:"",icon:"object"==typeof a&&a.icon!==b?a.icon:!0,parent:c,parents:d,children:[],children_d:[],data:null,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1};for(f in k)k.hasOwnProperty(f)&&(l.state[f]=k[f]);if(a&&a.id&&(l.id=a.id.toString()),a&&a.text&&(l.text=a.text),a&&a.data&&a.data.jstree&&a.data.jstree.icon&&(l.icon=a.data.jstree.icon),(l.icon===b||null===l.icon||""===l.icon)&&(l.icon=!0),a&&a.data&&(l.data=a.data,a.data.jstree))for(f in a.data.jstree)a.data.jstree.hasOwnProperty(f)&&(l.state[f]=a.data.jstree[f]);if(a&&"object"==typeof a.state)for(f in a.state)a.state.hasOwnProperty(f)&&(l.state[f]=a.state[f]);if(a&&"object"==typeof a.li_attr)for(f in a.li_attr)a.li_attr.hasOwnProperty(f)&&(l.li_attr[f]=a.li_attr[f]);if(l.li_attr.id&&!l.id&&(l.id=l.li_attr.id.toString()),l.id||(l.id=e),l.li_attr.id||(l.li_attr.id=l.id),a&&"object"==typeof a.a_attr)for(f in a.a_attr)a.a_attr.hasOwnProperty(f)&&(l.a_attr[f]=a.a_attr[f]);if(a&&a.children&&a.children.length){for(f=0,g=a.children.length;g>f;f++)h=this._parse_model_from_json(a.children[f],l.id,d),i=j[h],l.children.push(h),i.children_d.length&&(l.children_d=l.children_d.concat(i.children_d));l.children_d=l.children_d.concat(l.children)}return a&&a.children&&a.children===!0&&(l.state.loaded=!1,l.children=[],l.children_d=[]),delete a.data,delete a.children,l.original=a,j[l.id]=l,l.state.selected&&this._data.core.selected.push(l.id),l.id},_redraw:function(){var b=this._model.force_full_redraw?this._model.data[a.jstree.root].children.concat([]):this._model.changed.concat([]),c=i.createElement("UL"),d,e,f,g=this._data.core.focused;for(e=0,f=b.length;f>e;e++)d=this.redraw_node(b[e],!0,this._model.force_full_redraw),d&&this._model.force_full_redraw&&c.appendChild(d);this._model.force_full_redraw&&(c.className=this.get_container_ul()[0].className,c.setAttribute("role","group"),this.element.empty().append(c)),null!==g&&(d=this.get_node(g,!0),d&&d.length&&d.children(".jstree-anchor")[0]!==i.activeElement?d.children(".jstree-anchor").focus():this._data.core.focused=null),this._model.force_full_redraw=!1,this._model.changed=[],this.trigger("redraw",{nodes:b})},redraw:function(a){a&&(this._model.force_full_redraw=!0),this._redraw()},draw_children:function(b){var c=this.get_node(b),d=!1,e=!1,f=!1,g=i;if(!c)return!1;if(c.id===a.jstree.root)return this.redraw(!0);if(b=this.get_node(b,!0),!b||!b.length)return!1;if(b.children(".jstree-children").remove(),b=b[0],c.children.length&&c.state.loaded){for(f=g.createElement("UL"),f.setAttribute("role","group"),f.className="jstree-children",d=0,e=c.children.length;e>d;d++)f.appendChild(this.redraw_node(c.children[d],!0,!0));b.appendChild(f)}},redraw_node:function(b,c,d,e){var f=this.get_node(b),g=!1,h=!1,k=!1,l=!1,m=!1,n=!1,o="",p=i,q=this._model.data,r=!1,s=!1,t=null,u=0,v=0,w=!1,x=!1;if(!f)return!1;if(f.id===a.jstree.root)return this.redraw(!0);if(c=c||0===f.children.length,b=i.querySelector?this.element[0].querySelector("#"+(-1!=="0123456789".indexOf(f.id[0])?"\\3"+f.id[0]+" "+f.id.substr(1).replace(a.jstree.idregex,"\\$&"):f.id.replace(a.jstree.idregex,"\\$&"))):i.getElementById(f.id))b=a(b), | |
3 | +d||(g=b.parent().parent()[0],g===this.element[0]&&(g=null),h=b.index()),c||!f.children.length||b.children(".jstree-children").length||(c=!0),c||(k=b.children(".jstree-children")[0]),r=b.children(".jstree-anchor")[0]===i.activeElement,b.remove();else if(c=!0,!d){if(g=f.parent!==a.jstree.root?a("#"+f.parent.replace(a.jstree.idregex,"\\$&"),this.element)[0]:null,!(null===g||g&&q[f.parent].state.opened))return!1;h=a.inArray(f.id,null===g?q[a.jstree.root].children:q[f.parent].children)}b=j.cloneNode(!0),o="jstree-node ";for(l in f.li_attr)if(f.li_attr.hasOwnProperty(l)){if("id"===l)continue;"class"!==l?b.setAttribute(l,f.li_attr[l]):o+=f.li_attr[l]}for(f.a_attr.id||(f.a_attr.id=f.id+"_anchor"),b.setAttribute("aria-selected",!!f.state.selected),b.setAttribute("aria-level",f.parents.length),b.setAttribute("aria-labelledby",f.a_attr.id),f.state.disabled&&b.setAttribute("aria-disabled",!0),l=0,m=f.children.length;m>l;l++)if(!q[f.children[l]].state.hidden){w=!0;break}if(null!==f.parent&&q[f.parent]&&!f.state.hidden&&(l=a.inArray(f.id,q[f.parent].children),x=f.id,-1!==l))for(l++,m=q[f.parent].children.length;m>l;l++)if(q[q[f.parent].children[l]].state.hidden||(x=q[f.parent].children[l]),x!==f.id)break;f.state.hidden&&(o+=" jstree-hidden"),f.state.loaded&&!w?o+=" jstree-leaf":(o+=f.state.opened&&f.state.loaded?" jstree-open":" jstree-closed",b.setAttribute("aria-expanded",f.state.opened&&f.state.loaded)),x===f.id&&(o+=" jstree-last"),b.id=f.id,b.className=o,o=(f.state.selected?" jstree-clicked":"")+(f.state.disabled?" jstree-disabled":"");for(m in f.a_attr)if(f.a_attr.hasOwnProperty(m)){if("href"===m&&"#"===f.a_attr[m])continue;"class"!==m?b.childNodes[1].setAttribute(m,f.a_attr[m]):o+=" "+f.a_attr[m]}if(o.length&&(b.childNodes[1].className="jstree-anchor "+o),(f.icon&&f.icon!==!0||f.icon===!1)&&(f.icon===!1?b.childNodes[1].childNodes[0].className+=" jstree-themeicon-hidden":-1===f.icon.indexOf("/")&&-1===f.icon.indexOf(".")?b.childNodes[1].childNodes[0].className+=" "+f.icon+" jstree-themeicon-custom":(b.childNodes[1].childNodes[0].style.backgroundImage='url("'+f.icon+'")',b.childNodes[1].childNodes[0].style.backgroundPosition="center center",b.childNodes[1].childNodes[0].style.backgroundSize="auto",b.childNodes[1].childNodes[0].className+=" jstree-themeicon-custom")),this.settings.core.force_text?b.childNodes[1].appendChild(p.createTextNode(f.text)):b.childNodes[1].innerHTML+=f.text,c&&f.children.length&&(f.state.opened||e)&&f.state.loaded){for(n=p.createElement("UL"),n.setAttribute("role","group"),n.className="jstree-children",l=0,m=f.children.length;m>l;l++)n.appendChild(this.redraw_node(f.children[l],c,!0));b.appendChild(n)}if(k&&b.appendChild(k),!d){for(g||(g=this.element[0]),l=0,m=g.childNodes.length;m>l;l++)if(g.childNodes[l]&&g.childNodes[l].className&&-1!==g.childNodes[l].className.indexOf("jstree-children")){t=g.childNodes[l];break}t||(t=p.createElement("UL"),t.setAttribute("role","group"),t.className="jstree-children",g.appendChild(t)),g=t,h<g.childNodes.length?g.insertBefore(b,g.childNodes[h]):g.appendChild(b),r&&(u=this.element[0].scrollTop,v=this.element[0].scrollLeft,b.childNodes[1].focus(),this.element[0].scrollTop=u,this.element[0].scrollLeft=v)}return f.state.opened&&!f.state.loaded&&(f.state.opened=!1,setTimeout(a.proxy(function(){this.open_node(f.id,!1,0)},this),0)),b},open_node:function(c,d,e){var f,g,h,i;if(a.isArray(c)){for(c=c.slice(),f=0,g=c.length;g>f;f++)this.open_node(c[f],d,e);return!0}return c=this.get_node(c),c&&c.id!==a.jstree.root?(e=e===b?this.settings.core.animation:e,this.is_closed(c)?this.is_loaded(c)?(h=this.get_node(c,!0),i=this,h.length&&(e&&h.children(".jstree-children").length&&h.children(".jstree-children").stop(!0,!0),c.children.length&&!this._firstChild(h.children(".jstree-children")[0])&&this.draw_children(c),e?(this.trigger("before_open",{node:c}),h.children(".jstree-children").css("display","none").end().removeClass("jstree-closed").addClass("jstree-open").attr("aria-expanded",!0).children(".jstree-children").stop(!0,!0).slideDown(e,function(){this.style.display="",i.element&&i.trigger("after_open",{node:c})})):(this.trigger("before_open",{node:c}),h[0].className=h[0].className.replace("jstree-closed","jstree-open"),h[0].setAttribute("aria-expanded",!0))),c.state.opened=!0,d&&d.call(this,c,!0),h.length||this.trigger("before_open",{node:c}),this.trigger("open_node",{node:c}),e&&h.length||this.trigger("after_open",{node:c}),!0):this.is_loading(c)?setTimeout(a.proxy(function(){this.open_node(c,d,e)},this),500):void this.load_node(c,function(a,b){return b?this.open_node(a,d,e):d?d.call(this,a,!1):!1}):(d&&d.call(this,c,!1),!1)):!1},_open_to:function(b){if(b=this.get_node(b),!b||b.id===a.jstree.root)return!1;var c,d,e=b.parents;for(c=0,d=e.length;d>c;c+=1)c!==a.jstree.root&&this.open_node(e[c],!1,0);return a("#"+b.id.replace(a.jstree.idregex,"\\$&"),this.element)},close_node:function(c,d){var e,f,g,h;if(a.isArray(c)){for(c=c.slice(),e=0,f=c.length;f>e;e++)this.close_node(c[e],d);return!0}return c=this.get_node(c),c&&c.id!==a.jstree.root?this.is_closed(c)?!1:(d=d===b?this.settings.core.animation:d,g=this,h=this.get_node(c,!0),c.state.opened=!1,this.trigger("close_node",{node:c}),void(h.length?d?h.children(".jstree-children").attr("style","display:block !important").end().removeClass("jstree-open").addClass("jstree-closed").attr("aria-expanded",!1).children(".jstree-children").stop(!0,!0).slideUp(d,function(){this.style.display="",h.children(".jstree-children").remove(),g.element&&g.trigger("after_close",{node:c})}):(h[0].className=h[0].className.replace("jstree-open","jstree-closed"),h.attr("aria-expanded",!1).children(".jstree-children").remove(),this.trigger("after_close",{node:c})):this.trigger("after_close",{node:c}))):!1},toggle_node:function(b){var c,d;if(a.isArray(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.toggle_node(b[c]);return!0}return this.is_closed(b)?this.open_node(b):this.is_open(b)?this.close_node(b):void 0},open_all:function(b,c,d){if(b||(b=a.jstree.root),b=this.get_node(b),!b)return!1;var e=b.id===a.jstree.root?this.get_container_ul():this.get_node(b,!0),f,g,h;if(!e.length){for(f=0,g=b.children_d.length;g>f;f++)this.is_closed(this._model.data[b.children_d[f]])&&(this._model.data[b.children_d[f]].state.opened=!0);return this.trigger("open_all",{node:b})}d=d||e,h=this,e=this.is_closed(b)?e.find(".jstree-closed").addBack():e.find(".jstree-closed"),e.each(function(){h.open_node(this,function(a,b){b&&this.is_parent(a)&&this.open_all(a,c,d)},c||0)}),0===d.find(".jstree-closed").length&&this.trigger("open_all",{node:this.get_node(d)})},close_all:function(b,c){if(b||(b=a.jstree.root),b=this.get_node(b),!b)return!1;var d=b.id===a.jstree.root?this.get_container_ul():this.get_node(b,!0),e=this,f,g;for(d.length&&(d=this.is_open(b)?d.find(".jstree-open").addBack():d.find(".jstree-open"),a(d.get().reverse()).each(function(){e.close_node(this,c||0)})),f=0,g=b.children_d.length;g>f;f++)this._model.data[b.children_d[f]].state.opened=!1;this.trigger("close_all",{node:b})},is_disabled:function(a){return a=this.get_node(a),a&&a.state&&a.state.disabled},enable_node:function(b){var c,d;if(a.isArray(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.enable_node(b[c]);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(b.state.disabled=!1,this.get_node(b,!0).children(".jstree-anchor").removeClass("jstree-disabled").attr("aria-disabled",!1),void this.trigger("enable_node",{node:b})):!1},disable_node:function(b){var c,d;if(a.isArray(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.disable_node(b[c]);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(b.state.disabled=!0,this.get_node(b,!0).children(".jstree-anchor").addClass("jstree-disabled").attr("aria-disabled",!0),void this.trigger("disable_node",{node:b})):!1},is_hidden:function(a){return a=this.get_node(a),a.state.hidden===!0},hide_node:function(b,c){var d,e;if(a.isArray(b)){for(b=b.slice(),d=0,e=b.length;e>d;d++)this.hide_node(b[d],!0);return c||this.redraw(),!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?void(b.state.hidden||(b.state.hidden=!0,this._node_changed(b.parent),c||this.redraw(),this.trigger("hide_node",{node:b}))):!1},show_node:function(b,c){var d,e;if(a.isArray(b)){for(b=b.slice(),d=0,e=b.length;e>d;d++)this.show_node(b[d],!0);return c||this.redraw(),!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?void(b.state.hidden&&(b.state.hidden=!1,this._node_changed(b.parent),c||this.redraw(),this.trigger("show_node",{node:b}))):!1},hide_all:function(b){var c,d=this._model.data,e=[];for(c in d)d.hasOwnProperty(c)&&c!==a.jstree.root&&!d[c].state.hidden&&(d[c].state.hidden=!0,e.push(c));return this._model.force_full_redraw=!0,b||this.redraw(),this.trigger("hide_all",{nodes:e}),e},show_all:function(b){var c,d=this._model.data,e=[];for(c in d)d.hasOwnProperty(c)&&c!==a.jstree.root&&d[c].state.hidden&&(d[c].state.hidden=!1,e.push(c));return this._model.force_full_redraw=!0,b||this.redraw(),this.trigger("show_all",{nodes:e}),e},activate_node:function(a,c){if(this.is_disabled(a))return!1;if(c&&"object"==typeof c||(c={}),this._data.core.last_clicked=this._data.core.last_clicked&&this._data.core.last_clicked.id!==b?this.get_node(this._data.core.last_clicked.id):null,this._data.core.last_clicked&&!this._data.core.last_clicked.state.selected&&(this._data.core.last_clicked=null),!this._data.core.last_clicked&&this._data.core.selected.length&&(this._data.core.last_clicked=this.get_node(this._data.core.selected[this._data.core.selected.length-1])),this.settings.core.multiple&&(c.metaKey||c.ctrlKey||c.shiftKey)&&(!c.shiftKey||this._data.core.last_clicked&&this.get_parent(a)&&this.get_parent(a)===this._data.core.last_clicked.parent))if(c.shiftKey){var d=this.get_node(a).id,e=this._data.core.last_clicked.id,f=this.get_node(this._data.core.last_clicked.parent).children,g=!1,h,i;for(h=0,i=f.length;i>h;h+=1)f[h]===d&&(g=!g),f[h]===e&&(g=!g),this.is_disabled(f[h])||!g&&f[h]!==d&&f[h]!==e?this.deselect_node(f[h],!0,c):this.is_hidden(f[h])||this.select_node(f[h],!0,!1,c);this.trigger("changed",{action:"select_node",node:this.get_node(a),selected:this._data.core.selected,event:c})}else this.is_selected(a)?this.deselect_node(a,!1,c):this.select_node(a,!1,!1,c);else!this.settings.core.multiple&&(c.metaKey||c.ctrlKey||c.shiftKey)&&this.is_selected(a)?this.deselect_node(a,!1,c):(this.deselect_all(!0),this.select_node(a,!1,!1,c),this._data.core.last_clicked=this.get_node(a));this.trigger("activate_node",{node:this.get_node(a),event:c})},hover_node:function(a){if(a=this.get_node(a,!0),!a||!a.length||a.children(".jstree-hovered").length)return!1;var b=this.element.find(".jstree-hovered"),c=this.element;b&&b.length&&this.dehover_node(b),a.children(".jstree-anchor").addClass("jstree-hovered"),this.trigger("hover_node",{node:this.get_node(a)}),setTimeout(function(){c.attr("aria-activedescendant",a[0].id)},0)},dehover_node:function(a){return a=this.get_node(a,!0),a&&a.length&&a.children(".jstree-hovered").length?(a.children(".jstree-anchor").removeClass("jstree-hovered"),void this.trigger("dehover_node",{node:this.get_node(a)})):!1},select_node:function(b,c,d,e){var f,g,h,i;if(a.isArray(b)){for(b=b.slice(),g=0,h=b.length;h>g;g++)this.select_node(b[g],c,d,e);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(f=this.get_node(b,!0),void(b.state.selected||(b.state.selected=!0,this._data.core.selected.push(b.id),d||(f=this._open_to(b)),f&&f.length&&f.attr("aria-selected",!0).children(".jstree-anchor").addClass("jstree-clicked"),this.trigger("select_node",{node:b,selected:this._data.core.selected,event:e}),c||this.trigger("changed",{action:"select_node",node:b,selected:this._data.core.selected,event:e})))):!1},deselect_node:function(b,c,d){var e,f,g;if(a.isArray(b)){for(b=b.slice(),e=0,f=b.length;f>e;e++)this.deselect_node(b[e],c,d);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(g=this.get_node(b,!0),void(b.state.selected&&(b.state.selected=!1,this._data.core.selected=a.vakata.array_remove_item(this._data.core.selected,b.id),g.length&&g.attr("aria-selected",!1).children(".jstree-anchor").removeClass("jstree-clicked"),this.trigger("deselect_node",{node:b,selected:this._data.core.selected,event:d}),c||this.trigger("changed",{action:"deselect_node",node:b,selected:this._data.core.selected,event:d})))):!1},select_all:function(b){var c=this._data.core.selected.concat([]),d,e;for(this._data.core.selected=this._model.data[a.jstree.root].children_d.concat(),d=0,e=this._data.core.selected.length;e>d;d++)this._model.data[this._data.core.selected[d]]&&(this._model.data[this._data.core.selected[d]].state.selected=!0);this.redraw(!0),this.trigger("select_all",{selected:this._data.core.selected}),b||this.trigger("changed",{action:"select_all",selected:this._data.core.selected,old_selection:c})},deselect_all:function(a){var b=this._data.core.selected.concat([]),c,d;for(c=0,d=this._data.core.selected.length;d>c;c++)this._model.data[this._data.core.selected[c]]&&(this._model.data[this._data.core.selected[c]].state.selected=!1);this._data.core.selected=[],this.element.find(".jstree-clicked").removeClass("jstree-clicked").parent().attr("aria-selected",!1),this.trigger("deselect_all",{selected:this._data.core.selected,node:b}),a||this.trigger("changed",{action:"deselect_all",selected:this._data.core.selected,old_selection:b})},is_selected:function(b){return b=this.get_node(b),b&&b.id!==a.jstree.root?b.state.selected:!1},get_selected:function(b){return b?a.map(this._data.core.selected,a.proxy(function(a){return this.get_node(a)},this)):this._data.core.selected.slice()},get_top_selected:function(b){var c=this.get_selected(!0),d={},e,f,g,h;for(e=0,f=c.length;f>e;e++)d[c[e].id]=c[e];for(e=0,f=c.length;f>e;e++)for(g=0,h=c[e].children_d.length;h>g;g++)d[c[e].children_d[g]]&&delete d[c[e].children_d[g]];c=[];for(e in d)d.hasOwnProperty(e)&&c.push(e);return b?a.map(c,a.proxy(function(a){return this.get_node(a)},this)):c},get_bottom_selected:function(b){var c=this.get_selected(!0),d=[],e,f;for(e=0,f=c.length;f>e;e++)c[e].children.length||d.push(c[e].id);return b?a.map(d,a.proxy(function(a){return this.get_node(a)},this)):d},get_state:function(){var b={core:{open:[],scroll:{left:this.element.scrollLeft(),top:this.element.scrollTop()},selected:[]}},c;for(c in this._model.data)this._model.data.hasOwnProperty(c)&&c!==a.jstree.root&&(this._model.data[c].state.opened&&b.core.open.push(c),this._model.data[c].state.selected&&b.core.selected.push(c));return b},set_state:function(c,d){if(c){if(c.core){var e,f,g,h,i;if(c.core.open)return a.isArray(c.core.open)&&c.core.open.length?this._load_nodes(c.core.open,function(a){this.open_node(a,!1,0),delete c.core.open,this.set_state(c,d)},!0):(delete c.core.open,this.set_state(c,d)),!1;if(c.core.scroll)return c.core.scroll&&c.core.scroll.left!==b&&this.element.scrollLeft(c.core.scroll.left),c.core.scroll&&c.core.scroll.top!==b&&this.element.scrollTop(c.core.scroll.top),delete c.core.scroll,this.set_state(c,d),!1;if(c.core.selected)return h=this,this.deselect_all(),a.each(c.core.selected,function(a,b){h.select_node(b,!1,!0)}),delete c.core.selected,this.set_state(c,d),!1;for(i in c)c.hasOwnProperty(i)&&"core"!==i&&-1===a.inArray(i,this.settings.plugins)&&delete c[i];if(a.isEmptyObject(c.core))return delete c.core,this.set_state(c,d),!1}return a.isEmptyObject(c)?(c=null,d&&d.call(this),this.trigger("set_state"),!1):!0}return!1},refresh:function(b,c){this._data.core.state=c===!0?{}:this.get_state(),c&&a.isFunction(c)&&(this._data.core.state=c.call(this,this._data.core.state)),this._cnt=0,this._model.data={},this._model.data[a.jstree.root]={id:a.jstree.root,parent:null,parents:[],children:[],children_d:[],state:{loaded:!1}},this._data.core.selected=[],this._data.core.last_clicked=null,this._data.core.focused=null;var d=this.get_container_ul()[0].className;b||(this.element.html("<ul class='"+d+"' role='group'><li class='jstree-initial-node jstree-loading jstree-leaf jstree-last' role='treeitem' id='j"+this._id+"_loading'><i class='jstree-icon jstree-ocl'></i><a class='jstree-anchor' href='#'><i class='jstree-icon jstree-themeicon-hidden'></i>"+this.get_string("Loading ...")+"</a></li></ul>"),this.element.attr("aria-activedescendant","j"+this._id+"_loading")),this.load_node(a.jstree.root,function(b,c){c&&(this.get_container_ul()[0].className=d,this._firstChild(this.get_container_ul()[0])&&this.element.attr("aria-activedescendant",this._firstChild(this.get_container_ul()[0]).id),this.set_state(a.extend(!0,{},this._data.core.state),function(){this.trigger("refresh")})),this._data.core.state=null})},refresh_node:function(b){if(b=this.get_node(b),!b||b.id===a.jstree.root)return!1;var c=[],d=[],e=this._data.core.selected.concat([]);d.push(b.id),b.state.opened===!0&&c.push(b.id),this.get_node(b,!0).find(".jstree-open").each(function(){d.push(this.id),c.push(this.id)}),this._load_nodes(d,a.proxy(function(a){this.open_node(c,!1,0),this.select_node(e),this.trigger("refresh_node",{node:b,nodes:a})},this),!1,!0)},set_id:function(b,c){if(b=this.get_node(b),!b||b.id===a.jstree.root)return!1;var d,e,f=this._model.data,g=b.id;for(c=c.toString(),f[b.parent].children[a.inArray(b.id,f[b.parent].children)]=c,d=0,e=b.parents.length;e>d;d++)f[b.parents[d]].children_d[a.inArray(b.id,f[b.parents[d]].children_d)]=c;for(d=0,e=b.children.length;e>d;d++)f[b.children[d]].parent=c;for(d=0,e=b.children_d.length;e>d;d++)f[b.children_d[d]].parents[a.inArray(b.id,f[b.children_d[d]].parents)]=c;return d=a.inArray(b.id,this._data.core.selected),-1!==d&&(this._data.core.selected[d]=c),d=this.get_node(b.id,!0),d&&(d.attr("id",c),this.element.attr("aria-activedescendant")===b.id&&this.element.attr("aria-activedescendant",c)),delete f[b.id],b.id=c,b.li_attr.id=c,f[c]=b,this.trigger("set_id",{node:b,"new":b.id,old:g}),!0},get_text:function(b){return b=this.get_node(b),b&&b.id!==a.jstree.root?b.text:!1},set_text:function(b,c){var d,e;if(a.isArray(b)){for(b=b.slice(),d=0,e=b.length;e>d;d++)this.set_text(b[d],c);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(b.text=c,this.get_node(b,!0).length&&this.redraw_node(b.id),this.trigger("set_text",{obj:b,text:c}),!0):!1},get_json:function(b,c,d){if(b=this.get_node(b||a.jstree.root),!b)return!1;c&&c.flat&&!d&&(d=[]);var e={id:b.id,text:b.text,icon:this.get_icon(b),li_attr:a.extend(!0,{},b.li_attr),a_attr:a.extend(!0,{},b.a_attr),state:{},data:c&&c.no_data?!1:a.extend(!0,{},b.data)},f,g;if(c&&c.flat?e.parent=b.parent:e.children=[],!c||!c.no_state)for(f in b.state)b.state.hasOwnProperty(f)&&(e.state[f]=b.state[f]);if(c&&c.no_id&&(delete e.id,e.li_attr&&e.li_attr.id&&delete e.li_attr.id,e.a_attr&&e.a_attr.id&&delete e.a_attr.id),c&&c.flat&&b.id!==a.jstree.root&&d.push(e),!c||!c.no_children)for(f=0,g=b.children.length;g>f;f++)c&&c.flat?this.get_json(b.children[f],c,d):e.children.push(this.get_json(b.children[f],c));return c&&c.flat?d:b.id===a.jstree.root?e.children:e},create_node:function(c,d,e,f,g){if(null===c&&(c=a.jstree.root),c=this.get_node(c),!c)return!1;if(e=e===b?"last":e,!e.toString().match(/^(before|after)$/)&&!g&&!this.is_loaded(c))return this.load_node(c,function(){this.create_node(c,d,e,f,!0)});d||(d={text:this.get_string("New node")}),"string"==typeof d&&(d={text:d}),d.text===b&&(d.text=this.get_string("New node"));var h,i,j,k;switch(c.id===a.jstree.root&&("before"===e&&(e="first"),"after"===e&&(e="last")),e){case"before":h=this.get_node(c.parent),e=a.inArray(c.id,h.children),c=h;break;case"after":h=this.get_node(c.parent),e=a.inArray(c.id,h.children)+1,c=h;break;case"inside":case"first":e=0;break;case"last":e=c.children.length;break;default:e||(e=0)}if(e>c.children.length&&(e=c.children.length),d.id||(d.id=!0),!this.check("create_node",d,c,e))return this.settings.core.error.call(this,this._data.core.last_error),!1;if(d.id===!0&&delete d.id,d=this._parse_model_from_json(d,c.id,c.parents.concat()),!d)return!1;for(h=this.get_node(d),i=[],i.push(d),i=i.concat(h.children_d),this.trigger("model",{nodes:i,parent:c.id}),c.children_d=c.children_d.concat(i),j=0,k=c.parents.length;k>j;j++)this._model.data[c.parents[j]].children_d=this._model.data[c.parents[j]].children_d.concat(i);for(d=h,h=[],j=0,k=c.children.length;k>j;j++)h[j>=e?j+1:j]=c.children[j];return h[e]=d.id,c.children=h,this.redraw_node(c,!0),f&&f.call(this,this.get_node(d)),this.trigger("create_node",{node:this.get_node(d),parent:c.id,position:e}),d.id},rename_node:function(b,c){var d,e,f;if(a.isArray(b)){for(b=b.slice(),d=0,e=b.length;e>d;d++)this.rename_node(b[d],c);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(f=b.text,this.check("rename_node",b,this.get_parent(b),c)?(this.set_text(b,c),this.trigger("rename_node",{node:b,text:c,old:f}),!0):(this.settings.core.error.call(this,this._data.core.last_error),!1)):!1},delete_node:function(b){var c,d,e,f,g,h,i,j,k,l,m,n;if(a.isArray(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.delete_node(b[c]);return!0}if(b=this.get_node(b),!b||b.id===a.jstree.root)return!1;if(e=this.get_node(b.parent),f=a.inArray(b.id,e.children),l=!1,!this.check("delete_node",b,e,f))return this.settings.core.error.call(this,this._data.core.last_error),!1;for(-1!==f&&(e.children=a.vakata.array_remove(e.children,f)),g=b.children_d.concat([]),g.push(b.id),h=0,i=b.parents.length;i>h;h++)this._model.data[b.parents[h]].children_d=a.vakata.array_filter(this._model.data[b.parents[h]].children_d,function(b){return-1===a.inArray(b,g)});for(j=0,k=g.length;k>j;j++)if(this._model.data[g[j]].state.selected){l=!0;break}for(l&&(this._data.core.selected=a.vakata.array_filter(this._data.core.selected,function(b){return-1===a.inArray(b,g)})),this.trigger("delete_node",{node:b,parent:e.id}),l&&this.trigger("changed",{action:"delete_node",node:b,selected:this._data.core.selected,parent:e.id}),j=0,k=g.length;k>j;j++)delete this._model.data[g[j]];return-1!==a.inArray(this._data.core.focused,g)&&(this._data.core.focused=null,m=this.element[0].scrollTop,n=this.element[0].scrollLeft,e.id===a.jstree.root?this._model.data[a.jstree.root].children[0]&&this.get_node(this._model.data[a.jstree.root].children[0],!0).children(".jstree-anchor").focus():this.get_node(e,!0).children(".jstree-anchor").focus(),this.element[0].scrollTop=m,this.element[0].scrollLeft=n),this.redraw_node(e,!0),!0},check:function(b,c,d,e,f){c=c&&c.id?c:this.get_node(c),d=d&&d.id?d:this.get_node(d);var g=b.match(/^move_node|copy_node|create_node$/i)?d:c,h=this.settings.core.check_callback;return"move_node"!==b&&"copy_node"!==b||f&&f.is_multi||c.id!==d.id&&("move_node"!==b||a.inArray(c.id,d.children)!==e)&&-1===a.inArray(d.id,c.children_d)?(g&&g.data&&(g=g.data),g&&g.functions&&(g.functions[b]===!1||g.functions[b]===!0)?(g.functions[b]===!1&&(this._data.core.last_error={error:"check",plugin:"core",id:"core_02",reason:"Node data prevents function: "+b,data:JSON.stringify({chk:b,pos:e,obj:c&&c.id?c.id:!1,par:d&&d.id?d.id:!1})}),g.functions[b]):h===!1||a.isFunction(h)&&h.call(this,b,c,d,e,f)===!1||h&&h[b]===!1?(this._data.core.last_error={error:"check",plugin:"core",id:"core_03",reason:"User config for core.check_callback prevents function: "+b,data:JSON.stringify({chk:b,pos:e,obj:c&&c.id?c.id:!1,par:d&&d.id?d.id:!1})},!1):!0):(this._data.core.last_error={error:"check",plugin:"core",id:"core_01",reason:"Moving parent inside child",data:JSON.stringify({chk:b,pos:e,obj:c&&c.id?c.id:!1,par:d&&d.id?d.id:!1})},!1)},last_error:function(){return this._data.core.last_error},move_node:function(c,d,e,f,g,h,i){var j,k,l,m,n,o,p,q,r,s,t,u,v,w;if(d=this.get_node(d),e=e===b?0:e,!d)return!1;if(!e.toString().match(/^(before|after)$/)&&!g&&!this.is_loaded(d))return this.load_node(d,function(){this.move_node(c,d,e,f,!0,!1,i)});if(a.isArray(c)){if(1!==c.length){for(j=0,k=c.length;k>j;j++)(r=this.move_node(c[j],d,e,f,g,!1,i))&&(d=r,e="after");return this.redraw(),!0}c=c[0]}if(c=c&&c.id?c:this.get_node(c),!c||c.id===a.jstree.root)return!1;if(l=(c.parent||a.jstree.root).toString(),n=e.toString().match(/^(before|after)$/)&&d.id!==a.jstree.root?this.get_node(d.parent):d,o=i?i:this._model.data[c.id]?this:a.jstree.reference(c.id),p=!o||!o._id||this._id!==o._id,m=o&&o._id&&l&&o._model.data[l]&&o._model.data[l].children?a.inArray(c.id,o._model.data[l].children):-1,o&&o._id&&(c=o._model.data[c.id]),p)return(r=this.copy_node(c,d,e,f,g,!1,i))?(o&&o.delete_node(c),r):!1;switch(d.id===a.jstree.root&&("before"===e&&(e="first"),"after"===e&&(e="last")),e){case"before":e=a.inArray(d.id,n.children);break;case"after":e=a.inArray(d.id,n.children)+1;break;case"inside":case"first":e=0;break;case"last":e=n.children.length;break;default:e||(e=0)}if(e>n.children.length&&(e=n.children.length),!this.check("move_node",c,n,e,{core:!0,origin:i,is_multi:o&&o._id&&o._id!==this._id,is_foreign:!o||!o._id}))return this.settings.core.error.call(this,this._data.core.last_error),!1;if(c.parent===n.id){for(q=n.children.concat(),r=a.inArray(c.id,q),-1!==r&&(q=a.vakata.array_remove(q,r),e>r&&e--),r=[],s=0,t=q.length;t>s;s++)r[s>=e?s+1:s]=q[s];r[e]=c.id,n.children=r,this._node_changed(n.id),this.redraw(n.id===a.jstree.root)}else{for(r=c.children_d.concat(),r.push(c.id),s=0,t=c.parents.length;t>s;s++){for(q=[],w=o._model.data[c.parents[s]].children_d,u=0,v=w.length;v>u;u++)-1===a.inArray(w[u],r)&&q.push(w[u]);o._model.data[c.parents[s]].children_d=q}for(o._model.data[l].children=a.vakata.array_remove_item(o._model.data[l].children,c.id),s=0,t=n.parents.length;t>s;s++)this._model.data[n.parents[s]].children_d=this._model.data[n.parents[s]].children_d.concat(r);for(q=[],s=0,t=n.children.length;t>s;s++)q[s>=e?s+1:s]=n.children[s];for(q[e]=c.id,n.children=q,n.children_d.push(c.id),n.children_d=n.children_d.concat(c.children_d),c.parent=n.id,r=n.parents.concat(),r.unshift(n.id),w=c.parents.length,c.parents=r,r=r.concat(),s=0,t=c.children_d.length;t>s;s++)this._model.data[c.children_d[s]].parents=this._model.data[c.children_d[s]].parents.slice(0,-1*w),Array.prototype.push.apply(this._model.data[c.children_d[s]].parents,r);(l===a.jstree.root||n.id===a.jstree.root)&&(this._model.force_full_redraw=!0),this._model.force_full_redraw||(this._node_changed(l),this._node_changed(n.id)),h||this.redraw()}return f&&f.call(this,c,n,e),this.trigger("move_node",{node:c,parent:n.id,position:e,old_parent:l,old_position:m,is_multi:o&&o._id&&o._id!==this._id,is_foreign:!o||!o._id,old_instance:o,new_instance:this}),c.id},copy_node:function(c,d,e,f,g,h,i){var j,k,l,m,n,o,p,q,r,s,t;if(d=this.get_node(d),e=e===b?0:e,!d)return!1;if(!e.toString().match(/^(before|after)$/)&&!g&&!this.is_loaded(d))return this.load_node(d,function(){this.copy_node(c,d,e,f,!0,!1,i)});if(a.isArray(c)){if(1!==c.length){for(j=0,k=c.length;k>j;j++)(m=this.copy_node(c[j],d,e,f,g,!0,i))&&(d=m,e="after");return this.redraw(),!0}c=c[0]}if(c=c&&c.id?c:this.get_node(c),!c||c.id===a.jstree.root)return!1;switch(q=(c.parent||a.jstree.root).toString(),r=e.toString().match(/^(before|after)$/)&&d.id!==a.jstree.root?this.get_node(d.parent):d,s=i?i:this._model.data[c.id]?this:a.jstree.reference(c.id),t=!s||!s._id||this._id!==s._id,s&&s._id&&(c=s._model.data[c.id]),d.id===a.jstree.root&&("before"===e&&(e="first"),"after"===e&&(e="last")),e){case"before":e=a.inArray(d.id,r.children);break;case"after":e=a.inArray(d.id,r.children)+1;break;case"inside":case"first":e=0;break;case"last":e=r.children.length;break;default:e||(e=0)}if(e>r.children.length&&(e=r.children.length),!this.check("copy_node",c,r,e,{core:!0,origin:i,is_multi:s&&s._id&&s._id!==this._id,is_foreign:!s||!s._id}))return this.settings.core.error.call(this,this._data.core.last_error),!1;if(p=s?s.get_json(c,{no_id:!0,no_data:!0,no_state:!0}):c,!p)return!1;if(p.id===!0&&delete p.id,p=this._parse_model_from_json(p,r.id,r.parents.concat()),!p)return!1;for(m=this.get_node(p),c&&c.state&&c.state.loaded===!1&&(m.state.loaded=!1),l=[],l.push(p),l=l.concat(m.children_d),this.trigger("model",{nodes:l,parent:r.id}),n=0,o=r.parents.length;o>n;n++)this._model.data[r.parents[n]].children_d=this._model.data[r.parents[n]].children_d.concat(l);for(l=[],n=0,o=r.children.length;o>n;n++)l[n>=e?n+1:n]=r.children[n];return l[e]=m.id,r.children=l,r.children_d.push(m.id),r.children_d=r.children_d.concat(m.children_d),r.id===a.jstree.root&&(this._model.force_full_redraw=!0),this._model.force_full_redraw||this._node_changed(r.id),h||this.redraw(r.id===a.jstree.root),f&&f.call(this,m,r,e),this.trigger("copy_node",{node:m,original:c,parent:r.id,position:e,old_parent:q,old_position:s&&s._id&&q&&s._model.data[q]&&s._model.data[q].children?a.inArray(c.id,s._model.data[q].children):-1,is_multi:s&&s._id&&s._id!==this._id,is_foreign:!s||!s._id,old_instance:s,new_instance:this}),m.id},cut:function(b){if(b||(b=this._data.core.selected.concat()),a.isArray(b)||(b=[b]),!b.length)return!1;var c=[],g,h,i;for(h=0,i=b.length;i>h;h++)g=this.get_node(b[h]),g&&g.id&&g.id!==a.jstree.root&&c.push(g);return c.length?(d=c,f=this,e="move_node",void this.trigger("cut",{node:b})):!1},copy:function(b){if(b||(b=this._data.core.selected.concat()),a.isArray(b)||(b=[b]),!b.length)return!1;var c=[],g,h,i;for(h=0,i=b.length;i>h;h++)g=this.get_node(b[h]),g&&g.id&&g.id!==a.jstree.root&&c.push(g);return c.length?(d=c,f=this,e="copy_node",void this.trigger("copy",{node:b})):!1},get_buffer:function(){return{mode:e,node:d,inst:f}},can_paste:function(){return e!==!1&&d!==!1},paste:function(a,b){return a=this.get_node(a),a&&e&&e.match(/^(copy_node|move_node)$/)&&d?(this[e](d,a,b,!1,!1,!1,f)&&this.trigger("paste",{parent:a.id,node:d,mode:e}),d=!1,e=!1,void(f=!1)):!1},clear_buffer:function(){d=!1,e=!1,f=!1,this.trigger("clear_buffer")},edit:function(b,c,d){var e,f,g,h,j,k,l,m,n,o=!1;return(b=this.get_node(b))?this.settings.core.check_callback===!1?(this._data.core.last_error={error:"check",plugin:"core",id:"core_07",reason:"Could not edit node because of check_callback"},this.settings.core.error.call(this,this._data.core.last_error),!1):(n=b,c="string"==typeof c?c:b.text,this.set_text(b,""),b=this._open_to(b),n.text=c,e=this._data.core.rtl,f=this.element.width(),this._data.core.focused=n.id,g=b.children(".jstree-anchor").focus(),h=a("<span>"),j=c,k=a("<div />",{css:{position:"absolute",top:"-200px",left:e?"0px":"-1000px",visibility:"hidden"}}).appendTo("body"),l=a("<input />",{value:j,"class":"jstree-rename-input",css:{padding:"0",border:"1px solid silver","box-sizing":"border-box",display:"inline-block",height:this._data.core.li_height+"px",lineHeight:this._data.core.li_height+"px",width:"150px"},blur:a.proxy(function(c){c.stopImmediatePropagation(),c.preventDefault();var e=h.children(".jstree-rename-input"),f=e.val(),i=this.settings.core.force_text,m;""===f&&(f=j),k.remove(),h.replaceWith(g),h.remove(),j=i?j:a("<div></div>").append(a.parseHTML(j)).html(),this.set_text(b,j),m=!!this.rename_node(b,i?a("<div></div>").text(f).text():a("<div></div>").append(a.parseHTML(f)).html()),m||this.set_text(b,j),this._data.core.focused=n.id,setTimeout(a.proxy(function(){var a=this.get_node(n.id,!0);a.length&&(this._data.core.focused=n.id,a.children(".jstree-anchor").focus())},this),0),d&&d.call(this,n,m,o),l=null},this),keydown:function(a){var b=a.which;27===b&&(o=!0,this.value=j),(27===b||13===b||37===b||38===b||39===b||40===b||32===b)&&a.stopImmediatePropagation(),(27===b||13===b)&&(a.preventDefault(),this.blur())},click:function(a){a.stopImmediatePropagation()},mousedown:function(a){a.stopImmediatePropagation()},keyup:function(a){l.width(Math.min(k.text("pW"+this.value).width(),f))},keypress:function(a){return 13===a.which?!1:void 0}}),m={fontFamily:g.css("fontFamily")||"",fontSize:g.css("fontSize")||"",fontWeight:g.css("fontWeight")||"",fontStyle:g.css("fontStyle")||"",fontStretch:g.css("fontStretch")||"",fontVariant:g.css("fontVariant")||"",letterSpacing:g.css("letterSpacing")||"",wordSpacing:g.css("wordSpacing")||""},h.attr("class",g.attr("class")).append(g.contents().clone()).append(l),g.replaceWith(h),k.css(m),l.css(m).width(Math.min(k.text("pW"+l[0].value).width(),f))[0].select(),void a(i).one("mousedown.jstree touchstart.jstree dnd_start.vakata",function(b){ | |
4 | +l&&b.target!==l&&a(l).blur()})):!1},set_theme:function(b,c){if(!b)return!1;if(c===!0){var d=this.settings.core.themes.dir;d||(d=a.jstree.path+"/themes"),c=d+"/"+b+"/style.css"}c&&-1===a.inArray(c,g)&&(a("head").append('<link rel="stylesheet" href="'+c+'" type="text/css" />'),g.push(c)),this._data.core.themes.name&&this.element.removeClass("jstree-"+this._data.core.themes.name),this._data.core.themes.name=b,this.element.addClass("jstree-"+b),this.element[this.settings.core.themes.responsive?"addClass":"removeClass"]("jstree-"+b+"-responsive"),this.trigger("set_theme",{theme:b})},get_theme:function(){return this._data.core.themes.name},set_theme_variant:function(a){this._data.core.themes.variant&&this.element.removeClass("jstree-"+this._data.core.themes.name+"-"+this._data.core.themes.variant),this._data.core.themes.variant=a,a&&this.element.addClass("jstree-"+this._data.core.themes.name+"-"+this._data.core.themes.variant)},get_theme_variant:function(){return this._data.core.themes.variant},show_stripes:function(){this._data.core.themes.stripes=!0,this.get_container_ul().addClass("jstree-striped")},hide_stripes:function(){this._data.core.themes.stripes=!1,this.get_container_ul().removeClass("jstree-striped")},toggle_stripes:function(){this._data.core.themes.stripes?this.hide_stripes():this.show_stripes()},show_dots:function(){this._data.core.themes.dots=!0,this.get_container_ul().removeClass("jstree-no-dots")},hide_dots:function(){this._data.core.themes.dots=!1,this.get_container_ul().addClass("jstree-no-dots")},toggle_dots:function(){this._data.core.themes.dots?this.hide_dots():this.show_dots()},show_icons:function(){this._data.core.themes.icons=!0,this.get_container_ul().removeClass("jstree-no-icons")},hide_icons:function(){this._data.core.themes.icons=!1,this.get_container_ul().addClass("jstree-no-icons")},toggle_icons:function(){this._data.core.themes.icons?this.hide_icons():this.show_icons()},set_icon:function(c,d){var e,f,g,h;if(a.isArray(c)){for(c=c.slice(),e=0,f=c.length;f>e;e++)this.set_icon(c[e],d);return!0}return c=this.get_node(c),c&&c.id!==a.jstree.root?(h=c.icon,c.icon=d===!0||null===d||d===b||""===d?!0:d,g=this.get_node(c,!0).children(".jstree-anchor").children(".jstree-themeicon"),d===!1?this.hide_icon(c):d===!0||null===d||d===b||""===d?(g.removeClass("jstree-themeicon-custom "+h).css("background","").removeAttr("rel"),h===!1&&this.show_icon(c)):-1===d.indexOf("/")&&-1===d.indexOf(".")?(g.removeClass(h).css("background",""),g.addClass(d+" jstree-themeicon-custom").attr("rel",d),h===!1&&this.show_icon(c)):(g.removeClass(h).css("background",""),g.addClass("jstree-themeicon-custom").css("background","url('"+d+"') center center no-repeat").attr("rel",d),h===!1&&this.show_icon(c)),!0):!1},get_icon:function(b){return b=this.get_node(b),b&&b.id!==a.jstree.root?b.icon:!1},hide_icon:function(b){var c,d;if(a.isArray(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.hide_icon(b[c]);return!0}return b=this.get_node(b),b&&b!==a.jstree.root?(b.icon=!1,this.get_node(b,!0).children(".jstree-anchor").children(".jstree-themeicon").addClass("jstree-themeicon-hidden"),!0):!1},show_icon:function(b){var c,d,e;if(a.isArray(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.show_icon(b[c]);return!0}return b=this.get_node(b),b&&b!==a.jstree.root?(e=this.get_node(b,!0),b.icon=e.length?e.children(".jstree-anchor").children(".jstree-themeicon").attr("rel"):!0,b.icon||(b.icon=!0),e.children(".jstree-anchor").children(".jstree-themeicon").removeClass("jstree-themeicon-hidden"),!0):!1}},a.vakata={},a.vakata.attributes=function(b,c){b=a(b)[0];var d=c?{}:[];return b&&b.attributes&&a.each(b.attributes,function(b,e){-1===a.inArray(e.name.toLowerCase(),["style","contenteditable","hasfocus","tabindex"])&&null!==e.value&&""!==a.trim(e.value)&&(c?d[e.name]=e.value:d.push(e.name))}),d},a.vakata.array_unique=function(a){var c=[],d,e,f,g={};for(d=0,f=a.length;f>d;d++)g[a[d]]===b&&(c.push(a[d]),g[a[d]]=!0);return c},a.vakata.array_remove=function(a,b){return a.splice(b,1),a},a.vakata.array_remove_item=function(b,c){var d=a.inArray(c,b);return-1!==d?a.vakata.array_remove(b,d):b},a.vakata.array_filter=function(a,b,c,d,e){if(a.filter)return a.filter(b,c);d=[];for(e in a)~~e+""==e+""&&e>=0&&b.call(c,a[e],+e,a)&&d.push(a[e]);return d},a.jstree.plugins.changed=function(a,b){var c=[];this.trigger=function(a,d){var e,f;if(d||(d={}),"changed"===a.replace(".jstree","")){d.changed={selected:[],deselected:[]};var g={};for(e=0,f=c.length;f>e;e++)g[c[e]]=1;for(e=0,f=d.selected.length;f>e;e++)g[d.selected[e]]?g[d.selected[e]]=2:d.changed.selected.push(d.selected[e]);for(e=0,f=c.length;f>e;e++)1===g[c[e]]&&d.changed.deselected.push(c[e]);c=d.selected.slice()}b.trigger.call(this,a,d)},this.refresh=function(a,d){return c=[],b.refresh.apply(this,arguments)}};var m=i.createElement("I");m.className="jstree-icon jstree-checkbox",m.setAttribute("role","presentation"),a.jstree.defaults.checkbox={visible:!0,three_state:!0,whole_node:!0,keep_selected_style:!0,cascade:"",tie_selection:!0},a.jstree.plugins.checkbox=function(c,d){this.bind=function(){d.bind.call(this),this._data.checkbox.uto=!1,this._data.checkbox.selected=[],this.settings.checkbox.three_state&&(this.settings.checkbox.cascade="up+down+undetermined"),this.element.on("init.jstree",a.proxy(function(){this._data.checkbox.visible=this.settings.checkbox.visible,this.settings.checkbox.keep_selected_style||this.element.addClass("jstree-checkbox-no-clicked"),this.settings.checkbox.tie_selection&&this.element.addClass("jstree-checkbox-selection")},this)).on("loading.jstree",a.proxy(function(){this[this._data.checkbox.visible?"show_checkboxes":"hide_checkboxes"]()},this)),-1!==this.settings.checkbox.cascade.indexOf("undetermined")&&this.element.on("changed.jstree uncheck_node.jstree check_node.jstree uncheck_all.jstree check_all.jstree move_node.jstree copy_node.jstree redraw.jstree open_node.jstree",a.proxy(function(){this._data.checkbox.uto&&clearTimeout(this._data.checkbox.uto),this._data.checkbox.uto=setTimeout(a.proxy(this._undetermined,this),50)},this)),this.settings.checkbox.tie_selection||this.element.on("model.jstree",a.proxy(function(a,b){var c=this._model.data,d=c[b.parent],e=b.nodes,f,g;for(f=0,g=e.length;g>f;f++)c[e[f]].state.checked=c[e[f]].state.checked||c[e[f]].original&&c[e[f]].original.state&&c[e[f]].original.state.checked,c[e[f]].state.checked&&this._data.checkbox.selected.push(e[f])},this)),(-1!==this.settings.checkbox.cascade.indexOf("up")||-1!==this.settings.checkbox.cascade.indexOf("down"))&&this.element.on("model.jstree",a.proxy(function(b,c){var d=this._model.data,e=d[c.parent],f=c.nodes,g=[],h,i,j,k,l,m,n=this.settings.checkbox.cascade,o=this.settings.checkbox.tie_selection;if(-1!==n.indexOf("down"))if(e.state[o?"selected":"checked"]){for(i=0,j=f.length;j>i;i++)d[f[i]].state[o?"selected":"checked"]=!0;this._data[o?"core":"checkbox"].selected=this._data[o?"core":"checkbox"].selected.concat(f)}else for(i=0,j=f.length;j>i;i++)if(d[f[i]].state[o?"selected":"checked"]){for(k=0,l=d[f[i]].children_d.length;l>k;k++)d[d[f[i]].children_d[k]].state[o?"selected":"checked"]=!0;this._data[o?"core":"checkbox"].selected=this._data[o?"core":"checkbox"].selected.concat(d[f[i]].children_d)}if(-1!==n.indexOf("up")){for(i=0,j=e.children_d.length;j>i;i++)d[e.children_d[i]].children.length||g.push(d[e.children_d[i]].parent);for(g=a.vakata.array_unique(g),k=0,l=g.length;l>k;k++){e=d[g[k]];while(e&&e.id!==a.jstree.root){for(h=0,i=0,j=e.children.length;j>i;i++)h+=d[e.children[i]].state[o?"selected":"checked"];if(h!==j)break;e.state[o?"selected":"checked"]=!0,this._data[o?"core":"checkbox"].selected.push(e.id),m=this.get_node(e,!0),m&&m.length&&m.attr("aria-selected",!0).children(".jstree-anchor").addClass(o?"jstree-clicked":"jstree-checked"),e=this.get_node(e.parent)}}}this._data[o?"core":"checkbox"].selected=a.vakata.array_unique(this._data[o?"core":"checkbox"].selected)},this)).on(this.settings.checkbox.tie_selection?"select_node.jstree":"check_node.jstree",a.proxy(function(b,c){var d=c.node,e=this._model.data,f=this.get_node(d.parent),g=this.get_node(d,!0),h,i,j,k,l=this.settings.checkbox.cascade,m=this.settings.checkbox.tie_selection,n={},o=this._data[m?"core":"checkbox"].selected;for(h=0,i=o.length;i>h;h++)n[o[h]]=!0;if(-1!==l.indexOf("down"))for(h=0,i=d.children_d.length;i>h;h++)n[d.children_d[h]]=!0,k=e[d.children_d[h]],k.state[m?"selected":"checked"]=!0,k&&k.original&&k.original.state&&k.original.state.undetermined&&(k.original.state.undetermined=!1);if(-1!==l.indexOf("up"))while(f&&f.id!==a.jstree.root){for(j=0,h=0,i=f.children.length;i>h;h++)j+=e[f.children[h]].state[m?"selected":"checked"];if(j!==i)break;f.state[m?"selected":"checked"]=!0,n[f.id]=!0,k=this.get_node(f,!0),k&&k.length&&k.attr("aria-selected",!0).children(".jstree-anchor").addClass(m?"jstree-clicked":"jstree-checked"),f=this.get_node(f.parent)}o=[];for(h in n)n.hasOwnProperty(h)&&o.push(h);this._data[m?"core":"checkbox"].selected=o,-1!==l.indexOf("down")&&g.length&&g.find(".jstree-anchor").addClass(m?"jstree-clicked":"jstree-checked").parent().attr("aria-selected",!0)},this)).on(this.settings.checkbox.tie_selection?"deselect_all.jstree":"uncheck_all.jstree",a.proxy(function(b,c){var d=this.get_node(a.jstree.root),e=this._model.data,f,g,h;for(f=0,g=d.children_d.length;g>f;f++)h=e[d.children_d[f]],h&&h.original&&h.original.state&&h.original.state.undetermined&&(h.original.state.undetermined=!1)},this)).on(this.settings.checkbox.tie_selection?"deselect_node.jstree":"uncheck_node.jstree",a.proxy(function(b,c){var d=c.node,e=this.get_node(d,!0),f,g,h,i=this.settings.checkbox.cascade,j=this.settings.checkbox.tie_selection,k=this._data[j?"core":"checkbox"].selected,l={};if(d&&d.original&&d.original.state&&d.original.state.undetermined&&(d.original.state.undetermined=!1),-1!==i.indexOf("down"))for(f=0,g=d.children_d.length;g>f;f++)h=this._model.data[d.children_d[f]],h.state[j?"selected":"checked"]=!1,h&&h.original&&h.original.state&&h.original.state.undetermined&&(h.original.state.undetermined=!1);if(-1!==i.indexOf("up"))for(f=0,g=d.parents.length;g>f;f++)h=this._model.data[d.parents[f]],h.state[j?"selected":"checked"]=!1,h&&h.original&&h.original.state&&h.original.state.undetermined&&(h.original.state.undetermined=!1),h=this.get_node(d.parents[f],!0),h&&h.length&&h.attr("aria-selected",!1).children(".jstree-anchor").removeClass(j?"jstree-clicked":"jstree-checked");for(l={},f=0,g=k.length;g>f;f++)-1!==i.indexOf("down")&&-1!==a.inArray(k[f],d.children_d)||-1!==i.indexOf("up")&&-1!==a.inArray(k[f],d.parents)||(l[k[f]]=!0);k=[];for(f in l)l.hasOwnProperty(f)&&k.push(f);this._data[j?"core":"checkbox"].selected=k,-1!==i.indexOf("down")&&e.length&&e.find(".jstree-anchor").removeClass(j?"jstree-clicked":"jstree-checked").parent().attr("aria-selected",!1)},this)),-1!==this.settings.checkbox.cascade.indexOf("up")&&this.element.on("delete_node.jstree",a.proxy(function(b,c){var d=this.get_node(c.parent),e=this._model.data,f,g,h,i,j=this.settings.checkbox.tie_selection;while(d&&d.id!==a.jstree.root&&!d.state[j?"selected":"checked"]){for(h=0,f=0,g=d.children.length;g>f;f++)h+=e[d.children[f]].state[j?"selected":"checked"];if(!(g>0&&h===g))break;d.state[j?"selected":"checked"]=!0,this._data[j?"core":"checkbox"].selected.push(d.id),i=this.get_node(d,!0),i&&i.length&&i.attr("aria-selected",!0).children(".jstree-anchor").addClass(j?"jstree-clicked":"jstree-checked"),d=this.get_node(d.parent)}},this)).on("move_node.jstree",a.proxy(function(b,c){var d=c.is_multi,e=c.old_parent,f=this.get_node(c.parent),g=this._model.data,h,i,j,k,l,m=this.settings.checkbox.tie_selection;if(!d){h=this.get_node(e);while(h&&h.id!==a.jstree.root&&!h.state[m?"selected":"checked"]){for(i=0,j=0,k=h.children.length;k>j;j++)i+=g[h.children[j]].state[m?"selected":"checked"];if(!(k>0&&i===k))break;h.state[m?"selected":"checked"]=!0,this._data[m?"core":"checkbox"].selected.push(h.id),l=this.get_node(h,!0),l&&l.length&&l.attr("aria-selected",!0).children(".jstree-anchor").addClass(m?"jstree-clicked":"jstree-checked"),h=this.get_node(h.parent)}}h=f;while(h&&h.id!==a.jstree.root){for(i=0,j=0,k=h.children.length;k>j;j++)i+=g[h.children[j]].state[m?"selected":"checked"];if(i===k)h.state[m?"selected":"checked"]||(h.state[m?"selected":"checked"]=!0,this._data[m?"core":"checkbox"].selected.push(h.id),l=this.get_node(h,!0),l&&l.length&&l.attr("aria-selected",!0).children(".jstree-anchor").addClass(m?"jstree-clicked":"jstree-checked"));else{if(!h.state[m?"selected":"checked"])break;h.state[m?"selected":"checked"]=!1,this._data[m?"core":"checkbox"].selected=a.vakata.array_remove_item(this._data[m?"core":"checkbox"].selected,h.id),l=this.get_node(h,!0),l&&l.length&&l.attr("aria-selected",!1).children(".jstree-anchor").removeClass(m?"jstree-clicked":"jstree-checked")}h=this.get_node(h.parent)}},this))},this._undetermined=function(){if(null!==this.element){var c,d,e,f,g={},h=this._model.data,i=this.settings.checkbox.tie_selection,j=this._data[i?"core":"checkbox"].selected,k=[],l=this;for(c=0,d=j.length;d>c;c++)if(h[j[c]]&&h[j[c]].parents)for(e=0,f=h[j[c]].parents.length;f>e;e++){if(g[h[j[c]].parents[e]]!==b)break;h[j[c]].parents[e]!==a.jstree.root&&(g[h[j[c]].parents[e]]=!0,k.push(h[j[c]].parents[e]))}for(this.element.find(".jstree-closed").not(":has(.jstree-children)").each(function(){var i=l.get_node(this),j;if(i.state.loaded){for(c=0,d=i.children_d.length;d>c;c++)if(j=h[i.children_d[c]],!j.state.loaded&&j.original&&j.original.state&&j.original.state.undetermined&&j.original.state.undetermined===!0)for(g[j.id]===b&&j.id!==a.jstree.root&&(g[j.id]=!0,k.push(j.id)),e=0,f=j.parents.length;f>e;e++)g[j.parents[e]]===b&&j.parents[e]!==a.jstree.root&&(g[j.parents[e]]=!0,k.push(j.parents[e]))}else if(i.original&&i.original.state&&i.original.state.undetermined&&i.original.state.undetermined===!0)for(g[i.id]===b&&i.id!==a.jstree.root&&(g[i.id]=!0,k.push(i.id)),e=0,f=i.parents.length;f>e;e++)g[i.parents[e]]===b&&i.parents[e]!==a.jstree.root&&(g[i.parents[e]]=!0,k.push(i.parents[e]))}),this.element.find(".jstree-undetermined").removeClass("jstree-undetermined"),c=0,d=k.length;d>c;c++)h[k[c]].state[i?"selected":"checked"]||(j=this.get_node(k[c],!0),j&&j.length&&j.children(".jstree-anchor").children(".jstree-checkbox").addClass("jstree-undetermined"))}},this.redraw_node=function(b,c,e,f){if(b=d.redraw_node.apply(this,arguments)){var g,h,i=null,j=null;for(g=0,h=b.childNodes.length;h>g;g++)if(b.childNodes[g]&&b.childNodes[g].className&&-1!==b.childNodes[g].className.indexOf("jstree-anchor")){i=b.childNodes[g];break}i&&(!this.settings.checkbox.tie_selection&&this._model.data[b.id].state.checked&&(i.className+=" jstree-checked"),j=m.cloneNode(!1),this._model.data[b.id].state.checkbox_disabled&&(j.className+=" jstree-checkbox-disabled"),i.insertBefore(j,i.childNodes[0]))}return e||-1===this.settings.checkbox.cascade.indexOf("undetermined")||(this._data.checkbox.uto&&clearTimeout(this._data.checkbox.uto),this._data.checkbox.uto=setTimeout(a.proxy(this._undetermined,this),50)),b},this.show_checkboxes=function(){this._data.core.themes.checkboxes=!0,this.get_container_ul().removeClass("jstree-no-checkboxes")},this.hide_checkboxes=function(){this._data.core.themes.checkboxes=!1,this.get_container_ul().addClass("jstree-no-checkboxes")},this.toggle_checkboxes=function(){this._data.core.themes.checkboxes?this.hide_checkboxes():this.show_checkboxes()},this.is_undetermined=function(b){b=this.get_node(b);var c=this.settings.checkbox.cascade,d,e,f=this.settings.checkbox.tie_selection,g=this._data[f?"core":"checkbox"].selected,h=this._model.data;if(!b||b.state[f?"selected":"checked"]===!0||-1===c.indexOf("undetermined")||-1===c.indexOf("down")&&-1===c.indexOf("up"))return!1;if(!b.state.loaded&&b.original.state.undetermined===!0)return!0;for(d=0,e=b.children_d.length;e>d;d++)if(-1!==a.inArray(b.children_d[d],g)||!h[b.children_d[d]].state.loaded&&h[b.children_d[d]].original.state.undetermined)return!0;return!1},this.disable_checkbox=function(b){var c,d,e;if(a.isArray(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.disable_checkbox(b[c]);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(e=this.get_node(b,!0),void(b.state.checkbox_disabled||(b.state.checkbox_disabled=!0,e&&e.length&&e.children(".jstree-anchor").children(".jstree-checkbox").addClass("jstree-checkbox-disabled"),this.trigger("disable_checkbox",{node:b})))):!1},this.enable_checkbox=function(b){var c,d,e;if(a.isArray(b)){for(b=b.slice(),c=0,d=b.length;d>c;c++)this.enable_checkbox(b[c]);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(e=this.get_node(b,!0),void(b.state.checkbox_disabled&&(b.state.checkbox_disabled=!1,e&&e.length&&e.children(".jstree-anchor").children(".jstree-checkbox").removeClass("jstree-checkbox-disabled"),this.trigger("enable_checkbox",{node:b})))):!1},this.activate_node=function(b,c){return a(c.target).hasClass("jstree-checkbox-disabled")?!1:(this.settings.checkbox.tie_selection&&(this.settings.checkbox.whole_node||a(c.target).hasClass("jstree-checkbox"))&&(c.ctrlKey=!0),this.settings.checkbox.tie_selection||!this.settings.checkbox.whole_node&&!a(c.target).hasClass("jstree-checkbox")?d.activate_node.call(this,b,c):this.is_disabled(b)?!1:(this.is_checked(b)?this.uncheck_node(b,c):this.check_node(b,c),void this.trigger("activate_node",{node:this.get_node(b)})))},this.check_node=function(b,c){if(this.settings.checkbox.tie_selection)return this.select_node(b,!1,!0,c);var d,e,f,g;if(a.isArray(b)){for(b=b.slice(),e=0,f=b.length;f>e;e++)this.check_node(b[e],c);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(d=this.get_node(b,!0),void(b.state.checked||(b.state.checked=!0,this._data.checkbox.selected.push(b.id),d&&d.length&&d.children(".jstree-anchor").addClass("jstree-checked"),this.trigger("check_node",{node:b,selected:this._data.checkbox.selected,event:c})))):!1},this.uncheck_node=function(b,c){if(this.settings.checkbox.tie_selection)return this.deselect_node(b,!1,c);var d,e,f;if(a.isArray(b)){for(b=b.slice(),d=0,e=b.length;e>d;d++)this.uncheck_node(b[d],c);return!0}return b=this.get_node(b),b&&b.id!==a.jstree.root?(f=this.get_node(b,!0),void(b.state.checked&&(b.state.checked=!1,this._data.checkbox.selected=a.vakata.array_remove_item(this._data.checkbox.selected,b.id),f.length&&f.children(".jstree-anchor").removeClass("jstree-checked"),this.trigger("uncheck_node",{node:b,selected:this._data.checkbox.selected,event:c})))):!1},this.check_all=function(){if(this.settings.checkbox.tie_selection)return this.select_all();var b=this._data.checkbox.selected.concat([]),c,d;for(this._data.checkbox.selected=this._model.data[a.jstree.root].children_d.concat(),c=0,d=this._data.checkbox.selected.length;d>c;c++)this._model.data[this._data.checkbox.selected[c]]&&(this._model.data[this._data.checkbox.selected[c]].state.checked=!0);this.redraw(!0),this.trigger("check_all",{selected:this._data.checkbox.selected})},this.uncheck_all=function(){if(this.settings.checkbox.tie_selection)return this.deselect_all();var a=this._data.checkbox.selected.concat([]),b,c;for(b=0,c=this._data.checkbox.selected.length;c>b;b++)this._model.data[this._data.checkbox.selected[b]]&&(this._model.data[this._data.checkbox.selected[b]].state.checked=!1);this._data.checkbox.selected=[],this.element.find(".jstree-checked").removeClass("jstree-checked"),this.trigger("uncheck_all",{selected:this._data.checkbox.selected,node:a})},this.is_checked=function(b){return this.settings.checkbox.tie_selection?this.is_selected(b):(b=this.get_node(b),b&&b.id!==a.jstree.root?b.state.checked:!1)},this.get_checked=function(b){return this.settings.checkbox.tie_selection?this.get_selected(b):b?a.map(this._data.checkbox.selected,a.proxy(function(a){return this.get_node(a)},this)):this._data.checkbox.selected},this.get_top_checked=function(b){if(this.settings.checkbox.tie_selection)return this.get_top_selected(b);var c=this.get_checked(!0),d={},e,f,g,h;for(e=0,f=c.length;f>e;e++)d[c[e].id]=c[e];for(e=0,f=c.length;f>e;e++)for(g=0,h=c[e].children_d.length;h>g;g++)d[c[e].children_d[g]]&&delete d[c[e].children_d[g]];c=[];for(e in d)d.hasOwnProperty(e)&&c.push(e);return b?a.map(c,a.proxy(function(a){return this.get_node(a)},this)):c},this.get_bottom_checked=function(b){if(this.settings.checkbox.tie_selection)return this.get_bottom_selected(b);var c=this.get_checked(!0),d=[],e,f;for(e=0,f=c.length;f>e;e++)c[e].children.length||d.push(c[e].id);return b?a.map(d,a.proxy(function(a){return this.get_node(a)},this)):d},this.load_node=function(b,c){var e,f,g,h,i,j;if(!a.isArray(b)&&!this.settings.checkbox.tie_selection&&(j=this.get_node(b),j&&j.state.loaded))for(e=0,f=j.children_d.length;f>e;e++)this._model.data[j.children_d[e]].state.checked&&(i=!0,this._data.checkbox.selected=a.vakata.array_remove_item(this._data.checkbox.selected,j.children_d[e]));return d.load_node.apply(this,arguments)},this.get_state=function(){var a=d.get_state.apply(this,arguments);return this.settings.checkbox.tie_selection?a:(a.checkbox=this._data.checkbox.selected.slice(),a)},this.set_state=function(b,c){var e=d.set_state.apply(this,arguments);if(e&&b.checkbox){if(!this.settings.checkbox.tie_selection){this.uncheck_all();var f=this;a.each(b.checkbox,function(a,b){f.check_node(b)})}return delete b.checkbox,this.set_state(b,c),!1}return e},this.refresh=function(a,b){return this.settings.checkbox.tie_selection||(this._data.checkbox.selected=[]),d.refresh.apply(this,arguments)}},a.jstree.defaults.conditionalselect=function(){return!0},a.jstree.plugins.conditionalselect=function(a,b){this.activate_node=function(a,c){this.settings.conditionalselect.call(this,this.get_node(a),c)&&b.activate_node.call(this,a,c)}},a.jstree.defaults.contextmenu={select_node:!0,show_at_node:!0,items:function(b,c){return{create:{separator_before:!1,separator_after:!0,_disabled:!1,label:"Create",action:function(b){var c=a.jstree.reference(b.reference),d=c.get_node(b.reference);c.create_node(d,{},"last",function(a){setTimeout(function(){c.edit(a)},0)})}},rename:{separator_before:!1,separator_after:!1,_disabled:!1,label:"Rename",action:function(b){var c=a.jstree.reference(b.reference),d=c.get_node(b.reference);c.edit(d)}},remove:{separator_before:!1,icon:!1,separator_after:!1,_disabled:!1,label:"Delete",action:function(b){var c=a.jstree.reference(b.reference),d=c.get_node(b.reference);c.is_selected(d)?c.delete_node(c.get_selected()):c.delete_node(d)}},ccp:{separator_before:!0,icon:!1,separator_after:!1,label:"Edit",action:!1,submenu:{cut:{separator_before:!1,separator_after:!1,label:"Cut",action:function(b){var c=a.jstree.reference(b.reference),d=c.get_node(b.reference);c.is_selected(d)?c.cut(c.get_top_selected()):c.cut(d)}},copy:{separator_before:!1,icon:!1,separator_after:!1,label:"Copy",action:function(b){var c=a.jstree.reference(b.reference),d=c.get_node(b.reference);c.is_selected(d)?c.copy(c.get_top_selected()):c.copy(d)}},paste:{separator_before:!1,icon:!1,_disabled:function(b){return!a.jstree.reference(b.reference).can_paste()},separator_after:!1,label:"Paste",action:function(b){var c=a.jstree.reference(b.reference),d=c.get_node(b.reference);c.paste(d)}}}}}}},a.jstree.plugins.contextmenu=function(c,d){this.bind=function(){d.bind.call(this);var b=0,c=null,e,f;this.element.on("contextmenu.jstree",".jstree-anchor",a.proxy(function(a,d){"input"!==a.target.tagName.toLowerCase()&&(a.preventDefault(),b=a.ctrlKey?+new Date:0,(d||c)&&(b=+new Date+1e4),c&&clearTimeout(c),this.is_loading(a.currentTarget)||this.show_contextmenu(a.currentTarget,a.pageX,a.pageY,a))},this)).on("click.jstree",".jstree-anchor",a.proxy(function(c){this._data.contextmenu.visible&&(!b||+new Date-b>250)&&a.vakata.context.hide(),b=0},this)).on("touchstart.jstree",".jstree-anchor",function(b){b.originalEvent&&b.originalEvent.changedTouches&&b.originalEvent.changedTouches[0]&&(e=b.pageX,f=b.pageY,c=setTimeout(function(){a(b.currentTarget).trigger("contextmenu",!0)},750))}).on("touchmove.vakata.jstree",function(a){c&&a.originalEvent&&a.originalEvent.changedTouches&&a.originalEvent.changedTouches[0]&&(Math.abs(e-a.pageX)>50||Math.abs(f-a.pageY)>50)&&clearTimeout(c)}).on("touchend.vakata.jstree",function(a){c&&clearTimeout(c)}),a(i).on("context_hide.vakata.jstree",a.proxy(function(a,b){this._data.contextmenu.visible=!1,b.reference.removeClass("jstree-context")},this))},this.teardown=function(){this._data.contextmenu.visible&&a.vakata.context.hide(),d.teardown.call(this)},this.show_contextmenu=function(c,d,e,f){if(c=this.get_node(c),!c||c.id===a.jstree.root)return!1;var g=this.settings.contextmenu,h=this.get_node(c,!0),i=h.children(".jstree-anchor"),j=!1,k=!1;(g.show_at_node||d===b||e===b)&&(j=i.offset(),d=j.left,e=j.top+this._data.core.li_height),this.settings.contextmenu.select_node&&!this.is_selected(c)&&this.activate_node(c,f),k=g.items,a.isFunction(k)&&(k=k.call(this,c,a.proxy(function(a){this._show_contextmenu(c,d,e,a)},this))),a.isPlainObject(k)&&this._show_contextmenu(c,d,e,k)},this._show_contextmenu=function(b,c,d,e){var f=this.get_node(b,!0),g=f.children(".jstree-anchor");a(i).one("context_show.vakata.jstree",a.proxy(function(b,c){var d="jstree-contextmenu jstree-"+this.get_theme()+"-contextmenu";a(c.element).addClass(d),g.addClass("jstree-context")},this)),this._data.contextmenu.visible=!0,a.vakata.context.show(g,{x:c,y:d},e),this.trigger("show_contextmenu",{node:b,x:c,y:d})}},function(a){var b=!1,c={element:!1,reference:!1,position_x:0,position_y:0,items:[],html:"",is_visible:!1};a.vakata.context={settings:{hide_onmouseleave:0,icons:!0},_trigger:function(b){a(i).triggerHandler("context_"+b+".vakata",{reference:c.reference,element:c.element,position:{x:c.position_x,y:c.position_y}})},_execute:function(b){return b=c.items[b],b&&(!b._disabled||a.isFunction(b._disabled)&&!b._disabled({item:b,reference:c.reference,element:c.element}))&&b.action?b.action.call(null,{item:b,reference:c.reference,element:c.element,position:{x:c.position_x,y:c.position_y}}):!1},_parse:function(b,d){if(!b)return!1;d||(c.html="",c.items=[]);var e="",f=!1,g;return d&&(e+="<ul>"),a.each(b,function(b,d){return d?(c.items.push(d),!f&&d.separator_before&&(e+="<li class='vakata-context-separator'><a href='#' "+(a.vakata.context.settings.icons?"":'style="margin-left:0px;"')+"> </a></li>"),f=!1,e+="<li class='"+(d._class||"")+(d._disabled===!0||a.isFunction(d._disabled)&&d._disabled({item:d,reference:c.reference,element:c.element})?" vakata-contextmenu-disabled ":"")+"' "+(d.shortcut?" data-shortcut='"+d.shortcut+"' ":"")+">",e+="<a href='#' rel='"+(c.items.length-1)+"'>",a.vakata.context.settings.icons&&(e+="<i ",d.icon&&(e+=-1!==d.icon.indexOf("/")||-1!==d.icon.indexOf(".")?" style='background:url(\""+d.icon+"\") center center no-repeat' ":" class='"+d.icon+"' "),e+="></i><span class='vakata-contextmenu-sep'> </span>"),e+=(a.isFunction(d.label)?d.label({item:b,reference:c.reference,element:c.element}):d.label)+(d.shortcut?' <span class="vakata-contextmenu-shortcut vakata-contextmenu-shortcut-'+d.shortcut+'">'+(d.shortcut_label||"")+"</span>":"")+"</a>",d.submenu&&(g=a.vakata.context._parse(d.submenu,!0),g&&(e+=g)),e+="</li>",void(d.separator_after&&(e+="<li class='vakata-context-separator'><a href='#' "+(a.vakata.context.settings.icons?"":'style="margin-left:0px;"')+"> </a></li>",f=!0))):!0}),e=e.replace(/<li class\='vakata-context-separator'\><\/li\>$/,""),d&&(e+="</ul>"),d||(c.html=e,a.vakata.context._trigger("parse")),e.length>10?e:!1},_show_submenu:function(c){if(c=a(c),c.length&&c.children("ul").length){var d=c.children("ul"),e=c.offset().left,f=e+c.outerWidth(),g=c.offset().top,h=d.width(),i=d.height(),j=a(window).width()+a(window).scrollLeft(),k=a(window).height()+a(window).scrollTop();b?c[f-(h+10+c.outerWidth())<0?"addClass":"removeClass"]("vakata-context-left"):c[f+h>j&&e>j-f?"addClass":"removeClass"]("vakata-context-right"),g+i+10>k&&d.css("bottom","-1px"),c.hasClass("vakata-context-right")?h>e&&d.css("margin-right",e-h):h>j-f&&d.css("margin-left",j-f-h),d.show()}},show:function(d,e,f){var g,h,i,j,k,l,m,n,o=!0;switch(c.element&&c.element.length&&c.element.width(""),o){case!e&&!d:return!1;case!!e&&!!d:c.reference=d,c.position_x=e.x,c.position_y=e.y;break;case!e&&!!d:c.reference=d,g=d.offset(),c.position_x=g.left+d.outerHeight(),c.position_y=g.top;break;case!!e&&!d:c.position_x=e.x,c.position_y=e.y}d&&!f&&a(d).data("vakata_contextmenu")&&(f=a(d).data("vakata_contextmenu")),a.vakata.context._parse(f)&&c.element.html(c.html),c.items.length&&(c.element.appendTo("body"),h=c.element,i=c.position_x,j=c.position_y,k=h.width(),l=h.height(),m=a(window).width()+a(window).scrollLeft(),n=a(window).height()+a(window).scrollTop(),b&&(i-=h.outerWidth()-a(d).outerWidth(),i<a(window).scrollLeft()+20&&(i=a(window).scrollLeft()+20)),i+k+20>m&&(i=m-(k+20)),j+l+20>n&&(j=n-(l+20)),c.element.css({left:i,top:j}).show().find("a").first().focus().parent().addClass("vakata-context-hover"),c.is_visible=!0,a.vakata.context._trigger("show"))},hide:function(){c.is_visible&&(c.element.hide().find("ul").hide().end().find(":focus").blur().end().detach(),c.is_visible=!1,a.vakata.context._trigger("hide"))}},a(function(){b="rtl"===a("body").css("direction");var d=!1;c.element=a("<ul class='vakata-context'></ul>"),c.element.on("mouseenter","li",function(b){b.stopImmediatePropagation(),a.contains(this,b.relatedTarget)||(d&&clearTimeout(d),c.element.find(".vakata-context-hover").removeClass("vakata-context-hover").end(),a(this).siblings().find("ul").hide().end().end().parentsUntil(".vakata-context","li").addBack().addClass("vakata-context-hover"),a.vakata.context._show_submenu(this))}).on("mouseleave","li",function(b){a.contains(this,b.relatedTarget)||a(this).find(".vakata-context-hover").addBack().removeClass("vakata-context-hover")}).on("mouseleave",function(b){a(this).find(".vakata-context-hover").removeClass("vakata-context-hover"),a.vakata.context.settings.hide_onmouseleave&&(d=setTimeout(function(b){return function(){a.vakata.context.hide()}}(this),a.vakata.context.settings.hide_onmouseleave))}).on("click","a",function(b){b.preventDefault(),a(this).blur().parent().hasClass("vakata-context-disabled")||a.vakata.context._execute(a(this).attr("rel"))===!1||a.vakata.context.hide()}).on("keydown","a",function(b){var d=null;switch(b.which){case 13:case 32:b.type="mouseup",b.preventDefault(),a(b.currentTarget).trigger(b);break;case 37:c.is_visible&&(c.element.find(".vakata-context-hover").last().closest("li").first().find("ul").hide().find(".vakata-context-hover").removeClass("vakata-context-hover").end().end().children("a").focus(),b.stopImmediatePropagation(),b.preventDefault());break;case 38:c.is_visible&&(d=c.element.find("ul:visible").addBack().last().children(".vakata-context-hover").removeClass("vakata-context-hover").prevAll("li:not(.vakata-context-separator)").first(),d.length||(d=c.element.find("ul:visible").addBack().last().children("li:not(.vakata-context-separator)").last()),d.addClass("vakata-context-hover").children("a").focus(),b.stopImmediatePropagation(),b.preventDefault());break;case 39:c.is_visible&&(c.element.find(".vakata-context-hover").last().children("ul").show().children("li:not(.vakata-context-separator)").removeClass("vakata-context-hover").first().addClass("vakata-context-hover").children("a").focus(),b.stopImmediatePropagation(),b.preventDefault());break;case 40:c.is_visible&&(d=c.element.find("ul:visible").addBack().last().children(".vakata-context-hover").removeClass("vakata-context-hover").nextAll("li:not(.vakata-context-separator)").first(),d.length||(d=c.element.find("ul:visible").addBack().last().children("li:not(.vakata-context-separator)").first()),d.addClass("vakata-context-hover").children("a").focus(),b.stopImmediatePropagation(),b.preventDefault());break;case 27:a.vakata.context.hide(),b.preventDefault()}}).on("keydown",function(a){a.preventDefault();var b=c.element.find(".vakata-contextmenu-shortcut-"+a.which).parent();b.parent().not(".vakata-context-disabled")&&b.click()}),a(i).on("mousedown.vakata.jstree",function(b){ | |
5 | +c.is_visible&&!a.contains(c.element[0],b.target)&&a.vakata.context.hide()}).on("context_show.vakata.jstree",function(a,d){c.element.find("li:has(ul)").children("a").addClass("vakata-context-parent"),b&&c.element.addClass("vakata-context-rtl").css("direction","rtl"),c.element.find("ul").hide().end()})})}(a),a.jstree.defaults.dnd={copy:!0,open_timeout:500,is_draggable:!0,check_while_dragging:!0,always_copy:!1,inside_pos:0,drag_selection:!0,touch:!0,large_drop_target:!1,large_drag_target:!1,use_html5:!1};var n,o;a.jstree.plugins.dnd=function(b,c){this.init=function(a,b){c.init.call(this,a,b),this.settings.dnd.use_html5=this.settings.dnd.use_html5&&"draggable"in i.createElement("span")},this.bind=function(){c.bind.call(this),this.element.on(this.settings.dnd.use_html5?"dragstart.jstree":"mousedown.jstree touchstart.jstree",this.settings.dnd.large_drag_target?".jstree-node":".jstree-anchor",a.proxy(function(b){if(this.settings.dnd.large_drag_target&&a(b.target).closest(".jstree-node")[0]!==b.currentTarget)return!0;if("touchstart"===b.type&&(!this.settings.dnd.touch||"selected"===this.settings.dnd.touch&&!a(b.currentTarget).closest(".jstree-node").children(".jstree-anchor").hasClass("jstree-clicked")))return!0;var c=this.get_node(b.target),d=this.is_selected(c)&&this.settings.dnd.drag_selection?this.get_top_selected().length:1,e=d>1?d+" "+this.get_string("nodes"):this.get_text(b.currentTarget);if(this.settings.core.force_text&&(e=a.vakata.html.escape(e)),c&&c.id&&c.id!==a.jstree.root&&(1===b.which||"touchstart"===b.type||"dragstart"===b.type)&&(this.settings.dnd.is_draggable===!0||a.isFunction(this.settings.dnd.is_draggable)&&this.settings.dnd.is_draggable.call(this,d>1?this.get_top_selected(!0):[c],b))){if(n={jstree:!0,origin:this,obj:this.get_node(c,!0),nodes:d>1?this.get_top_selected():[c.id]},o=b.currentTarget,!this.settings.dnd.use_html5)return this.element.trigger("mousedown.jstree"),a.vakata.dnd.start(b,n,'<div id="jstree-dnd" class="jstree-'+this.get_theme()+" jstree-"+this.get_theme()+"-"+this.get_theme_variant()+" "+(this.settings.core.themes.responsive?" jstree-dnd-responsive":"")+'"><i class="jstree-icon jstree-er"></i>'+e+'<ins class="jstree-copy" style="display:none;">+</ins></div>');a.vakata.dnd._trigger("start",b,{helper:a(),element:o,data:n})}},this)),this.settings.dnd.use_html5&&this.element.on("dragover.jstree",function(b){return b.preventDefault(),a.vakata.dnd._trigger("move",b,{helper:a(),element:o,data:n}),!1}).on("drop.jstree",a.proxy(function(b){return b.preventDefault(),a.vakata.dnd._trigger("stop",b,{helper:a(),element:o,data:n}),!1},this))},this.redraw_node=function(a,b,d,e){if(a=c.redraw_node.apply(this,arguments),a&&this.settings.dnd.use_html5)if(this.settings.dnd.large_drag_target)a.setAttribute("draggable",!0);else{var f,g,h=null;for(f=0,g=a.childNodes.length;g>f;f++)if(a.childNodes[f]&&a.childNodes[f].className&&-1!==a.childNodes[f].className.indexOf("jstree-anchor")){h=a.childNodes[f];break}h&&h.setAttribute("draggable",!0)}return a}},a(function(){var c=!1,d=!1,e=!1,f=!1,g=a('<div id="jstree-marker"> </div>').hide();a(i).on("dnd_start.vakata.jstree",function(a,b){c=!1,e=!1,b&&b.data&&b.data.jstree&&g.appendTo("body")}).on("dnd_move.vakata.jstree",function(h,i){if(f&&(i.event&&"dragover"===i.event.type&&i.event.target===e.target||clearTimeout(f)),i&&i.data&&i.data.jstree&&(!i.event.target.id||"jstree-marker"!==i.event.target.id)){e=i.event;var j=a.jstree.reference(i.event.target),k=!1,l=!1,m=!1,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C;if(j&&j._data&&j._data.dnd)if(g.attr("class","jstree-"+j.get_theme()+(j.settings.core.themes.responsive?" jstree-dnd-responsive":"")),C=i.data.origin&&(i.data.origin.settings.dnd.always_copy||i.data.origin.settings.dnd.copy&&(i.event.metaKey||i.event.ctrlKey)),i.helper.children().attr("class","jstree-"+j.get_theme()+" jstree-"+j.get_theme()+"-"+j.get_theme_variant()+" "+(j.settings.core.themes.responsive?" jstree-dnd-responsive":"")).find(".jstree-copy").first()[C?"show":"hide"](),i.event.target!==j.element[0]&&i.event.target!==j.get_container_ul()[0]||0!==j.get_container_ul().children().length){if(k=j.settings.dnd.large_drop_target?a(i.event.target).closest(".jstree-node").children(".jstree-anchor"):a(i.event.target).closest(".jstree-anchor"),k&&k.length&&k.parent().is(".jstree-closed, .jstree-open, .jstree-leaf")&&(l=k.offset(),m=(i.event.pageY!==b?i.event.pageY:i.event.originalEvent.pageY)-l.top,q=k.outerHeight(),t=q/3>m?["b","i","a"]:m>q-q/3?["a","i","b"]:m>q/2?["i","a","b"]:["i","b","a"],a.each(t,function(b,e){switch(e){case"b":o=l.left-6,p=l.top,r=j.get_parent(k),s=k.parent().index();break;case"i":A=j.settings.dnd.inside_pos,B=j.get_node(k.parent()),o=l.left-2,p=l.top+q/2+1,r=B.id,s="first"===A?0:"last"===A?B.children.length:Math.min(A,B.children.length);break;case"a":o=l.left-6,p=l.top+q,r=j.get_parent(k),s=k.parent().index()+1}for(u=!0,v=0,w=i.data.nodes.length;w>v;v++)if(x=i.data.origin&&(i.data.origin.settings.dnd.always_copy||i.data.origin.settings.dnd.copy&&(i.event.metaKey||i.event.ctrlKey))?"copy_node":"move_node",y=s,"move_node"===x&&"a"===e&&i.data.origin&&i.data.origin===j&&r===j.get_parent(i.data.nodes[v])&&(z=j.get_node(r),y>a.inArray(i.data.nodes[v],z.children)&&(y-=1)),u=u&&(j&&j.settings&&j.settings.dnd&&j.settings.dnd.check_while_dragging===!1||j.check(x,i.data.origin&&i.data.origin!==j?i.data.origin.get_node(i.data.nodes[v]):i.data.nodes[v],r,y,{dnd:!0,ref:j.get_node(k.parent()),pos:e,origin:i.data.origin,is_multi:i.data.origin&&i.data.origin!==j,is_foreign:!i.data.origin})),!u){j&&j.last_error&&(d=j.last_error());break}return"i"===e&&k.parent().is(".jstree-closed")&&j.settings.dnd.open_timeout&&(f=setTimeout(function(a,b){return function(){a.open_node(b)}}(j,k),j.settings.dnd.open_timeout)),u?(c={ins:j,par:r,pos:"i"!==e||"last"!==A||0!==s||j.is_loaded(B)?s:"last"},g.css({left:o+"px",top:p+"px"}).show(),i.helper.find(".jstree-icon").first().removeClass("jstree-er").addClass("jstree-ok"),i.event.originalEvent&&i.event.originalEvent.dataTransfer&&(i.event.originalEvent.dataTransfer.dropEffect=C?"copy":"move"),d={},t=!0,!1):void 0}),t===!0))return}else{for(u=!0,v=0,w=i.data.nodes.length;w>v;v++)if(u=u&&j.check(i.data.origin&&(i.data.origin.settings.dnd.always_copy||i.data.origin.settings.dnd.copy&&(i.event.metaKey||i.event.ctrlKey))?"copy_node":"move_node",i.data.origin&&i.data.origin!==j?i.data.origin.get_node(i.data.nodes[v]):i.data.nodes[v],a.jstree.root,"last",{dnd:!0,ref:j.get_node(a.jstree.root),pos:"i",origin:i.data.origin,is_multi:i.data.origin&&i.data.origin!==j,is_foreign:!i.data.origin}),!u)break;if(u)return c={ins:j,par:a.jstree.root,pos:"last"},g.hide(),i.helper.find(".jstree-icon").first().removeClass("jstree-er").addClass("jstree-ok"),void(i.event.originalEvent&&i.event.originalEvent.dataTransfer&&(i.event.originalEvent.dataTransfer.dropEffect=C?"copy":"move"))}c=!1,i.helper.find(".jstree-icon").removeClass("jstree-ok").addClass("jstree-er"),i.event.originalEvent&&i.event.originalEvent.dataTransfer&&(i.event.originalEvent.dataTransfer.dropEffect="none"),g.hide()}}).on("dnd_scroll.vakata.jstree",function(a,b){b&&b.data&&b.data.jstree&&(g.hide(),c=!1,e=!1,b.helper.find(".jstree-icon").first().removeClass("jstree-ok").addClass("jstree-er"))}).on("dnd_stop.vakata.jstree",function(b,h){if(f&&clearTimeout(f),h&&h.data&&h.data.jstree){g.hide().detach();var i,j,k=[];if(c){for(i=0,j=h.data.nodes.length;j>i;i++)k[i]=h.data.origin?h.data.origin.get_node(h.data.nodes[i]):h.data.nodes[i];c.ins[h.data.origin&&(h.data.origin.settings.dnd.always_copy||h.data.origin.settings.dnd.copy&&(h.event.metaKey||h.event.ctrlKey))?"copy_node":"move_node"](k,c.par,c.pos,!1,!1,!1,h.data.origin)}else i=a(h.event.target).closest(".jstree"),i.length&&d&&d.error&&"check"===d.error&&(i=i.jstree(!0),i&&i.settings.core.error.call(this,d));e=!1,c=!1}}).on("keyup.jstree keydown.jstree",function(b,h){h=a.vakata.dnd._get(),h&&h.data&&h.data.jstree&&("keyup"===b.type&&27===b.which?(f&&clearTimeout(f),c=!1,d=!1,e=!1,f=!1,g.hide().detach(),a.vakata.dnd._clean()):(h.helper.find(".jstree-copy").first()[h.data.origin&&(h.data.origin.settings.dnd.always_copy||h.data.origin.settings.dnd.copy&&(b.metaKey||b.ctrlKey))?"show":"hide"](),e&&(e.metaKey=b.metaKey,e.ctrlKey=b.ctrlKey,a.vakata.dnd._trigger("move",e))))})}),function(a){a.vakata.html={div:a("<div />"),escape:function(b){return a.vakata.html.div.text(b).html()},strip:function(b){return a.vakata.html.div.empty().append(a.parseHTML(b)).text()}};var c={element:!1,target:!1,is_down:!1,is_drag:!1,helper:!1,helper_w:0,data:!1,init_x:0,init_y:0,scroll_l:0,scroll_t:0,scroll_e:!1,scroll_i:!1,is_touch:!1};a.vakata.dnd={settings:{scroll_speed:10,scroll_proximity:20,helper_left:5,helper_top:10,threshold:5,threshold_touch:50},_trigger:function(c,d,e){e===b&&(e=a.vakata.dnd._get()),e.event=d,a(i).triggerHandler("dnd_"+c+".vakata",e)},_get:function(){return{data:c.data,element:c.element,helper:c.helper}},_clean:function(){c.helper&&c.helper.remove(),c.scroll_i&&(clearInterval(c.scroll_i),c.scroll_i=!1),c={element:!1,target:!1,is_down:!1,is_drag:!1,helper:!1,helper_w:0,data:!1,init_x:0,init_y:0,scroll_l:0,scroll_t:0,scroll_e:!1,scroll_i:!1,is_touch:!1},a(i).off("mousemove.vakata.jstree touchmove.vakata.jstree",a.vakata.dnd.drag),a(i).off("mouseup.vakata.jstree touchend.vakata.jstree",a.vakata.dnd.stop)},_scroll:function(b){if(!c.scroll_e||!c.scroll_l&&!c.scroll_t)return c.scroll_i&&(clearInterval(c.scroll_i),c.scroll_i=!1),!1;if(!c.scroll_i)return c.scroll_i=setInterval(a.vakata.dnd._scroll,100),!1;if(b===!0)return!1;var d=c.scroll_e.scrollTop(),e=c.scroll_e.scrollLeft();c.scroll_e.scrollTop(d+c.scroll_t*a.vakata.dnd.settings.scroll_speed),c.scroll_e.scrollLeft(e+c.scroll_l*a.vakata.dnd.settings.scroll_speed),(d!==c.scroll_e.scrollTop()||e!==c.scroll_e.scrollLeft())&&a.vakata.dnd._trigger("scroll",c.scroll_e)},start:function(b,d,e){"touchstart"===b.type&&b.originalEvent&&b.originalEvent.changedTouches&&b.originalEvent.changedTouches[0]&&(b.pageX=b.originalEvent.changedTouches[0].pageX,b.pageY=b.originalEvent.changedTouches[0].pageY,b.target=i.elementFromPoint(b.originalEvent.changedTouches[0].pageX-window.pageXOffset,b.originalEvent.changedTouches[0].pageY-window.pageYOffset)),c.is_drag&&a.vakata.dnd.stop({});try{b.currentTarget.unselectable="on",b.currentTarget.onselectstart=function(){return!1},b.currentTarget.style&&(b.currentTarget.style.touchAction="none",b.currentTarget.style.msTouchAction="none",b.currentTarget.style.MozUserSelect="none")}catch(f){}return c.init_x=b.pageX,c.init_y=b.pageY,c.data=d,c.is_down=!0,c.element=b.currentTarget,c.target=b.target,c.is_touch="touchstart"===b.type,e!==!1&&(c.helper=a("<div id='vakata-dnd'></div>").html(e).css({display:"block",margin:"0",padding:"0",position:"absolute",top:"-2000px",lineHeight:"16px",zIndex:"10000"})),a(i).on("mousemove.vakata.jstree touchmove.vakata.jstree",a.vakata.dnd.drag),a(i).on("mouseup.vakata.jstree touchend.vakata.jstree",a.vakata.dnd.stop),!1},drag:function(b){if("touchmove"===b.type&&b.originalEvent&&b.originalEvent.changedTouches&&b.originalEvent.changedTouches[0]&&(b.pageX=b.originalEvent.changedTouches[0].pageX,b.pageY=b.originalEvent.changedTouches[0].pageY,b.target=i.elementFromPoint(b.originalEvent.changedTouches[0].pageX-window.pageXOffset,b.originalEvent.changedTouches[0].pageY-window.pageYOffset)),c.is_down){if(!c.is_drag){if(!(Math.abs(b.pageX-c.init_x)>(c.is_touch?a.vakata.dnd.settings.threshold_touch:a.vakata.dnd.settings.threshold)||Math.abs(b.pageY-c.init_y)>(c.is_touch?a.vakata.dnd.settings.threshold_touch:a.vakata.dnd.settings.threshold)))return;c.helper&&(c.helper.appendTo("body"),c.helper_w=c.helper.outerWidth()),c.is_drag=!0,a.vakata.dnd._trigger("start",b)}var d=!1,e=!1,f=!1,g=!1,h=!1,j=!1,k=!1,l=!1,m=!1,n=!1;return c.scroll_t=0,c.scroll_l=0,c.scroll_e=!1,a(a(b.target).parentsUntil("body").addBack().get().reverse()).filter(function(){return/^auto|scroll$/.test(a(this).css("overflow"))&&(this.scrollHeight>this.offsetHeight||this.scrollWidth>this.offsetWidth)}).each(function(){var d=a(this),e=d.offset();return this.scrollHeight>this.offsetHeight&&(e.top+d.height()-b.pageY<a.vakata.dnd.settings.scroll_proximity&&(c.scroll_t=1),b.pageY-e.top<a.vakata.dnd.settings.scroll_proximity&&(c.scroll_t=-1)),this.scrollWidth>this.offsetWidth&&(e.left+d.width()-b.pageX<a.vakata.dnd.settings.scroll_proximity&&(c.scroll_l=1),b.pageX-e.left<a.vakata.dnd.settings.scroll_proximity&&(c.scroll_l=-1)),c.scroll_t||c.scroll_l?(c.scroll_e=a(this),!1):void 0}),c.scroll_e||(d=a(i),e=a(window),f=d.height(),g=e.height(),h=d.width(),j=e.width(),k=d.scrollTop(),l=d.scrollLeft(),f>g&&b.pageY-k<a.vakata.dnd.settings.scroll_proximity&&(c.scroll_t=-1),f>g&&g-(b.pageY-k)<a.vakata.dnd.settings.scroll_proximity&&(c.scroll_t=1),h>j&&b.pageX-l<a.vakata.dnd.settings.scroll_proximity&&(c.scroll_l=-1),h>j&&j-(b.pageX-l)<a.vakata.dnd.settings.scroll_proximity&&(c.scroll_l=1),(c.scroll_t||c.scroll_l)&&(c.scroll_e=d)),c.scroll_e&&a.vakata.dnd._scroll(!0),c.helper&&(m=parseInt(b.pageY+a.vakata.dnd.settings.helper_top,10),n=parseInt(b.pageX+a.vakata.dnd.settings.helper_left,10),f&&m+25>f&&(m=f-50),h&&n+c.helper_w>h&&(n=h-(c.helper_w+2)),c.helper.css({left:n+"px",top:m+"px"})),a.vakata.dnd._trigger("move",b),!1}},stop:function(b){if("touchend"===b.type&&b.originalEvent&&b.originalEvent.changedTouches&&b.originalEvent.changedTouches[0]&&(b.pageX=b.originalEvent.changedTouches[0].pageX,b.pageY=b.originalEvent.changedTouches[0].pageY,b.target=i.elementFromPoint(b.originalEvent.changedTouches[0].pageX-window.pageXOffset,b.originalEvent.changedTouches[0].pageY-window.pageYOffset)),c.is_drag)a.vakata.dnd._trigger("stop",b);else if("touchend"===b.type&&b.target===c.target){var d=setTimeout(function(){a(b.target).click()},100);a(b.target).one("click",function(){d&&clearTimeout(d)})}return a.vakata.dnd._clean(),!1}}}(a),a.jstree.defaults.massload=null,a.jstree.plugins.massload=function(b,c){this.init=function(a,b){this._data.massload={},c.init.call(this,a,b)},this._load_nodes=function(b,d,e,f){var g=this.settings.massload,h=JSON.stringify(b),i=[],j=this._model.data,k,l,m;if(!e){for(k=0,l=b.length;l>k;k++)(!j[b[k]]||!j[b[k]].state.loaded&&!j[b[k]].state.failed||f)&&(i.push(b[k]),m=this.get_node(b[k],!0),m&&m.length&&m.addClass("jstree-loading").attr("aria-busy",!0));if(this._data.massload={},i.length){if(a.isFunction(g))return g.call(this,i,a.proxy(function(a){var g,h;if(a)for(g in a)a.hasOwnProperty(g)&&(this._data.massload[g]=a[g]);for(g=0,h=b.length;h>g;g++)m=this.get_node(b[g],!0),m&&m.length&&m.removeClass("jstree-loading").attr("aria-busy",!1);c._load_nodes.call(this,b,d,e,f)},this));if("object"==typeof g&&g&&g.url)return g=a.extend(!0,{},g),a.isFunction(g.url)&&(g.url=g.url.call(this,i)),a.isFunction(g.data)&&(g.data=g.data.call(this,i)),a.ajax(g).done(a.proxy(function(a,g,h){var i,j;if(a)for(i in a)a.hasOwnProperty(i)&&(this._data.massload[i]=a[i]);for(i=0,j=b.length;j>i;i++)m=this.get_node(b[i],!0),m&&m.length&&m.removeClass("jstree-loading").attr("aria-busy",!1);c._load_nodes.call(this,b,d,e,f)},this)).fail(a.proxy(function(a){c._load_nodes.call(this,b,d,e,f)},this))}}return c._load_nodes.call(this,b,d,e,f)},this._load_node=function(b,d){var e=this._data.massload[b.id],f=null,g;return e?(f=this["string"==typeof e?"_append_html_data":"_append_json_data"](b,"string"==typeof e?a(a.parseHTML(e)).filter(function(){return 3!==this.nodeType}):e,function(a){d.call(this,a)}),g=this.get_node(b.id,!0),g&&g.length&&g.removeClass("jstree-loading").attr("aria-busy",!1),delete this._data.massload[b.id],f):c._load_node.call(this,b,d)}},a.jstree.defaults.search={ajax:!1,fuzzy:!1,case_sensitive:!1,show_only_matches:!1,show_only_matches_children:!1,close_opened_onclear:!0,search_leaves_only:!1,search_callback:!1},a.jstree.plugins.search=function(c,d){this.bind=function(){d.bind.call(this),this._data.search.str="",this._data.search.dom=a(),this._data.search.res=[],this._data.search.opn=[],this._data.search.som=!1,this._data.search.smc=!1,this._data.search.hdn=[],this.element.on("search.jstree",a.proxy(function(b,c){if(this._data.search.som&&c.res.length){var d=this._model.data,e,f,g=[],h,i;for(e=0,f=c.res.length;f>e;e++)if(d[c.res[e]]&&!d[c.res[e]].state.hidden&&(g.push(c.res[e]),g=g.concat(d[c.res[e]].parents),this._data.search.smc))for(h=0,i=d[c.res[e]].children_d.length;i>h;h++)d[d[c.res[e]].children_d[h]]&&!d[d[c.res[e]].children_d[h]].state.hidden&&g.push(d[c.res[e]].children_d[h]);g=a.vakata.array_remove_item(a.vakata.array_unique(g),a.jstree.root),this._data.search.hdn=this.hide_all(!0),this.show_node(g,!0),this.redraw(!0)}},this)).on("clear_search.jstree",a.proxy(function(a,b){this._data.search.som&&b.res.length&&(this.show_node(this._data.search.hdn,!0),this.redraw(!0))},this))},this.search=function(c,d,e,f,g,h){if(c===!1||""===a.trim(c.toString()))return this.clear_search();f=this.get_node(f),f=f&&f.id?f.id:null,c=c.toString();var i=this.settings.search,j=i.ajax?i.ajax:!1,k=this._model.data,l=null,m=[],n=[],o,p;if(this._data.search.res.length&&!g&&this.clear_search(),e===b&&(e=i.show_only_matches),h===b&&(h=i.show_only_matches_children),!d&&j!==!1)return a.isFunction(j)?j.call(this,c,a.proxy(function(b){b&&b.d&&(b=b.d),this._load_nodes(a.isArray(b)?a.vakata.array_unique(b):[],function(){this.search(c,!0,e,f,g)})},this),f):(j=a.extend({},j),j.data||(j.data={}),j.data.str=c,f&&(j.data.inside=f),a.ajax(j).fail(a.proxy(function(){this._data.core.last_error={error:"ajax",plugin:"search",id:"search_01",reason:"Could not load search parents",data:JSON.stringify(j)},this.settings.core.error.call(this,this._data.core.last_error)},this)).done(a.proxy(function(b){b&&b.d&&(b=b.d),this._load_nodes(a.isArray(b)?a.vakata.array_unique(b):[],function(){this.search(c,!0,e,f,g)})},this)));if(g||(this._data.search.str=c,this._data.search.dom=a(),this._data.search.res=[],this._data.search.opn=[],this._data.search.som=e,this._data.search.smc=h),l=new a.vakata.search(c,!0,{caseSensitive:i.case_sensitive,fuzzy:i.fuzzy}),a.each(k[f?f:a.jstree.root].children_d,function(a,b){var d=k[b];d.text&&!d.state.hidden&&(!i.search_leaves_only||d.state.loaded&&0===d.children.length)&&(i.search_callback&&i.search_callback.call(this,c,d)||!i.search_callback&&l.search(d.text).isMatch)&&(m.push(b),n=n.concat(d.parents))}),m.length){for(n=a.vakata.array_unique(n),o=0,p=n.length;p>o;o++)n[o]!==a.jstree.root&&k[n[o]]&&this.open_node(n[o],null,0)===!0&&this._data.search.opn.push(n[o]);g?(this._data.search.dom=this._data.search.dom.add(a(this.element[0].querySelectorAll("#"+a.map(m,function(b){return-1!=="0123456789".indexOf(b[0])?"\\3"+b[0]+" "+b.substr(1).replace(a.jstree.idregex,"\\$&"):b.replace(a.jstree.idregex,"\\$&")}).join(", #")))),this._data.search.res=a.vakata.array_unique(this._data.search.res.concat(m))):(this._data.search.dom=a(this.element[0].querySelectorAll("#"+a.map(m,function(b){return-1!=="0123456789".indexOf(b[0])?"\\3"+b[0]+" "+b.substr(1).replace(a.jstree.idregex,"\\$&"):b.replace(a.jstree.idregex,"\\$&")}).join(", #"))),this._data.search.res=m),this._data.search.dom.children(".jstree-anchor").addClass("jstree-search")}this.trigger("search",{nodes:this._data.search.dom,str:c,res:this._data.search.res,show_only_matches:e})},this.clear_search=function(){this.settings.search.close_opened_onclear&&this.close_node(this._data.search.opn,0),this.trigger("clear_search",{nodes:this._data.search.dom,str:this._data.search.str,res:this._data.search.res}),this._data.search.res.length&&(this._data.search.dom=a(this.element[0].querySelectorAll("#"+a.map(this._data.search.res,function(b){return-1!=="0123456789".indexOf(b[0])?"\\3"+b[0]+" "+b.substr(1).replace(a.jstree.idregex,"\\$&"):b.replace(a.jstree.idregex,"\\$&")}).join(", #"))),this._data.search.dom.children(".jstree-anchor").removeClass("jstree-search")),this._data.search.str="",this._data.search.res=[],this._data.search.opn=[],this._data.search.dom=a()},this.redraw_node=function(b,c,e,f){if(b=d.redraw_node.apply(this,arguments),b&&-1!==a.inArray(b.id,this._data.search.res)){var g,h,i=null;for(g=0,h=b.childNodes.length;h>g;g++)if(b.childNodes[g]&&b.childNodes[g].className&&-1!==b.childNodes[g].className.indexOf("jstree-anchor")){i=b.childNodes[g];break}i&&(i.className+=" jstree-search")}return b}},function(a){a.vakata.search=function(b,c,d){d=d||{},d=a.extend({},a.vakata.search.defaults,d),d.fuzzy!==!1&&(d.fuzzy=!0),b=d.caseSensitive?b:b.toLowerCase();var e=d.location,f=d.distance,g=d.threshold,h=b.length,i,j,k,l;return h>32&&(d.fuzzy=!1),d.fuzzy&&(i=1<<h-1,j=function(){var a={},c=0;for(c=0;h>c;c++)a[b.charAt(c)]=0;for(c=0;h>c;c++)a[b.charAt(c)]|=1<<h-c-1;return a}(),k=function(a,b){var c=a/h,d=Math.abs(e-b);return f?c+d/f:d?1:c}),l=function(a){if(a=d.caseSensitive?a:a.toLowerCase(),b===a||-1!==a.indexOf(b))return{isMatch:!0,score:0};if(!d.fuzzy)return{isMatch:!1,score:1};var c,f,l=a.length,m=g,n=a.indexOf(b,e),o,p,q=h+l,r,s,t,u,v,w=1,x=[];for(-1!==n&&(m=Math.min(k(0,n),m),n=a.lastIndexOf(b,e+h),-1!==n&&(m=Math.min(k(0,n),m))),n=-1,c=0;h>c;c++){o=0,p=q;while(p>o)k(c,e+p)<=m?o=p:q=p,p=Math.floor((q-o)/2+o);for(q=p,s=Math.max(1,e-p+1),t=Math.min(e+p,l)+h,u=new Array(t+2),u[t+1]=(1<<c)-1,f=t;f>=s;f--)if(v=j[a.charAt(f-1)],0===c?u[f]=(u[f+1]<<1|1)&v:u[f]=(u[f+1]<<1|1)&v|((r[f+1]|r[f])<<1|1)|r[f+1],u[f]&i&&(w=k(c,f-1),m>=w)){if(m=w,n=f-1,x.push(n),!(n>e))break;s=Math.max(1,2*e-n)}if(k(c+1,e)>m)break;r=u}return{isMatch:n>=0,score:w}},c===!0?{search:l}:l(c)},a.vakata.search.defaults={location:0,distance:100,threshold:.6,fuzzy:!1,caseSensitive:!1}}(a),a.jstree.defaults.sort=function(a,b){return this.get_text(a)>this.get_text(b)?1:-1},a.jstree.plugins.sort=function(b,c){this.bind=function(){c.bind.call(this),this.element.on("model.jstree",a.proxy(function(a,b){this.sort(b.parent,!0)},this)).on("rename_node.jstree create_node.jstree",a.proxy(function(a,b){this.sort(b.parent||b.node.parent,!1),this.redraw_node(b.parent||b.node.parent,!0)},this)).on("move_node.jstree copy_node.jstree",a.proxy(function(a,b){this.sort(b.parent,!1),this.redraw_node(b.parent,!0)},this))},this.sort=function(b,c){var d,e;if(b=this.get_node(b),b&&b.children&&b.children.length&&(b.children.sort(a.proxy(this.settings.sort,this)),c))for(d=0,e=b.children_d.length;e>d;d++)this.sort(b.children_d[d],!1)}};var p=!1;a.jstree.defaults.state={key:"jstree",events:"changed.jstree open_node.jstree close_node.jstree check_node.jstree uncheck_node.jstree",ttl:!1,filter:!1},a.jstree.plugins.state=function(b,c){this.bind=function(){c.bind.call(this);var b=a.proxy(function(){this.element.on(this.settings.state.events,a.proxy(function(){p&&clearTimeout(p),p=setTimeout(a.proxy(function(){this.save_state()},this),100)},this)),this.trigger("state_ready")},this);this.element.on("ready.jstree",a.proxy(function(a,c){this.element.one("restore_state.jstree",b),this.restore_state()||b()},this))},this.save_state=function(){var b={state:this.get_state(),ttl:this.settings.state.ttl,sec:+new Date};a.vakata.storage.set(this.settings.state.key,JSON.stringify(b))},this.restore_state=function(){var b=a.vakata.storage.get(this.settings.state.key);if(b)try{b=JSON.parse(b)}catch(c){return!1}return b&&b.ttl&&b.sec&&+new Date-b.sec>b.ttl?!1:(b&&b.state&&(b=b.state),b&&a.isFunction(this.settings.state.filter)&&(b=this.settings.state.filter.call(this,b)),b?(this.element.one("set_state.jstree",function(c,d){d.instance.trigger("restore_state",{state:a.extend(!0,{},b)})}),this.set_state(b),!0):!1)},this.clear_state=function(){return a.vakata.storage.del(this.settings.state.key)}},function(a,b){a.vakata.storage={set:function(a,b){return window.localStorage.setItem(a,b)},get:function(a){return window.localStorage.getItem(a)},del:function(a){return window.localStorage.removeItem(a)}}}(a),a.jstree.defaults.types={"default":{}},a.jstree.defaults.types[a.jstree.root]={},a.jstree.plugins.types=function(c,d){this.init=function(c,e){var f,g;if(e&&e.types&&e.types["default"])for(f in e.types)if("default"!==f&&f!==a.jstree.root&&e.types.hasOwnProperty(f))for(g in e.types["default"])e.types["default"].hasOwnProperty(g)&&e.types[f][g]===b&&(e.types[f][g]=e.types["default"][g]);d.init.call(this,c,e),this._model.data[a.jstree.root].type=a.jstree.root},this.refresh=function(b,c){d.refresh.call(this,b,c),this._model.data[a.jstree.root].type=a.jstree.root},this.bind=function(){this.element.on("model.jstree",a.proxy(function(c,d){var e=this._model.data,f=d.nodes,g=this.settings.types,h,i,j="default",k;for(h=0,i=f.length;i>h;h++){if(j="default",e[f[h]].original&&e[f[h]].original.type&&g[e[f[h]].original.type]&&(j=e[f[h]].original.type),e[f[h]].data&&e[f[h]].data.jstree&&e[f[h]].data.jstree.type&&g[e[f[h]].data.jstree.type]&&(j=e[f[h]].data.jstree.type),e[f[h]].type=j,e[f[h]].icon===!0&&g[j].icon!==b&&(e[f[h]].icon=g[j].icon),g[j].li_attr!==b&&"object"==typeof g[j].li_attr)for(k in g[j].li_attr)if(g[j].li_attr.hasOwnProperty(k)){if("id"===k)continue;e[f[h]].li_attr[k]===b?e[f[h]].li_attr[k]=g[j].li_attr[k]:"class"===k&&(e[f[h]].li_attr["class"]=g[j].li_attr["class"]+" "+e[f[h]].li_attr["class"])}if(g[j].a_attr!==b&&"object"==typeof g[j].a_attr)for(k in g[j].a_attr)if(g[j].a_attr.hasOwnProperty(k)){if("id"===k)continue;e[f[h]].a_attr[k]===b?e[f[h]].a_attr[k]=g[j].a_attr[k]:"href"===k&&"#"===e[f[h]].a_attr[k]?e[f[h]].a_attr.href=g[j].a_attr.href:"class"===k&&(e[f[h]].a_attr["class"]=g[j].a_attr["class"]+" "+e[f[h]].a_attr["class"])}}e[a.jstree.root].type=a.jstree.root},this)),d.bind.call(this)},this.get_json=function(b,c,e){var f,g,h=this._model.data,i=c?a.extend(!0,{},c,{no_id:!1}):{},j=d.get_json.call(this,b,i,e);if(j===!1)return!1;if(a.isArray(j))for(f=0,g=j.length;g>f;f++)j[f].type=j[f].id&&h[j[f].id]&&h[j[f].id].type?h[j[f].id].type:"default",c&&c.no_id&&(delete j[f].id,j[f].li_attr&&j[f].li_attr.id&&delete j[f].li_attr.id,j[f].a_attr&&j[f].a_attr.id&&delete j[f].a_attr.id);else j.type=j.id&&h[j.id]&&h[j.id].type?h[j.id].type:"default",c&&c.no_id&&(j=this._delete_ids(j));return j},this._delete_ids=function(b){if(a.isArray(b)){for(var c=0,d=b.length;d>c;c++)b[c]=this._delete_ids(b[c]);return b}return delete b.id,b.li_attr&&b.li_attr.id&&delete b.li_attr.id,b.a_attr&&b.a_attr.id&&delete b.a_attr.id,b.children&&a.isArray(b.children)&&(b.children=this._delete_ids(b.children)),b},this.check=function(c,e,f,g,h){if(d.check.call(this,c,e,f,g,h)===!1)return!1;e=e&&e.id?e:this.get_node(e),f=f&&f.id?f:this.get_node(f);var i=e&&e.id?h&&h.origin?h.origin:a.jstree.reference(e.id):null,j,k,l,m;switch(i=i&&i._model&&i._model.data?i._model.data:null,c){case"create_node":case"move_node":case"copy_node":if("move_node"!==c||-1===a.inArray(e.id,f.children)){if(j=this.get_rules(f),j.max_children!==b&&-1!==j.max_children&&j.max_children===f.children.length)return this._data.core.last_error={error:"check",plugin:"types",id:"types_01",reason:"max_children prevents function: "+c,data:JSON.stringify({chk:c,pos:g,obj:e&&e.id?e.id:!1,par:f&&f.id?f.id:!1})},!1;if(j.valid_children!==b&&-1!==j.valid_children&&-1===a.inArray(e.type||"default",j.valid_children))return this._data.core.last_error={error:"check",plugin:"types",id:"types_02",reason:"valid_children prevents function: "+c,data:JSON.stringify({chk:c,pos:g,obj:e&&e.id?e.id:!1,par:f&&f.id?f.id:!1})},!1;if(i&&e.children_d&&e.parents){for(k=0,l=0,m=e.children_d.length;m>l;l++)k=Math.max(k,i[e.children_d[l]].parents.length);k=k-e.parents.length+1}(0>=k||k===b)&&(k=1);do{if(j.max_depth!==b&&-1!==j.max_depth&&j.max_depth<k)return this._data.core.last_error={error:"check",plugin:"types",id:"types_03",reason:"max_depth prevents function: "+c,data:JSON.stringify({chk:c,pos:g,obj:e&&e.id?e.id:!1,par:f&&f.id?f.id:!1})},!1;f=this.get_node(f.parent),j=this.get_rules(f),k++}while(f)}}return!0},this.get_rules=function(a){if(a=this.get_node(a),!a)return!1;var c=this.get_type(a,!0);return c.max_depth===b&&(c.max_depth=-1),c.max_children===b&&(c.max_children=-1),c.valid_children===b&&(c.valid_children=-1),c},this.get_type=function(b,c){return b=this.get_node(b),b?c?a.extend({type:b.type},this.settings.types[b.type]):b.type:!1},this.set_type=function(c,d){var e=this._model.data,f,g,h,i,j,k,l,m;if(a.isArray(c)){for(c=c.slice(),g=0,h=c.length;h>g;g++)this.set_type(c[g],d);return!0}if(f=this.settings.types,c=this.get_node(c),!f[d]||!c)return!1;if(l=this.get_node(c,!0),l&&l.length&&(m=l.children(".jstree-anchor")),i=c.type,j=this.get_icon(c),c.type=d,(j===!0||f[i]&&f[i].icon!==b&&j===f[i].icon)&&this.set_icon(c,f[d].icon!==b?f[d].icon:!0),f[i].li_attr!==b&&"object"==typeof f[i].li_attr)for(k in f[i].li_attr)if(f[i].li_attr.hasOwnProperty(k)){if("id"===k)continue;"class"===k?(e[c.id].li_attr["class"]=(e[c.id].li_attr["class"]||"").replace(f[i].li_attr[k],""),l&&l.removeClass(f[i].li_attr[k])):e[c.id].li_attr[k]===f[i].li_attr[k]&&(e[c.id].li_attr[k]=null,l&&l.removeAttr(k))}if(f[i].a_attr!==b&&"object"==typeof f[i].a_attr)for(k in f[i].a_attr)if(f[i].a_attr.hasOwnProperty(k)){if("id"===k)continue;"class"===k?(e[c.id].a_attr["class"]=(e[c.id].a_attr["class"]||"").replace(f[i].a_attr[k],""),m&&m.removeClass(f[i].a_attr[k])):e[c.id].a_attr[k]===f[i].a_attr[k]&&("href"===k?(e[c.id].a_attr[k]="#",m&&m.attr("href","#")):(delete e[c.id].a_attr[k],m&&m.removeAttr(k)))}if(f[d].li_attr!==b&&"object"==typeof f[d].li_attr)for(k in f[d].li_attr)if(f[d].li_attr.hasOwnProperty(k)){if("id"===k)continue;e[c.id].li_attr[k]===b?(e[c.id].li_attr[k]=f[d].li_attr[k],l&&("class"===k?l.addClass(f[d].li_attr[k]):l.attr(k,f[d].li_attr[k]))):"class"===k&&(e[c.id].li_attr["class"]=f[d].li_attr[k]+" "+e[c.id].li_attr["class"],l&&l.addClass(f[d].li_attr[k]))}if(f[d].a_attr!==b&&"object"==typeof f[d].a_attr)for(k in f[d].a_attr)if(f[d].a_attr.hasOwnProperty(k)){if("id"===k)continue;e[c.id].a_attr[k]===b?(e[c.id].a_attr[k]=f[d].a_attr[k],m&&("class"===k?m.addClass(f[d].a_attr[k]):m.attr(k,f[d].a_attr[k]))):"href"===k&&"#"===e[c.id].a_attr[k]?(e[c.id].a_attr.href=f[d].a_attr.href,m&&m.attr("href",f[d].a_attr.href)):"class"===k&&(e[c.id].a_attr["class"]=f[d].a_attr["class"]+" "+e[c.id].a_attr["class"],m&&m.addClass(f[d].a_attr[k]))}return!0}},a.jstree.defaults.unique={case_sensitive:!1,duplicate:function(a,b){return a+" ("+b+")"}},a.jstree.plugins.unique=function(c,d){this.check=function(b,c,e,f,g){if(d.check.call(this,b,c,e,f,g)===!1)return!1;if(c=c&&c.id?c:this.get_node(c),e=e&&e.id?e:this.get_node(e),!e||!e.children)return!0;var h="rename_node"===b?f:c.text,i=[],j=this.settings.unique.case_sensitive,k=this._model.data,l,m;for(l=0,m=e.children.length;m>l;l++)i.push(j?k[e.children[l]].text:k[e.children[l]].text.toLowerCase());switch(j||(h=h.toLowerCase()),b){case"delete_node":return!0;case"rename_node":return l=-1===a.inArray(h,i)||c.text&&c.text[j?"toString":"toLowerCase"]()===h,l||(this._data.core.last_error={error:"check",plugin:"unique",id:"unique_01",reason:"Child with name "+h+" already exists. Preventing: "+b,data:JSON.stringify({chk:b,pos:f,obj:c&&c.id?c.id:!1,par:e&&e.id?e.id:!1})}),l;case"create_node":return l=-1===a.inArray(h,i),l||(this._data.core.last_error={error:"check",plugin:"unique",id:"unique_04",reason:"Child with name "+h+" already exists. Preventing: "+b,data:JSON.stringify({chk:b,pos:f,obj:c&&c.id?c.id:!1,par:e&&e.id?e.id:!1})}),l;case"copy_node":return l=-1===a.inArray(h,i),l||(this._data.core.last_error={error:"check",plugin:"unique",id:"unique_02",reason:"Child with name "+h+" already exists. Preventing: "+b,data:JSON.stringify({chk:b,pos:f,obj:c&&c.id?c.id:!1,par:e&&e.id?e.id:!1})}),l;case"move_node":return l=c.parent===e.id&&(!g||!g.is_multi)||-1===a.inArray(h,i),l||(this._data.core.last_error={error:"check",plugin:"unique",id:"unique_03",reason:"Child with name "+h+" already exists. Preventing: "+b,data:JSON.stringify({chk:b,pos:f,obj:c&&c.id?c.id:!1,par:e&&e.id?e.id:!1})}),l}return!0},this.create_node=function(c,e,f,g,h){if(!e||e.text===b){if(null===c&&(c=a.jstree.root),c=this.get_node(c),!c)return d.create_node.call(this,c,e,f,g,h);if(f=f===b?"last":f, | |
6 | +!f.toString().match(/^(before|after)$/)&&!h&&!this.is_loaded(c))return d.create_node.call(this,c,e,f,g,h);e||(e={});var i,j,k,l,m,n=this._model.data,o=this.settings.unique.case_sensitive,p=this.settings.unique.duplicate;for(j=i=this.get_string("New node"),k=[],l=0,m=c.children.length;m>l;l++)k.push(o?n[c.children[l]].text:n[c.children[l]].text.toLowerCase());l=1;while(-1!==a.inArray(o?j:j.toLowerCase(),k))j=p.call(this,i,++l).toString();e.text=j}return d.create_node.call(this,c,e,f,g,h)}};var q=i.createElement("DIV");if(q.setAttribute("unselectable","on"),q.setAttribute("role","presentation"),q.className="jstree-wholerow",q.innerHTML=" ",a.jstree.plugins.wholerow=function(b,c){this.bind=function(){c.bind.call(this),this.element.on("ready.jstree set_state.jstree",a.proxy(function(){this.hide_dots()},this)).on("init.jstree loading.jstree ready.jstree",a.proxy(function(){this.get_container_ul().addClass("jstree-wholerow-ul")},this)).on("deselect_all.jstree",a.proxy(function(a,b){this.element.find(".jstree-wholerow-clicked").removeClass("jstree-wholerow-clicked")},this)).on("changed.jstree",a.proxy(function(a,b){this.element.find(".jstree-wholerow-clicked").removeClass("jstree-wholerow-clicked");var c=!1,d,e;for(d=0,e=b.selected.length;e>d;d++)c=this.get_node(b.selected[d],!0),c&&c.length&&c.children(".jstree-wholerow").addClass("jstree-wholerow-clicked")},this)).on("open_node.jstree",a.proxy(function(a,b){this.get_node(b.node,!0).find(".jstree-clicked").parent().children(".jstree-wholerow").addClass("jstree-wholerow-clicked")},this)).on("hover_node.jstree dehover_node.jstree",a.proxy(function(a,b){"hover_node"===a.type&&this.is_disabled(b.node)||this.get_node(b.node,!0).children(".jstree-wholerow")["hover_node"===a.type?"addClass":"removeClass"]("jstree-wholerow-hovered")},this)).on("contextmenu.jstree",".jstree-wholerow",a.proxy(function(b){if(this._data.contextmenu){b.preventDefault();var c=a.Event("contextmenu",{metaKey:b.metaKey,ctrlKey:b.ctrlKey,altKey:b.altKey,shiftKey:b.shiftKey,pageX:b.pageX,pageY:b.pageY});a(b.currentTarget).closest(".jstree-node").children(".jstree-anchor").first().trigger(c)}},this)).on("click.jstree",".jstree-wholerow",function(b){b.stopImmediatePropagation();var c=a.Event("click",{metaKey:b.metaKey,ctrlKey:b.ctrlKey,altKey:b.altKey,shiftKey:b.shiftKey});a(b.currentTarget).closest(".jstree-node").children(".jstree-anchor").first().trigger(c).focus()}).on("click.jstree",".jstree-leaf > .jstree-ocl",a.proxy(function(b){b.stopImmediatePropagation();var c=a.Event("click",{metaKey:b.metaKey,ctrlKey:b.ctrlKey,altKey:b.altKey,shiftKey:b.shiftKey});a(b.currentTarget).closest(".jstree-node").children(".jstree-anchor").first().trigger(c).focus()},this)).on("mouseover.jstree",".jstree-wholerow, .jstree-icon",a.proxy(function(a){return a.stopImmediatePropagation(),this.is_disabled(a.currentTarget)||this.hover_node(a.currentTarget),!1},this)).on("mouseleave.jstree",".jstree-node",a.proxy(function(a){this.dehover_node(a.currentTarget)},this))},this.teardown=function(){this.settings.wholerow&&this.element.find(".jstree-wholerow").remove(),c.teardown.call(this)},this.redraw_node=function(b,d,e,f){if(b=c.redraw_node.apply(this,arguments)){var g=q.cloneNode(!0);-1!==a.inArray(b.id,this._data.core.selected)&&(g.className+=" jstree-wholerow-clicked"),this._data.core.focused&&this._data.core.focused===b.id&&(g.className+=" jstree-wholerow-hovered"),b.insertBefore(g,b.childNodes[0])}return b}},i.registerElement&&Object&&Object.create){var r=Object.create(HTMLElement.prototype);r.createdCallback=function(){var b={core:{},plugins:[]},c;for(c in a.jstree.plugins)a.jstree.plugins.hasOwnProperty(c)&&this.attributes[c]&&(b.plugins.push(c),this.getAttribute(c)&&JSON.parse(this.getAttribute(c))&&(b[c]=JSON.parse(this.getAttribute(c))));for(c in a.jstree.defaults.core)a.jstree.defaults.core.hasOwnProperty(c)&&this.attributes[c]&&(b.core[c]=JSON.parse(this.getAttribute(c))||this.getAttribute(c));a(this).jstree(b)};try{i.registerElement("vakata-jstree",{prototype:r})}catch(s){}}}}); | |
0 | 7 | \ No newline at end of file | ... | ... |
... | ... | @@ -0,0 +1,165 @@ |
1 | +@import "themes/default/style.min.css"; | |
2 | + | |
3 | +.controller-elasticsearch_plugin .results-wrapper { | |
4 | + display: flex; | |
5 | +} | |
6 | + | |
7 | +.controller-elasticsearch_plugin .sidebar { | |
8 | + min-width: 250px; | |
9 | + max-width: 250px; | |
10 | +} | |
11 | + | |
12 | +.controller-elasticsearch_plugin .search_form { | |
13 | + text-align: center; | |
14 | + margin-top: 40px; | |
15 | +} | |
16 | + | |
17 | +.controller-elasticsearch_plugin .search_form .search_field { | |
18 | + margin-top: 5px; | |
19 | +} | |
20 | + | |
21 | +.controller-elasticsearch_plugin .search_form .search_field input[type='text'] { | |
22 | + width: 500px; | |
23 | + font-size: 15px; | |
24 | + height: 30px; | |
25 | + -webkit-appearance: none; | |
26 | + -moz-appearance: none; | |
27 | + border: 1px solid #ccc; | |
28 | + padding-left: 10px; | |
29 | +} | |
30 | +.controller-elasticsearch_plugin .search_form .search_field input[type='submit'] { | |
31 | + -webkit-appearance: none; | |
32 | + -moz-appearance: none; | |
33 | + border: none; | |
34 | + padding: 0 15px; | |
35 | + line-height: 35px; | |
36 | + height: 35px; | |
37 | +} | |
38 | +.controller-elasticsearch_plugin .search_form .search_field input[type='submit']:hover { | |
39 | + cursor: pointer; | |
40 | + background: #ccc; | |
41 | +} | |
42 | + | |
43 | +.controller-elasticsearch_plugin .results { | |
44 | + flex: 1; | |
45 | + margin-top: 20px; | |
46 | + border-radius: 5px; | |
47 | + border: 1px solid #eee; | |
48 | + padding: 10px 0; | |
49 | +} | |
50 | + | |
51 | +.controller-elasticsearch_plugin .results-count { | |
52 | + margin: 15px; | |
53 | + font-size: 18px; | |
54 | +} | |
55 | + | |
56 | +.controller-elasticsearch_plugin #content-inner .categories, | |
57 | +.controller-elasticsearch_plugin #content-inner .search-filter, | |
58 | +.controller-elasticsearch_plugin #content-inner .search-options{ | |
59 | + background: #fff; | |
60 | + overflow: hidden; | |
61 | + border-radius: 5px; | |
62 | + margin: 20px 20px 0 0; | |
63 | + border: 1px solid #eee; | |
64 | +} | |
65 | + | |
66 | +.controller-elasticsearch_plugin #content-inner #jstree-categories { | |
67 | + overflow-x: auto; | |
68 | +} | |
69 | + | |
70 | +.controller-elasticsearch_plugin #content-inner #jstree-categories .jstree-node { | |
71 | + padding: 3px 0; | |
72 | +} | |
73 | + | |
74 | +.controller-elasticsearch_plugin #content-inner #jstree-categories .jstree-wholerow-clicked { | |
75 | + background: #fff; | |
76 | +} | |
77 | + | |
78 | +.controller-elasticsearch_plugin #content-inner .search-filter ul, | |
79 | +.controller-elasticsearch_plugin #content-inner .search-options ul { | |
80 | + background: #FFF; | |
81 | + list-style: none; | |
82 | + list-style-position: inside; | |
83 | + padding-left: 0px; | |
84 | + margin: 0; | |
85 | +} | |
86 | + | |
87 | +.controller-elasticsearch_plugin #content h3.box-title { | |
88 | + background: #000; | |
89 | + color: white; | |
90 | + padding: 15px 10px; | |
91 | + margin: 0; | |
92 | + font-weight: 400; | |
93 | + text-transform: uppercase; | |
94 | + font-size: 1.17em; | |
95 | +} | |
96 | + | |
97 | +.controller-elasticsearch_plugin .search-filter ul li, | |
98 | +.controller-elasticsearch_plugin .select-search-type { | |
99 | + text-decoration: none; | |
100 | + font-weight: 900; | |
101 | + font-family: arial; | |
102 | + border-bottom: 1px solid #E1E1E1; | |
103 | +} | |
104 | + | |
105 | +.controller-elasticsearch_plugin #content-inner .search-filter ul li:last-child , | |
106 | +.controller-elasticsearch_plugin #content-inner .search-options ul li:last-child { | |
107 | + border-bottom: none; | |
108 | +} | |
109 | + | |
110 | +.controller-elasticsearch_plugin #content-inner .search-filter ul li a , | |
111 | +.controller-elasticsearch_plugin #content-inner .search-options ul li a { | |
112 | + text-decoration: none; | |
113 | + display: block; | |
114 | + padding: 13px; | |
115 | + color: black; | |
116 | +} | |
117 | + | |
118 | +.controller-elasticsearch_plugin .select-search-type.active { | |
119 | + background: #CCC; | |
120 | + font-weight: 900; | |
121 | + border-bottom: none; | |
122 | +} | |
123 | + | |
124 | +.controller-elasticsearch_plugin .select-search-type a { | |
125 | + text-decoration: none; | |
126 | + color: black; | |
127 | +} | |
128 | + | |
129 | +.controller-elasticsearch_plugin .select-search-type.active a { | |
130 | + color: white; | |
131 | +} | |
132 | + | |
133 | +.controller-elasticsearch_plugin .search-item .model-label { | |
134 | + background: #ddd; | |
135 | + color: black; | |
136 | + font-weight: 900; | |
137 | + padding: 3px; | |
138 | +} | |
139 | + | |
140 | +.controller-elasticsearch_plugin .search-item { | |
141 | + padding: 10px; | |
142 | + margin-bottom: 15px; | |
143 | + margin: 15px; | |
144 | +} | |
145 | + | |
146 | +.controller-elasticsearch_plugin .right-side { | |
147 | + float: left; | |
148 | + width: calc(100% - 80px); | |
149 | +} | |
150 | + | |
151 | +.controller-elasticsearch_plugin .left-side { | |
152 | + float: left; | |
153 | + width: 80px; | |
154 | +} | |
155 | + | |
156 | +.controller-elasticsearch_plugin .search-item .body { | |
157 | + overflow: hidden; | |
158 | + text-overflow: ellipsis; | |
159 | + width: 600px; | |
160 | +} | |
161 | + | |
162 | +.controller-elasticsearch_plugin .search-item .body h2 a { | |
163 | + color: #888a85; | |
164 | + text-decoration: none; | |
165 | +} | ... | ... |
1.53 KB
5.58 KB
plugins/elasticsearch/public/themes/default-dark/style.css
0 → 100644
... | ... | @@ -0,0 +1,1112 @@ |
1 | +/* jsTree default dark theme */ | |
2 | +.jstree-node, | |
3 | +.jstree-children, | |
4 | +.jstree-container-ul { | |
5 | + display: block; | |
6 | + margin: 0; | |
7 | + padding: 0; | |
8 | + list-style-type: none; | |
9 | + list-style-image: none; | |
10 | +} | |
11 | +.jstree-node { | |
12 | + white-space: nowrap; | |
13 | +} | |
14 | +.jstree-anchor { | |
15 | + display: inline-block; | |
16 | + color: black; | |
17 | + white-space: nowrap; | |
18 | + padding: 0 4px 0 1px; | |
19 | + margin: 0; | |
20 | + vertical-align: top; | |
21 | +} | |
22 | +.jstree-anchor:focus { | |
23 | + outline: 0; | |
24 | +} | |
25 | +.jstree-anchor, | |
26 | +.jstree-anchor:link, | |
27 | +.jstree-anchor:visited, | |
28 | +.jstree-anchor:hover, | |
29 | +.jstree-anchor:active { | |
30 | + text-decoration: none; | |
31 | + color: inherit; | |
32 | +} | |
33 | +.jstree-icon { | |
34 | + display: inline-block; | |
35 | + text-decoration: none; | |
36 | + margin: 0; | |
37 | + padding: 0; | |
38 | + vertical-align: top; | |
39 | + text-align: center; | |
40 | +} | |
41 | +.jstree-icon:empty { | |
42 | + display: inline-block; | |
43 | + text-decoration: none; | |
44 | + margin: 0; | |
45 | + padding: 0; | |
46 | + vertical-align: top; | |
47 | + text-align: center; | |
48 | +} | |
49 | +.jstree-ocl { | |
50 | + cursor: pointer; | |
51 | +} | |
52 | +.jstree-leaf > .jstree-ocl { | |
53 | + cursor: default; | |
54 | +} | |
55 | +.jstree .jstree-open > .jstree-children { | |
56 | + display: block; | |
57 | +} | |
58 | +.jstree .jstree-closed > .jstree-children, | |
59 | +.jstree .jstree-leaf > .jstree-children { | |
60 | + display: none; | |
61 | +} | |
62 | +.jstree-anchor > .jstree-themeicon { | |
63 | + margin-right: 2px; | |
64 | +} | |
65 | +.jstree-no-icons .jstree-themeicon, | |
66 | +.jstree-anchor > .jstree-themeicon-hidden { | |
67 | + display: none; | |
68 | +} | |
69 | +.jstree-hidden, | |
70 | +.jstree-node.jstree-hidden { | |
71 | + display: none; | |
72 | +} | |
73 | +.jstree-rtl .jstree-anchor { | |
74 | + padding: 0 1px 0 4px; | |
75 | +} | |
76 | +.jstree-rtl .jstree-anchor > .jstree-themeicon { | |
77 | + margin-left: 2px; | |
78 | + margin-right: 0; | |
79 | +} | |
80 | +.jstree-rtl .jstree-node { | |
81 | + margin-left: 0; | |
82 | +} | |
83 | +.jstree-rtl .jstree-container-ul > .jstree-node { | |
84 | + margin-right: 0; | |
85 | +} | |
86 | +.jstree-wholerow-ul { | |
87 | + position: relative; | |
88 | + display: inline-block; | |
89 | + min-width: 100%; | |
90 | +} | |
91 | +.jstree-wholerow-ul .jstree-leaf > .jstree-ocl { | |
92 | + cursor: pointer; | |
93 | +} | |
94 | +.jstree-wholerow-ul .jstree-anchor, | |
95 | +.jstree-wholerow-ul .jstree-icon { | |
96 | + position: relative; | |
97 | +} | |
98 | +.jstree-wholerow-ul .jstree-wholerow { | |
99 | + width: 100%; | |
100 | + cursor: pointer; | |
101 | + position: absolute; | |
102 | + left: 0; | |
103 | + -webkit-user-select: none; | |
104 | + -moz-user-select: none; | |
105 | + -ms-user-select: none; | |
106 | + user-select: none; | |
107 | +} | |
108 | +.vakata-context { | |
109 | + display: none; | |
110 | +} | |
111 | +.vakata-context, | |
112 | +.vakata-context ul { | |
113 | + margin: 0; | |
114 | + padding: 2px; | |
115 | + position: absolute; | |
116 | + background: #f5f5f5; | |
117 | + border: 1px solid #979797; | |
118 | + box-shadow: 2px 2px 2px #999999; | |
119 | +} | |
120 | +.vakata-context ul { | |
121 | + list-style: none; | |
122 | + left: 100%; | |
123 | + margin-top: -2.7em; | |
124 | + margin-left: -4px; | |
125 | +} | |
126 | +.vakata-context .vakata-context-right ul { | |
127 | + left: auto; | |
128 | + right: 100%; | |
129 | + margin-left: auto; | |
130 | + margin-right: -4px; | |
131 | +} | |
132 | +.vakata-context li { | |
133 | + list-style: none; | |
134 | +} | |
135 | +.vakata-context li > a { | |
136 | + display: block; | |
137 | + padding: 0 2em 0 2em; | |
138 | + text-decoration: none; | |
139 | + width: auto; | |
140 | + color: black; | |
141 | + white-space: nowrap; | |
142 | + line-height: 2.4em; | |
143 | + text-shadow: 1px 1px 0 white; | |
144 | + border-radius: 1px; | |
145 | +} | |
146 | +.vakata-context li > a:hover { | |
147 | + position: relative; | |
148 | + background-color: #e8eff7; | |
149 | + box-shadow: 0 0 2px #0a6aa1; | |
150 | +} | |
151 | +.vakata-context li > a.vakata-context-parent { | |
152 | + background-image: url("data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAIORI4JlrqN1oMSnmmZDQUAOw=="); | |
153 | + background-position: right center; | |
154 | + background-repeat: no-repeat; | |
155 | +} | |
156 | +.vakata-context li > a:focus { | |
157 | + outline: 0; | |
158 | +} | |
159 | +.vakata-context .vakata-context-hover > a { | |
160 | + position: relative; | |
161 | + background-color: #e8eff7; | |
162 | + box-shadow: 0 0 2px #0a6aa1; | |
163 | +} | |
164 | +.vakata-context .vakata-context-separator > a, | |
165 | +.vakata-context .vakata-context-separator > a:hover { | |
166 | + background: white; | |
167 | + border: 0; | |
168 | + border-top: 1px solid #e2e3e3; | |
169 | + height: 1px; | |
170 | + min-height: 1px; | |
171 | + max-height: 1px; | |
172 | + padding: 0; | |
173 | + margin: 0 0 0 2.4em; | |
174 | + border-left: 1px solid #e0e0e0; | |
175 | + text-shadow: 0 0 0 transparent; | |
176 | + box-shadow: 0 0 0 transparent; | |
177 | + border-radius: 0; | |
178 | +} | |
179 | +.vakata-context .vakata-contextmenu-disabled a, | |
180 | +.vakata-context .vakata-contextmenu-disabled a:hover { | |
181 | + color: silver; | |
182 | + background-color: transparent; | |
183 | + border: 0; | |
184 | + box-shadow: 0 0 0; | |
185 | +} | |
186 | +.vakata-context li > a > i { | |
187 | + text-decoration: none; | |
188 | + display: inline-block; | |
189 | + width: 2.4em; | |
190 | + height: 2.4em; | |
191 | + background: transparent; | |
192 | + margin: 0 0 0 -2em; | |
193 | + vertical-align: top; | |
194 | + text-align: center; | |
195 | + line-height: 2.4em; | |
196 | +} | |
197 | +.vakata-context li > a > i:empty { | |
198 | + width: 2.4em; | |
199 | + line-height: 2.4em; | |
200 | +} | |
201 | +.vakata-context li > a .vakata-contextmenu-sep { | |
202 | + display: inline-block; | |
203 | + width: 1px; | |
204 | + height: 2.4em; | |
205 | + background: white; | |
206 | + margin: 0 0.5em 0 0; | |
207 | + border-left: 1px solid #e2e3e3; | |
208 | +} | |
209 | +.vakata-context .vakata-contextmenu-shortcut { | |
210 | + font-size: 0.8em; | |
211 | + color: silver; | |
212 | + opacity: 0.5; | |
213 | + display: none; | |
214 | +} | |
215 | +.vakata-context-rtl ul { | |
216 | + left: auto; | |
217 | + right: 100%; | |
218 | + margin-left: auto; | |
219 | + margin-right: -4px; | |
220 | +} | |
221 | +.vakata-context-rtl li > a.vakata-context-parent { | |
222 | + background-image: url("data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAINjI+AC7rWHIsPtmoxLAA7"); | |
223 | + background-position: left center; | |
224 | + background-repeat: no-repeat; | |
225 | +} | |
226 | +.vakata-context-rtl .vakata-context-separator > a { | |
227 | + margin: 0 2.4em 0 0; | |
228 | + border-left: 0; | |
229 | + border-right: 1px solid #e2e3e3; | |
230 | +} | |
231 | +.vakata-context-rtl .vakata-context-left ul { | |
232 | + right: auto; | |
233 | + left: 100%; | |
234 | + margin-left: -4px; | |
235 | + margin-right: auto; | |
236 | +} | |
237 | +.vakata-context-rtl li > a > i { | |
238 | + margin: 0 -2em 0 0; | |
239 | +} | |
240 | +.vakata-context-rtl li > a .vakata-contextmenu-sep { | |
241 | + margin: 0 0 0 0.5em; | |
242 | + border-left-color: white; | |
243 | + background: #e2e3e3; | |
244 | +} | |
245 | +#jstree-marker { | |
246 | + position: absolute; | |
247 | + top: 0; | |
248 | + left: 0; | |
249 | + margin: -5px 0 0 0; | |
250 | + padding: 0; | |
251 | + border-right: 0; | |
252 | + border-top: 5px solid transparent; | |
253 | + border-bottom: 5px solid transparent; | |
254 | + border-left: 5px solid; | |
255 | + width: 0; | |
256 | + height: 0; | |
257 | + font-size: 0; | |
258 | + line-height: 0; | |
259 | +} | |
260 | +#jstree-dnd { | |
261 | + line-height: 16px; | |
262 | + margin: 0; | |
263 | + padding: 4px; | |
264 | +} | |
265 | +#jstree-dnd .jstree-icon, | |
266 | +#jstree-dnd .jstree-copy { | |
267 | + display: inline-block; | |
268 | + text-decoration: none; | |
269 | + margin: 0 2px 0 0; | |
270 | + padding: 0; | |
271 | + width: 16px; | |
272 | + height: 16px; | |
273 | +} | |
274 | +#jstree-dnd .jstree-ok { | |
275 | + background: green; | |
276 | +} | |
277 | +#jstree-dnd .jstree-er { | |
278 | + background: red; | |
279 | +} | |
280 | +#jstree-dnd .jstree-copy { | |
281 | + margin: 0 2px 0 2px; | |
282 | +} | |
283 | +.jstree-default-dark .jstree-node, | |
284 | +.jstree-default-dark .jstree-icon { | |
285 | + background-repeat: no-repeat; | |
286 | + background-color: transparent; | |
287 | +} | |
288 | +.jstree-default-dark .jstree-anchor, | |
289 | +.jstree-default-dark .jstree-wholerow { | |
290 | + transition: background-color 0.15s, box-shadow 0.15s; | |
291 | +} | |
292 | +.jstree-default-dark .jstree-hovered { | |
293 | + background: #555555; | |
294 | + border-radius: 2px; | |
295 | + box-shadow: inset 0 0 1px #555555; | |
296 | +} | |
297 | +.jstree-default-dark .jstree-context { | |
298 | + background: #555555; | |
299 | + border-radius: 2px; | |
300 | + box-shadow: inset 0 0 1px #555555; | |
301 | +} | |
302 | +.jstree-default-dark .jstree-clicked { | |
303 | + background: #5fa2db; | |
304 | + border-radius: 2px; | |
305 | + box-shadow: inset 0 0 1px #666666; | |
306 | +} | |
307 | +.jstree-default-dark .jstree-no-icons .jstree-anchor > .jstree-themeicon { | |
308 | + display: none; | |
309 | +} | |
310 | +.jstree-default-dark .jstree-disabled { | |
311 | + background: transparent; | |
312 | + color: #666666; | |
313 | +} | |
314 | +.jstree-default-dark .jstree-disabled.jstree-hovered { | |
315 | + background: transparent; | |
316 | + box-shadow: none; | |
317 | +} | |
318 | +.jstree-default-dark .jstree-disabled.jstree-clicked { | |
319 | + background: #333333; | |
320 | +} | |
321 | +.jstree-default-dark .jstree-disabled > .jstree-icon { | |
322 | + opacity: 0.8; | |
323 | + filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'jstree-grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#jstree-grayscale"); | |
324 | + /* Firefox 10+ */ | |
325 | + filter: gray; | |
326 | + /* IE6-9 */ | |
327 | + -webkit-filter: grayscale(100%); | |
328 | + /* Chrome 19+ & Safari 6+ */ | |
329 | +} | |
330 | +.jstree-default-dark .jstree-search { | |
331 | + font-style: italic; | |
332 | + color: #ffffff; | |
333 | + font-weight: bold; | |
334 | +} | |
335 | +.jstree-default-dark .jstree-no-checkboxes .jstree-checkbox { | |
336 | + display: none !important; | |
337 | +} | |
338 | +.jstree-default-dark.jstree-checkbox-no-clicked .jstree-clicked { | |
339 | + background: transparent; | |
340 | + box-shadow: none; | |
341 | +} | |
342 | +.jstree-default-dark.jstree-checkbox-no-clicked .jstree-clicked.jstree-hovered { | |
343 | + background: #555555; | |
344 | +} | |
345 | +.jstree-default-dark.jstree-checkbox-no-clicked > .jstree-wholerow-ul .jstree-wholerow-clicked { | |
346 | + background: transparent; | |
347 | +} | |
348 | +.jstree-default-dark.jstree-checkbox-no-clicked > .jstree-wholerow-ul .jstree-wholerow-clicked.jstree-wholerow-hovered { | |
349 | + background: #555555; | |
350 | +} | |
351 | +.jstree-default-dark > .jstree-striped { | |
352 | + min-width: 100%; | |
353 | + display: inline-block; | |
354 | + background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAMAAAB/qqA+AAAABlBMVEUAAAAAAAClZ7nPAAAAAnRSTlMNAMM9s3UAAAAXSURBVHjajcEBAQAAAIKg/H/aCQZ70AUBjAATb6YPDgAAAABJRU5ErkJggg==") left top repeat; | |
355 | +} | |
356 | +.jstree-default-dark > .jstree-wholerow-ul .jstree-hovered, | |
357 | +.jstree-default-dark > .jstree-wholerow-ul .jstree-clicked { | |
358 | + background: transparent; | |
359 | + box-shadow: none; | |
360 | + border-radius: 0; | |
361 | +} | |
362 | +.jstree-default-dark .jstree-wholerow { | |
363 | + -moz-box-sizing: border-box; | |
364 | + -webkit-box-sizing: border-box; | |
365 | + box-sizing: border-box; | |
366 | +} | |
367 | +.jstree-default-dark .jstree-wholerow-hovered { | |
368 | + background: #555555; | |
369 | +} | |
370 | +.jstree-default-dark .jstree-wholerow-clicked { | |
371 | + background: #5fa2db; | |
372 | + background: -webkit-linear-gradient(top, #5fa2db 0%, #5fa2db 100%); | |
373 | + background: linear-gradient(to bottom, #5fa2db 0%, #5fa2db 100%); | |
374 | +} | |
375 | +.jstree-default-dark .jstree-node { | |
376 | + min-height: 24px; | |
377 | + line-height: 24px; | |
378 | + margin-left: 24px; | |
379 | + min-width: 24px; | |
380 | +} | |
381 | +.jstree-default-dark .jstree-anchor { | |
382 | + line-height: 24px; | |
383 | + height: 24px; | |
384 | +} | |
385 | +.jstree-default-dark .jstree-icon { | |
386 | + width: 24px; | |
387 | + height: 24px; | |
388 | + line-height: 24px; | |
389 | +} | |
390 | +.jstree-default-dark .jstree-icon:empty { | |
391 | + width: 24px; | |
392 | + height: 24px; | |
393 | + line-height: 24px; | |
394 | +} | |
395 | +.jstree-default-dark.jstree-rtl .jstree-node { | |
396 | + margin-right: 24px; | |
397 | +} | |
398 | +.jstree-default-dark .jstree-wholerow { | |
399 | + height: 24px; | |
400 | +} | |
401 | +.jstree-default-dark .jstree-node, | |
402 | +.jstree-default-dark .jstree-icon { | |
403 | + background-image: url("32px.png"); | |
404 | +} | |
405 | +.jstree-default-dark .jstree-node { | |
406 | + background-position: -292px -4px; | |
407 | + background-repeat: repeat-y; | |
408 | +} | |
409 | +.jstree-default-dark .jstree-last { | |
410 | + background: transparent; | |
411 | +} | |
412 | +.jstree-default-dark .jstree-open > .jstree-ocl { | |
413 | + background-position: -132px -4px; | |
414 | +} | |
415 | +.jstree-default-dark .jstree-closed > .jstree-ocl { | |
416 | + background-position: -100px -4px; | |
417 | +} | |
418 | +.jstree-default-dark .jstree-leaf > .jstree-ocl { | |
419 | + background-position: -68px -4px; | |
420 | +} | |
421 | +.jstree-default-dark .jstree-themeicon { | |
422 | + background-position: -260px -4px; | |
423 | +} | |
424 | +.jstree-default-dark > .jstree-no-dots .jstree-node, | |
425 | +.jstree-default-dark > .jstree-no-dots .jstree-leaf > .jstree-ocl { | |
426 | + background: transparent; | |
427 | +} | |
428 | +.jstree-default-dark > .jstree-no-dots .jstree-open > .jstree-ocl { | |
429 | + background-position: -36px -4px; | |
430 | +} | |
431 | +.jstree-default-dark > .jstree-no-dots .jstree-closed > .jstree-ocl { | |
432 | + background-position: -4px -4px; | |
433 | +} | |
434 | +.jstree-default-dark .jstree-disabled { | |
435 | + background: transparent; | |
436 | +} | |
437 | +.jstree-default-dark .jstree-disabled.jstree-hovered { | |
438 | + background: transparent; | |
439 | +} | |
440 | +.jstree-default-dark .jstree-disabled.jstree-clicked { | |
441 | + background: #efefef; | |
442 | +} | |
443 | +.jstree-default-dark .jstree-checkbox { | |
444 | + background-position: -164px -4px; | |
445 | +} | |
446 | +.jstree-default-dark .jstree-checkbox:hover { | |
447 | + background-position: -164px -36px; | |
448 | +} | |
449 | +.jstree-default-dark.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox, | |
450 | +.jstree-default-dark .jstree-checked > .jstree-checkbox { | |
451 | + background-position: -228px -4px; | |
452 | +} | |
453 | +.jstree-default-dark.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox:hover, | |
454 | +.jstree-default-dark .jstree-checked > .jstree-checkbox:hover { | |
455 | + background-position: -228px -36px; | |
456 | +} | |
457 | +.jstree-default-dark .jstree-anchor > .jstree-undetermined { | |
458 | + background-position: -196px -4px; | |
459 | +} | |
460 | +.jstree-default-dark .jstree-anchor > .jstree-undetermined:hover { | |
461 | + background-position: -196px -36px; | |
462 | +} | |
463 | +.jstree-default-dark .jstree-checkbox-disabled { | |
464 | + opacity: 0.8; | |
465 | + filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'jstree-grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#jstree-grayscale"); | |
466 | + /* Firefox 10+ */ | |
467 | + filter: gray; | |
468 | + /* IE6-9 */ | |
469 | + -webkit-filter: grayscale(100%); | |
470 | + /* Chrome 19+ & Safari 6+ */ | |
471 | +} | |
472 | +.jstree-default-dark > .jstree-striped { | |
473 | + background-size: auto 48px; | |
474 | +} | |
475 | +.jstree-default-dark.jstree-rtl .jstree-node { | |
476 | + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg=="); | |
477 | + background-position: 100% 1px; | |
478 | + background-repeat: repeat-y; | |
479 | +} | |
480 | +.jstree-default-dark.jstree-rtl .jstree-last { | |
481 | + background: transparent; | |
482 | +} | |
483 | +.jstree-default-dark.jstree-rtl .jstree-open > .jstree-ocl { | |
484 | + background-position: -132px -36px; | |
485 | +} | |
486 | +.jstree-default-dark.jstree-rtl .jstree-closed > .jstree-ocl { | |
487 | + background-position: -100px -36px; | |
488 | +} | |
489 | +.jstree-default-dark.jstree-rtl .jstree-leaf > .jstree-ocl { | |
490 | + background-position: -68px -36px; | |
491 | +} | |
492 | +.jstree-default-dark.jstree-rtl > .jstree-no-dots .jstree-node, | |
493 | +.jstree-default-dark.jstree-rtl > .jstree-no-dots .jstree-leaf > .jstree-ocl { | |
494 | + background: transparent; | |
495 | +} | |
496 | +.jstree-default-dark.jstree-rtl > .jstree-no-dots .jstree-open > .jstree-ocl { | |
497 | + background-position: -36px -36px; | |
498 | +} | |
499 | +.jstree-default-dark.jstree-rtl > .jstree-no-dots .jstree-closed > .jstree-ocl { | |
500 | + background-position: -4px -36px; | |
501 | +} | |
502 | +.jstree-default-dark .jstree-themeicon-custom { | |
503 | + background-color: transparent; | |
504 | + background-image: none; | |
505 | + background-position: 0 0; | |
506 | +} | |
507 | +.jstree-default-dark > .jstree-container-ul .jstree-loading > .jstree-ocl { | |
508 | + background: url("throbber.gif") center center no-repeat; | |
509 | +} | |
510 | +.jstree-default-dark .jstree-file { | |
511 | + background: url("32px.png") -100px -68px no-repeat; | |
512 | +} | |
513 | +.jstree-default-dark .jstree-folder { | |
514 | + background: url("32px.png") -260px -4px no-repeat; | |
515 | +} | |
516 | +.jstree-default-dark > .jstree-container-ul > .jstree-node { | |
517 | + margin-left: 0; | |
518 | + margin-right: 0; | |
519 | +} | |
520 | +#jstree-dnd.jstree-default-dark { | |
521 | + line-height: 24px; | |
522 | + padding: 0 4px; | |
523 | +} | |
524 | +#jstree-dnd.jstree-default-dark .jstree-ok, | |
525 | +#jstree-dnd.jstree-default-dark .jstree-er { | |
526 | + background-image: url("32px.png"); | |
527 | + background-repeat: no-repeat; | |
528 | + background-color: transparent; | |
529 | +} | |
530 | +#jstree-dnd.jstree-default-dark i { | |
531 | + background: transparent; | |
532 | + width: 24px; | |
533 | + height: 24px; | |
534 | + line-height: 24px; | |
535 | +} | |
536 | +#jstree-dnd.jstree-default-dark .jstree-ok { | |
537 | + background-position: -4px -68px; | |
538 | +} | |
539 | +#jstree-dnd.jstree-default-dark .jstree-er { | |
540 | + background-position: -36px -68px; | |
541 | +} | |
542 | +.jstree-default-dark.jstree-rtl .jstree-node { | |
543 | + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg=="); | |
544 | +} | |
545 | +.jstree-default-dark.jstree-rtl .jstree-last { | |
546 | + background: transparent; | |
547 | +} | |
548 | +.jstree-default-dark-small .jstree-node { | |
549 | + min-height: 18px; | |
550 | + line-height: 18px; | |
551 | + margin-left: 18px; | |
552 | + min-width: 18px; | |
553 | +} | |
554 | +.jstree-default-dark-small .jstree-anchor { | |
555 | + line-height: 18px; | |
556 | + height: 18px; | |
557 | +} | |
558 | +.jstree-default-dark-small .jstree-icon { | |
559 | + width: 18px; | |
560 | + height: 18px; | |
561 | + line-height: 18px; | |
562 | +} | |
563 | +.jstree-default-dark-small .jstree-icon:empty { | |
564 | + width: 18px; | |
565 | + height: 18px; | |
566 | + line-height: 18px; | |
567 | +} | |
568 | +.jstree-default-dark-small.jstree-rtl .jstree-node { | |
569 | + margin-right: 18px; | |
570 | +} | |
571 | +.jstree-default-dark-small .jstree-wholerow { | |
572 | + height: 18px; | |
573 | +} | |
574 | +.jstree-default-dark-small .jstree-node, | |
575 | +.jstree-default-dark-small .jstree-icon { | |
576 | + background-image: url("32px.png"); | |
577 | +} | |
578 | +.jstree-default-dark-small .jstree-node { | |
579 | + background-position: -295px -7px; | |
580 | + background-repeat: repeat-y; | |
581 | +} | |
582 | +.jstree-default-dark-small .jstree-last { | |
583 | + background: transparent; | |
584 | +} | |
585 | +.jstree-default-dark-small .jstree-open > .jstree-ocl { | |
586 | + background-position: -135px -7px; | |
587 | +} | |
588 | +.jstree-default-dark-small .jstree-closed > .jstree-ocl { | |
589 | + background-position: -103px -7px; | |
590 | +} | |
591 | +.jstree-default-dark-small .jstree-leaf > .jstree-ocl { | |
592 | + background-position: -71px -7px; | |
593 | +} | |
594 | +.jstree-default-dark-small .jstree-themeicon { | |
595 | + background-position: -263px -7px; | |
596 | +} | |
597 | +.jstree-default-dark-small > .jstree-no-dots .jstree-node, | |
598 | +.jstree-default-dark-small > .jstree-no-dots .jstree-leaf > .jstree-ocl { | |
599 | + background: transparent; | |
600 | +} | |
601 | +.jstree-default-dark-small > .jstree-no-dots .jstree-open > .jstree-ocl { | |
602 | + background-position: -39px -7px; | |
603 | +} | |
604 | +.jstree-default-dark-small > .jstree-no-dots .jstree-closed > .jstree-ocl { | |
605 | + background-position: -7px -7px; | |
606 | +} | |
607 | +.jstree-default-dark-small .jstree-disabled { | |
608 | + background: transparent; | |
609 | +} | |
610 | +.jstree-default-dark-small .jstree-disabled.jstree-hovered { | |
611 | + background: transparent; | |
612 | +} | |
613 | +.jstree-default-dark-small .jstree-disabled.jstree-clicked { | |
614 | + background: #efefef; | |
615 | +} | |
616 | +.jstree-default-dark-small .jstree-checkbox { | |
617 | + background-position: -167px -7px; | |
618 | +} | |
619 | +.jstree-default-dark-small .jstree-checkbox:hover { | |
620 | + background-position: -167px -39px; | |
621 | +} | |
622 | +.jstree-default-dark-small.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox, | |
623 | +.jstree-default-dark-small .jstree-checked > .jstree-checkbox { | |
624 | + background-position: -231px -7px; | |
625 | +} | |
626 | +.jstree-default-dark-small.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox:hover, | |
627 | +.jstree-default-dark-small .jstree-checked > .jstree-checkbox:hover { | |
628 | + background-position: -231px -39px; | |
629 | +} | |
630 | +.jstree-default-dark-small .jstree-anchor > .jstree-undetermined { | |
631 | + background-position: -199px -7px; | |
632 | +} | |
633 | +.jstree-default-dark-small .jstree-anchor > .jstree-undetermined:hover { | |
634 | + background-position: -199px -39px; | |
635 | +} | |
636 | +.jstree-default-dark-small .jstree-checkbox-disabled { | |
637 | + opacity: 0.8; | |
638 | + filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'jstree-grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#jstree-grayscale"); | |
639 | + /* Firefox 10+ */ | |
640 | + filter: gray; | |
641 | + /* IE6-9 */ | |
642 | + -webkit-filter: grayscale(100%); | |
643 | + /* Chrome 19+ & Safari 6+ */ | |
644 | +} | |
645 | +.jstree-default-dark-small > .jstree-striped { | |
646 | + background-size: auto 36px; | |
647 | +} | |
648 | +.jstree-default-dark-small.jstree-rtl .jstree-node { | |
649 | + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg=="); | |
650 | + background-position: 100% 1px; | |
651 | + background-repeat: repeat-y; | |
652 | +} | |
653 | +.jstree-default-dark-small.jstree-rtl .jstree-last { | |
654 | + background: transparent; | |
655 | +} | |
656 | +.jstree-default-dark-small.jstree-rtl .jstree-open > .jstree-ocl { | |
657 | + background-position: -135px -39px; | |
658 | +} | |
659 | +.jstree-default-dark-small.jstree-rtl .jstree-closed > .jstree-ocl { | |
660 | + background-position: -103px -39px; | |
661 | +} | |
662 | +.jstree-default-dark-small.jstree-rtl .jstree-leaf > .jstree-ocl { | |
663 | + background-position: -71px -39px; | |
664 | +} | |
665 | +.jstree-default-dark-small.jstree-rtl > .jstree-no-dots .jstree-node, | |
666 | +.jstree-default-dark-small.jstree-rtl > .jstree-no-dots .jstree-leaf > .jstree-ocl { | |
667 | + background: transparent; | |
668 | +} | |
669 | +.jstree-default-dark-small.jstree-rtl > .jstree-no-dots .jstree-open > .jstree-ocl { | |
670 | + background-position: -39px -39px; | |
671 | +} | |
672 | +.jstree-default-dark-small.jstree-rtl > .jstree-no-dots .jstree-closed > .jstree-ocl { | |
673 | + background-position: -7px -39px; | |
674 | +} | |
675 | +.jstree-default-dark-small .jstree-themeicon-custom { | |
676 | + background-color: transparent; | |
677 | + background-image: none; | |
678 | + background-position: 0 0; | |
679 | +} | |
680 | +.jstree-default-dark-small > .jstree-container-ul .jstree-loading > .jstree-ocl { | |
681 | + background: url("throbber.gif") center center no-repeat; | |
682 | +} | |
683 | +.jstree-default-dark-small .jstree-file { | |
684 | + background: url("32px.png") -103px -71px no-repeat; | |
685 | +} | |
686 | +.jstree-default-dark-small .jstree-folder { | |
687 | + background: url("32px.png") -263px -7px no-repeat; | |
688 | +} | |
689 | +.jstree-default-dark-small > .jstree-container-ul > .jstree-node { | |
690 | + margin-left: 0; | |
691 | + margin-right: 0; | |
692 | +} | |
693 | +#jstree-dnd.jstree-default-dark-small { | |
694 | + line-height: 18px; | |
695 | + padding: 0 4px; | |
696 | +} | |
697 | +#jstree-dnd.jstree-default-dark-small .jstree-ok, | |
698 | +#jstree-dnd.jstree-default-dark-small .jstree-er { | |
699 | + background-image: url("32px.png"); | |
700 | + background-repeat: no-repeat; | |
701 | + background-color: transparent; | |
702 | +} | |
703 | +#jstree-dnd.jstree-default-dark-small i { | |
704 | + background: transparent; | |
705 | + width: 18px; | |
706 | + height: 18px; | |
707 | + line-height: 18px; | |
708 | +} | |
709 | +#jstree-dnd.jstree-default-dark-small .jstree-ok { | |
710 | + background-position: -7px -71px; | |
711 | +} | |
712 | +#jstree-dnd.jstree-default-dark-small .jstree-er { | |
713 | + background-position: -39px -71px; | |
714 | +} | |
715 | +.jstree-default-dark-small.jstree-rtl .jstree-node { | |
716 | + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAACAQMAAABv1h6PAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMHBgAAiABBI4gz9AAAAABJRU5ErkJggg=="); | |
717 | +} | |
718 | +.jstree-default-dark-small.jstree-rtl .jstree-last { | |
719 | + background: transparent; | |
720 | +} | |
721 | +.jstree-default-dark-large .jstree-node { | |
722 | + min-height: 32px; | |
723 | + line-height: 32px; | |
724 | + margin-left: 32px; | |
725 | + min-width: 32px; | |
726 | +} | |
727 | +.jstree-default-dark-large .jstree-anchor { | |
728 | + line-height: 32px; | |
729 | + height: 32px; | |
730 | +} | |
731 | +.jstree-default-dark-large .jstree-icon { | |
732 | + width: 32px; | |
733 | + height: 32px; | |
734 | + line-height: 32px; | |
735 | +} | |
736 | +.jstree-default-dark-large .jstree-icon:empty { | |
737 | + width: 32px; | |
738 | + height: 32px; | |
739 | + line-height: 32px; | |
740 | +} | |
741 | +.jstree-default-dark-large.jstree-rtl .jstree-node { | |
742 | + margin-right: 32px; | |
743 | +} | |
744 | +.jstree-default-dark-large .jstree-wholerow { | |
745 | + height: 32px; | |
746 | +} | |
747 | +.jstree-default-dark-large .jstree-node, | |
748 | +.jstree-default-dark-large .jstree-icon { | |
749 | + background-image: url("32px.png"); | |
750 | +} | |
751 | +.jstree-default-dark-large .jstree-node { | |
752 | + background-position: -288px 0px; | |
753 | + background-repeat: repeat-y; | |
754 | +} | |
755 | +.jstree-default-dark-large .jstree-last { | |
756 | + background: transparent; | |
757 | +} | |
758 | +.jstree-default-dark-large .jstree-open > .jstree-ocl { | |
759 | + background-position: -128px 0px; | |
760 | +} | |
761 | +.jstree-default-dark-large .jstree-closed > .jstree-ocl { | |
762 | + background-position: -96px 0px; | |
763 | +} | |
764 | +.jstree-default-dark-large .jstree-leaf > .jstree-ocl { | |
765 | + background-position: -64px 0px; | |
766 | +} | |
767 | +.jstree-default-dark-large .jstree-themeicon { | |
768 | + background-position: -256px 0px; | |
769 | +} | |
770 | +.jstree-default-dark-large > .jstree-no-dots .jstree-node, | |
771 | +.jstree-default-dark-large > .jstree-no-dots .jstree-leaf > .jstree-ocl { | |
772 | + background: transparent; | |
773 | +} | |
774 | +.jstree-default-dark-large > .jstree-no-dots .jstree-open > .jstree-ocl { | |
775 | + background-position: -32px 0px; | |
776 | +} | |
777 | +.jstree-default-dark-large > .jstree-no-dots .jstree-closed > .jstree-ocl { | |
778 | + background-position: 0px 0px; | |
779 | +} | |
780 | +.jstree-default-dark-large .jstree-disabled { | |
781 | + background: transparent; | |
782 | +} | |
783 | +.jstree-default-dark-large .jstree-disabled.jstree-hovered { | |
784 | + background: transparent; | |
785 | +} | |
786 | +.jstree-default-dark-large .jstree-disabled.jstree-clicked { | |
787 | + background: #efefef; | |
788 | +} | |
789 | +.jstree-default-dark-large .jstree-checkbox { | |
790 | + background-position: -160px 0px; | |
791 | +} | |
792 | +.jstree-default-dark-large .jstree-checkbox:hover { | |
793 | + background-position: -160px -32px; | |
794 | +} | |
795 | +.jstree-default-dark-large.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox, | |
796 | +.jstree-default-dark-large .jstree-checked > .jstree-checkbox { | |
797 | + background-position: -224px 0px; | |
798 | +} | |
799 | +.jstree-default-dark-large.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox:hover, | |
800 | +.jstree-default-dark-large .jstree-checked > .jstree-checkbox:hover { | |
801 | + background-position: -224px -32px; | |
802 | +} | |
803 | +.jstree-default-dark-large .jstree-anchor > .jstree-undetermined { | |
804 | + background-position: -192px 0px; | |
805 | +} | |
806 | +.jstree-default-dark-large .jstree-anchor > .jstree-undetermined:hover { | |
807 | + background-position: -192px -32px; | |
808 | +} | |
809 | +.jstree-default-dark-large .jstree-checkbox-disabled { | |
810 | + opacity: 0.8; | |
811 | + filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'jstree-grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#jstree-grayscale"); | |
812 | + /* Firefox 10+ */ | |
813 | + filter: gray; | |
814 | + /* IE6-9 */ | |
815 | + -webkit-filter: grayscale(100%); | |
816 | + /* Chrome 19+ & Safari 6+ */ | |
817 | +} | |
818 | +.jstree-default-dark-large > .jstree-striped { | |
819 | + background-size: auto 64px; | |
820 | +} | |
821 | +.jstree-default-dark-large.jstree-rtl .jstree-node { | |
822 | + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg=="); | |
823 | + background-position: 100% 1px; | |
824 | + background-repeat: repeat-y; | |
825 | +} | |
826 | +.jstree-default-dark-large.jstree-rtl .jstree-last { | |
827 | + background: transparent; | |
828 | +} | |
829 | +.jstree-default-dark-large.jstree-rtl .jstree-open > .jstree-ocl { | |
830 | + background-position: -128px -32px; | |
831 | +} | |
832 | +.jstree-default-dark-large.jstree-rtl .jstree-closed > .jstree-ocl { | |
833 | + background-position: -96px -32px; | |
834 | +} | |
835 | +.jstree-default-dark-large.jstree-rtl .jstree-leaf > .jstree-ocl { | |
836 | + background-position: -64px -32px; | |
837 | +} | |
838 | +.jstree-default-dark-large.jstree-rtl > .jstree-no-dots .jstree-node, | |
839 | +.jstree-default-dark-large.jstree-rtl > .jstree-no-dots .jstree-leaf > .jstree-ocl { | |
840 | + background: transparent; | |
841 | +} | |
842 | +.jstree-default-dark-large.jstree-rtl > .jstree-no-dots .jstree-open > .jstree-ocl { | |
843 | + background-position: -32px -32px; | |
844 | +} | |
845 | +.jstree-default-dark-large.jstree-rtl > .jstree-no-dots .jstree-closed > .jstree-ocl { | |
846 | + background-position: 0px -32px; | |
847 | +} | |
848 | +.jstree-default-dark-large .jstree-themeicon-custom { | |
849 | + background-color: transparent; | |
850 | + background-image: none; | |
851 | + background-position: 0 0; | |
852 | +} | |
853 | +.jstree-default-dark-large > .jstree-container-ul .jstree-loading > .jstree-ocl { | |
854 | + background: url("throbber.gif") center center no-repeat; | |
855 | +} | |
856 | +.jstree-default-dark-large .jstree-file { | |
857 | + background: url("32px.png") -96px -64px no-repeat; | |
858 | +} | |
859 | +.jstree-default-dark-large .jstree-folder { | |
860 | + background: url("32px.png") -256px 0px no-repeat; | |
861 | +} | |
862 | +.jstree-default-dark-large > .jstree-container-ul > .jstree-node { | |
863 | + margin-left: 0; | |
864 | + margin-right: 0; | |
865 | +} | |
866 | +#jstree-dnd.jstree-default-dark-large { | |
867 | + line-height: 32px; | |
868 | + padding: 0 4px; | |
869 | +} | |
870 | +#jstree-dnd.jstree-default-dark-large .jstree-ok, | |
871 | +#jstree-dnd.jstree-default-dark-large .jstree-er { | |
872 | + background-image: url("32px.png"); | |
873 | + background-repeat: no-repeat; | |
874 | + background-color: transparent; | |
875 | +} | |
876 | +#jstree-dnd.jstree-default-dark-large i { | |
877 | + background: transparent; | |
878 | + width: 32px; | |
879 | + height: 32px; | |
880 | + line-height: 32px; | |
881 | +} | |
882 | +#jstree-dnd.jstree-default-dark-large .jstree-ok { | |
883 | + background-position: 0px -64px; | |
884 | +} | |
885 | +#jstree-dnd.jstree-default-dark-large .jstree-er { | |
886 | + background-position: -32px -64px; | |
887 | +} | |
888 | +.jstree-default-dark-large.jstree-rtl .jstree-node { | |
889 | + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAACAQMAAAAD0EyKAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjgIIGBgABCgCBvVLXcAAAAABJRU5ErkJggg=="); | |
890 | +} | |
891 | +.jstree-default-dark-large.jstree-rtl .jstree-last { | |
892 | + background: transparent; | |
893 | +} | |
894 | +@media (max-width: 768px) { | |
895 | + #jstree-dnd.jstree-dnd-responsive { | |
896 | + line-height: 40px; | |
897 | + font-weight: bold; | |
898 | + font-size: 1.1em; | |
899 | + text-shadow: 1px 1px white; | |
900 | + } | |
901 | + #jstree-dnd.jstree-dnd-responsive > i { | |
902 | + background: transparent; | |
903 | + width: 40px; | |
904 | + height: 40px; | |
905 | + } | |
906 | + #jstree-dnd.jstree-dnd-responsive > .jstree-ok { | |
907 | + background-image: url("40px.png"); | |
908 | + background-position: 0 -200px; | |
909 | + background-size: 120px 240px; | |
910 | + } | |
911 | + #jstree-dnd.jstree-dnd-responsive > .jstree-er { | |
912 | + background-image: url("40px.png"); | |
913 | + background-position: -40px -200px; | |
914 | + background-size: 120px 240px; | |
915 | + } | |
916 | + #jstree-marker.jstree-dnd-responsive { | |
917 | + border-left-width: 10px; | |
918 | + border-top-width: 10px; | |
919 | + border-bottom-width: 10px; | |
920 | + margin-top: -10px; | |
921 | + } | |
922 | +} | |
923 | +@media (max-width: 768px) { | |
924 | + .jstree-default-dark-responsive { | |
925 | + /* | |
926 | + .jstree-open > .jstree-ocl, | |
927 | + .jstree-closed > .jstree-ocl { border-radius:20px; background-color:white; } | |
928 | + */ | |
929 | + } | |
930 | + .jstree-default-dark-responsive .jstree-icon { | |
931 | + background-image: url("40px.png"); | |
932 | + } | |
933 | + .jstree-default-dark-responsive .jstree-node, | |
934 | + .jstree-default-dark-responsive .jstree-leaf > .jstree-ocl { | |
935 | + background: transparent; | |
936 | + } | |
937 | + .jstree-default-dark-responsive .jstree-node { | |
938 | + min-height: 40px; | |
939 | + line-height: 40px; | |
940 | + margin-left: 40px; | |
941 | + min-width: 40px; | |
942 | + white-space: nowrap; | |
943 | + } | |
944 | + .jstree-default-dark-responsive .jstree-anchor { | |
945 | + line-height: 40px; | |
946 | + height: 40px; | |
947 | + } | |
948 | + .jstree-default-dark-responsive .jstree-icon, | |
949 | + .jstree-default-dark-responsive .jstree-icon:empty { | |
950 | + width: 40px; | |
951 | + height: 40px; | |
952 | + line-height: 40px; | |
953 | + } | |
954 | + .jstree-default-dark-responsive > .jstree-container-ul > .jstree-node { | |
955 | + margin-left: 0; | |
956 | + } | |
957 | + .jstree-default-dark-responsive.jstree-rtl .jstree-node { | |
958 | + margin-left: 0; | |
959 | + margin-right: 40px; | |
960 | + background: transparent; | |
961 | + } | |
962 | + .jstree-default-dark-responsive.jstree-rtl .jstree-container-ul > .jstree-node { | |
963 | + margin-right: 0; | |
964 | + } | |
965 | + .jstree-default-dark-responsive .jstree-ocl, | |
966 | + .jstree-default-dark-responsive .jstree-themeicon, | |
967 | + .jstree-default-dark-responsive .jstree-checkbox { | |
968 | + background-size: 120px 240px; | |
969 | + } | |
970 | + .jstree-default-dark-responsive .jstree-leaf > .jstree-ocl, | |
971 | + .jstree-default-dark-responsive.jstree-rtl .jstree-leaf > .jstree-ocl { | |
972 | + background: transparent; | |
973 | + } | |
974 | + .jstree-default-dark-responsive .jstree-open > .jstree-ocl { | |
975 | + background-position: 0 0px !important; | |
976 | + } | |
977 | + .jstree-default-dark-responsive .jstree-closed > .jstree-ocl { | |
978 | + background-position: 0 -40px !important; | |
979 | + } | |
980 | + .jstree-default-dark-responsive.jstree-rtl .jstree-closed > .jstree-ocl { | |
981 | + background-position: -40px 0px !important; | |
982 | + } | |
983 | + .jstree-default-dark-responsive .jstree-themeicon { | |
984 | + background-position: -40px -40px; | |
985 | + } | |
986 | + .jstree-default-dark-responsive .jstree-checkbox, | |
987 | + .jstree-default-dark-responsive .jstree-checkbox:hover { | |
988 | + background-position: -40px -80px; | |
989 | + } | |
990 | + .jstree-default-dark-responsive.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox, | |
991 | + .jstree-default-dark-responsive.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox:hover, | |
992 | + .jstree-default-dark-responsive .jstree-checked > .jstree-checkbox, | |
993 | + .jstree-default-dark-responsive .jstree-checked > .jstree-checkbox:hover { | |
994 | + background-position: 0 -80px; | |
995 | + } | |
996 | + .jstree-default-dark-responsive .jstree-anchor > .jstree-undetermined, | |
997 | + .jstree-default-dark-responsive .jstree-anchor > .jstree-undetermined:hover { | |
998 | + background-position: 0 -120px; | |
999 | + } | |
1000 | + .jstree-default-dark-responsive .jstree-anchor { | |
1001 | + font-weight: bold; | |
1002 | + font-size: 1.1em; | |
1003 | + text-shadow: 1px 1px white; | |
1004 | + } | |
1005 | + .jstree-default-dark-responsive > .jstree-striped { | |
1006 | + background: transparent; | |
1007 | + } | |
1008 | + .jstree-default-dark-responsive .jstree-wholerow { | |
1009 | + border-top: 1px solid #666666; | |
1010 | + border-bottom: 1px solid #000000; | |
1011 | + background: #333333; | |
1012 | + height: 40px; | |
1013 | + } | |
1014 | + .jstree-default-dark-responsive .jstree-wholerow-hovered { | |
1015 | + background: #555555; | |
1016 | + } | |
1017 | + .jstree-default-dark-responsive .jstree-wholerow-clicked { | |
1018 | + background: #5fa2db; | |
1019 | + } | |
1020 | + .jstree-default-dark-responsive .jstree-children .jstree-last > .jstree-wholerow { | |
1021 | + box-shadow: inset 0 -6px 3px -5px #111111; | |
1022 | + } | |
1023 | + .jstree-default-dark-responsive .jstree-children .jstree-open > .jstree-wholerow { | |
1024 | + box-shadow: inset 0 6px 3px -5px #111111; | |
1025 | + border-top: 0; | |
1026 | + } | |
1027 | + .jstree-default-dark-responsive .jstree-children .jstree-open + .jstree-open { | |
1028 | + box-shadow: none; | |
1029 | + } | |
1030 | + .jstree-default-dark-responsive .jstree-node, | |
1031 | + .jstree-default-dark-responsive .jstree-icon, | |
1032 | + .jstree-default-dark-responsive .jstree-node > .jstree-ocl, | |
1033 | + .jstree-default-dark-responsive .jstree-themeicon, | |
1034 | + .jstree-default-dark-responsive .jstree-checkbox { | |
1035 | + background-image: url("40px.png"); | |
1036 | + background-size: 120px 240px; | |
1037 | + } | |
1038 | + .jstree-default-dark-responsive .jstree-node { | |
1039 | + background-position: -80px 0; | |
1040 | + background-repeat: repeat-y; | |
1041 | + } | |
1042 | + .jstree-default-dark-responsive .jstree-last { | |
1043 | + background: transparent; | |
1044 | + } | |
1045 | + .jstree-default-dark-responsive .jstree-leaf > .jstree-ocl { | |
1046 | + background-position: -40px -120px; | |
1047 | + } | |
1048 | + .jstree-default-dark-responsive .jstree-last > .jstree-ocl { | |
1049 | + background-position: -40px -160px; | |
1050 | + } | |
1051 | + .jstree-default-dark-responsive .jstree-themeicon-custom { | |
1052 | + background-color: transparent; | |
1053 | + background-image: none; | |
1054 | + background-position: 0 0; | |
1055 | + } | |
1056 | + .jstree-default-dark-responsive .jstree-file { | |
1057 | + background: url("40px.png") 0 -160px no-repeat; | |
1058 | + background-size: 120px 240px; | |
1059 | + } | |
1060 | + .jstree-default-dark-responsive .jstree-folder { | |
1061 | + background: url("40px.png") -40px -40px no-repeat; | |
1062 | + background-size: 120px 240px; | |
1063 | + } | |
1064 | + .jstree-default-dark-responsive > .jstree-container-ul > .jstree-node { | |
1065 | + margin-left: 0; | |
1066 | + margin-right: 0; | |
1067 | + } | |
1068 | +} | |
1069 | +.jstree-default-dark { | |
1070 | + background: #333; | |
1071 | +} | |
1072 | +.jstree-default-dark .jstree-anchor { | |
1073 | + color: #999; | |
1074 | + text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.5); | |
1075 | +} | |
1076 | +.jstree-default-dark .jstree-clicked, | |
1077 | +.jstree-default-dark .jstree-checked { | |
1078 | + color: white; | |
1079 | +} | |
1080 | +.jstree-default-dark .jstree-hovered { | |
1081 | + color: white; | |
1082 | +} | |
1083 | +#jstree-marker.jstree-default-dark { | |
1084 | + border-left-color: #999; | |
1085 | + background: transparent; | |
1086 | +} | |
1087 | +.jstree-default-dark .jstree-anchor > .jstree-icon { | |
1088 | + opacity: 0.75; | |
1089 | +} | |
1090 | +.jstree-default-dark .jstree-clicked > .jstree-icon, | |
1091 | +.jstree-default-dark .jstree-hovered > .jstree-icon, | |
1092 | +.jstree-default-dark .jstree-checked > .jstree-icon { | |
1093 | + opacity: 1; | |
1094 | +} | |
1095 | +.jstree-default-dark.jstree-rtl .jstree-node { | |
1096 | + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAACZmZl+9SADAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg=="); | |
1097 | +} | |
1098 | +.jstree-default-dark.jstree-rtl .jstree-last { | |
1099 | + background: transparent; | |
1100 | +} | |
1101 | +.jstree-default-dark-small.jstree-rtl .jstree-node { | |
1102 | + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAACAQMAAABv1h6PAAAABlBMVEUAAACZmZl+9SADAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMHBgAAiABBI4gz9AAAAABJRU5ErkJggg=="); | |
1103 | +} | |
1104 | +.jstree-default-dark-small.jstree-rtl .jstree-last { | |
1105 | + background: transparent; | |
1106 | +} | |
1107 | +.jstree-default-dark-large.jstree-rtl .jstree-node { | |
1108 | + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAACAQMAAAAD0EyKAAAABlBMVEUAAACZmZl+9SADAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjgIIGBgABCgCBvVLXcAAAAABJRU5ErkJggg=="); | |
1109 | +} | |
1110 | +.jstree-default-dark-large.jstree-rtl .jstree-last { | |
1111 | + background: transparent; | |
1112 | +} | ... | ... |
plugins/elasticsearch/public/themes/default-dark/style.min.css
0 → 100644
... | ... | @@ -0,0 +1 @@ |
1 | +.jstree-node,.jstree-children,.jstree-container-ul{display:block;margin:0;padding:0;list-style-type:none;list-style-image:none}.jstree-node{white-space:nowrap}.jstree-anchor{display:inline-block;color:#000;white-space:nowrap;padding:0 4px 0 1px;margin:0;vertical-align:top}.jstree-anchor:focus{outline:0}.jstree-anchor,.jstree-anchor:link,.jstree-anchor:visited,.jstree-anchor:hover,.jstree-anchor:active{text-decoration:none;color:inherit}.jstree-icon{display:inline-block;text-decoration:none;margin:0;padding:0;vertical-align:top;text-align:center}.jstree-icon:empty{display:inline-block;text-decoration:none;margin:0;padding:0;vertical-align:top;text-align:center}.jstree-ocl{cursor:pointer}.jstree-leaf>.jstree-ocl{cursor:default}.jstree .jstree-open>.jstree-children{display:block}.jstree .jstree-closed>.jstree-children,.jstree .jstree-leaf>.jstree-children{display:none}.jstree-anchor>.jstree-themeicon{margin-right:2px}.jstree-no-icons .jstree-themeicon,.jstree-anchor>.jstree-themeicon-hidden{display:none}.jstree-hidden,.jstree-node.jstree-hidden{display:none}.jstree-rtl .jstree-anchor{padding:0 1px 0 4px}.jstree-rtl .jstree-anchor>.jstree-themeicon{margin-left:2px;margin-right:0}.jstree-rtl .jstree-node{margin-left:0}.jstree-rtl .jstree-container-ul>.jstree-node{margin-right:0}.jstree-wholerow-ul{position:relative;display:inline-block;min-width:100%}.jstree-wholerow-ul .jstree-leaf>.jstree-ocl{cursor:pointer}.jstree-wholerow-ul .jstree-anchor,.jstree-wholerow-ul .jstree-icon{position:relative}.jstree-wholerow-ul .jstree-wholerow{width:100%;cursor:pointer;position:absolute;left:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vakata-context{display:none}.vakata-context,.vakata-context ul{margin:0;padding:2px;position:absolute;background:#f5f5f5;border:1px solid #979797;box-shadow:2px 2px 2px #999}.vakata-context ul{list-style:none;left:100%;margin-top:-2.7em;margin-left:-4px}.vakata-context .vakata-context-right ul{left:auto;right:100%;margin-left:auto;margin-right:-4px}.vakata-context li{list-style:none}.vakata-context li>a{display:block;padding:0 2em;text-decoration:none;width:auto;color:#000;white-space:nowrap;line-height:2.4em;text-shadow:1px 1px 0 #fff;border-radius:1px}.vakata-context li>a:hover{position:relative;background-color:#e8eff7;box-shadow:0 0 2px #0a6aa1}.vakata-context li>a.vakata-context-parent{background-image:url(data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAIORI4JlrqN1oMSnmmZDQUAOw==);background-position:right center;background-repeat:no-repeat}.vakata-context li>a:focus{outline:0}.vakata-context .vakata-context-hover>a{position:relative;background-color:#e8eff7;box-shadow:0 0 2px #0a6aa1}.vakata-context .vakata-context-separator>a,.vakata-context .vakata-context-separator>a:hover{background:#fff;border:0;border-top:1px solid #e2e3e3;height:1px;min-height:1px;max-height:1px;padding:0;margin:0 0 0 2.4em;border-left:1px solid #e0e0e0;text-shadow:0 0 0 transparent;box-shadow:0 0 0 transparent;border-radius:0}.vakata-context .vakata-contextmenu-disabled a,.vakata-context .vakata-contextmenu-disabled a:hover{color:silver;background-color:transparent;border:0;box-shadow:0 0 0}.vakata-context li>a>i{text-decoration:none;display:inline-block;width:2.4em;height:2.4em;background:0 0;margin:0 0 0 -2em;vertical-align:top;text-align:center;line-height:2.4em}.vakata-context li>a>i:empty{width:2.4em;line-height:2.4em}.vakata-context li>a .vakata-contextmenu-sep{display:inline-block;width:1px;height:2.4em;background:#fff;margin:0 .5em 0 0;border-left:1px solid #e2e3e3}.vakata-context .vakata-contextmenu-shortcut{font-size:.8em;color:silver;opacity:.5;display:none}.vakata-context-rtl ul{left:auto;right:100%;margin-left:auto;margin-right:-4px}.vakata-context-rtl li>a.vakata-context-parent{background-image:url(data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAINjI+AC7rWHIsPtmoxLAA7);background-position:left center;background-repeat:no-repeat}.vakata-context-rtl .vakata-context-separator>a{margin:0 2.4em 0 0;border-left:0;border-right:1px solid #e2e3e3}.vakata-context-rtl .vakata-context-left ul{right:auto;left:100%;margin-left:-4px;margin-right:auto}.vakata-context-rtl li>a>i{margin:0 -2em 0 0}.vakata-context-rtl li>a .vakata-contextmenu-sep{margin:0 0 0 .5em;border-left-color:#fff;background:#e2e3e3}#jstree-marker{position:absolute;top:0;left:0;margin:-5px 0 0 0;padding:0;border-right:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid;width:0;height:0;font-size:0;line-height:0}#jstree-dnd{line-height:16px;margin:0;padding:4px}#jstree-dnd .jstree-icon,#jstree-dnd .jstree-copy{display:inline-block;text-decoration:none;margin:0 2px 0 0;padding:0;width:16px;height:16px}#jstree-dnd .jstree-ok{background:green}#jstree-dnd .jstree-er{background:red}#jstree-dnd .jstree-copy{margin:0 2px}.jstree-default-dark .jstree-node,.jstree-default-dark .jstree-icon{background-repeat:no-repeat;background-color:transparent}.jstree-default-dark .jstree-anchor,.jstree-default-dark .jstree-wholerow{transition:background-color .15s,box-shadow .15s}.jstree-default-dark .jstree-hovered{background:#555;border-radius:2px;box-shadow:inset 0 0 1px #555}.jstree-default-dark .jstree-context{background:#555;border-radius:2px;box-shadow:inset 0 0 1px #555}.jstree-default-dark .jstree-clicked{background:#5fa2db;border-radius:2px;box-shadow:inset 0 0 1px #666}.jstree-default-dark .jstree-no-icons .jstree-anchor>.jstree-themeicon{display:none}.jstree-default-dark .jstree-disabled{background:0 0;color:#666}.jstree-default-dark .jstree-disabled.jstree-hovered{background:0 0;box-shadow:none}.jstree-default-dark .jstree-disabled.jstree-clicked{background:#333}.jstree-default-dark .jstree-disabled>.jstree-icon{opacity:.8;filter:url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'jstree-grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default-dark .jstree-search{font-style:italic;color:#fff;font-weight:700}.jstree-default-dark .jstree-no-checkboxes .jstree-checkbox{display:none!important}.jstree-default-dark.jstree-checkbox-no-clicked .jstree-clicked{background:0 0;box-shadow:none}.jstree-default-dark.jstree-checkbox-no-clicked .jstree-clicked.jstree-hovered{background:#555}.jstree-default-dark.jstree-checkbox-no-clicked>.jstree-wholerow-ul .jstree-wholerow-clicked{background:0 0}.jstree-default-dark.jstree-checkbox-no-clicked>.jstree-wholerow-ul .jstree-wholerow-clicked.jstree-wholerow-hovered{background:#555}.jstree-default-dark>.jstree-striped{min-width:100%;display:inline-block;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAMAAAB/qqA+AAAABlBMVEUAAAAAAAClZ7nPAAAAAnRSTlMNAMM9s3UAAAAXSURBVHjajcEBAQAAAIKg/H/aCQZ70AUBjAATb6YPDgAAAABJRU5ErkJggg==) left top repeat}.jstree-default-dark>.jstree-wholerow-ul .jstree-hovered,.jstree-default-dark>.jstree-wholerow-ul .jstree-clicked{background:0 0;box-shadow:none;border-radius:0}.jstree-default-dark .jstree-wholerow{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.jstree-default-dark .jstree-wholerow-hovered{background:#555}.jstree-default-dark .jstree-wholerow-clicked{background:#5fa2db;background:-webkit-linear-gradient(top,#5fa2db 0,#5fa2db 100%);background:linear-gradient(to bottom,#5fa2db 0,#5fa2db 100%)}.jstree-default-dark .jstree-node{min-height:24px;line-height:24px;margin-left:24px;min-width:24px}.jstree-default-dark .jstree-anchor{line-height:24px;height:24px}.jstree-default-dark .jstree-icon{width:24px;height:24px;line-height:24px}.jstree-default-dark .jstree-icon:empty{width:24px;height:24px;line-height:24px}.jstree-default-dark.jstree-rtl .jstree-node{margin-right:24px}.jstree-default-dark .jstree-wholerow{height:24px}.jstree-default-dark .jstree-node,.jstree-default-dark .jstree-icon{background-image:url(32px.png)}.jstree-default-dark .jstree-node{background-position:-292px -4px;background-repeat:repeat-y}.jstree-default-dark .jstree-last{background:0 0}.jstree-default-dark .jstree-open>.jstree-ocl{background-position:-132px -4px}.jstree-default-dark .jstree-closed>.jstree-ocl{background-position:-100px -4px}.jstree-default-dark .jstree-leaf>.jstree-ocl{background-position:-68px -4px}.jstree-default-dark .jstree-themeicon{background-position:-260px -4px}.jstree-default-dark>.jstree-no-dots .jstree-node,.jstree-default-dark>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-dark>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-36px -4px}.jstree-default-dark>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-4px -4px}.jstree-default-dark .jstree-disabled{background:0 0}.jstree-default-dark .jstree-disabled.jstree-hovered{background:0 0}.jstree-default-dark .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default-dark .jstree-checkbox{background-position:-164px -4px}.jstree-default-dark .jstree-checkbox:hover{background-position:-164px -36px}.jstree-default-dark.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-dark .jstree-checked>.jstree-checkbox{background-position:-228px -4px}.jstree-default-dark.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-dark .jstree-checked>.jstree-checkbox:hover{background-position:-228px -36px}.jstree-default-dark .jstree-anchor>.jstree-undetermined{background-position:-196px -4px}.jstree-default-dark .jstree-anchor>.jstree-undetermined:hover{background-position:-196px -36px}.jstree-default-dark .jstree-checkbox-disabled{opacity:.8;filter:url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'jstree-grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default-dark>.jstree-striped{background-size:auto 48px}.jstree-default-dark.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==);background-position:100% 1px;background-repeat:repeat-y}.jstree-default-dark.jstree-rtl .jstree-last{background:0 0}.jstree-default-dark.jstree-rtl .jstree-open>.jstree-ocl{background-position:-132px -36px}.jstree-default-dark.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-100px -36px}.jstree-default-dark.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-68px -36px}.jstree-default-dark.jstree-rtl>.jstree-no-dots .jstree-node,.jstree-default-dark.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-dark.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-36px -36px}.jstree-default-dark.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-4px -36px}.jstree-default-dark .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-dark>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(throbber.gif) center center no-repeat}.jstree-default-dark .jstree-file{background:url(32px.png) -100px -68px no-repeat}.jstree-default-dark .jstree-folder{background:url(32px.png) -260px -4px no-repeat}.jstree-default-dark>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default-dark{line-height:24px;padding:0 4px}#jstree-dnd.jstree-default-dark .jstree-ok,#jstree-dnd.jstree-default-dark .jstree-er{background-image:url(32px.png);background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default-dark i{background:0 0;width:24px;height:24px;line-height:24px}#jstree-dnd.jstree-default-dark .jstree-ok{background-position:-4px -68px}#jstree-dnd.jstree-default-dark .jstree-er{background-position:-36px -68px}.jstree-default-dark.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==)}.jstree-default-dark.jstree-rtl .jstree-last{background:0 0}.jstree-default-dark-small .jstree-node{min-height:18px;line-height:18px;margin-left:18px;min-width:18px}.jstree-default-dark-small .jstree-anchor{line-height:18px;height:18px}.jstree-default-dark-small .jstree-icon{width:18px;height:18px;line-height:18px}.jstree-default-dark-small .jstree-icon:empty{width:18px;height:18px;line-height:18px}.jstree-default-dark-small.jstree-rtl .jstree-node{margin-right:18px}.jstree-default-dark-small .jstree-wholerow{height:18px}.jstree-default-dark-small .jstree-node,.jstree-default-dark-small .jstree-icon{background-image:url(32px.png)}.jstree-default-dark-small .jstree-node{background-position:-295px -7px;background-repeat:repeat-y}.jstree-default-dark-small .jstree-last{background:0 0}.jstree-default-dark-small .jstree-open>.jstree-ocl{background-position:-135px -7px}.jstree-default-dark-small .jstree-closed>.jstree-ocl{background-position:-103px -7px}.jstree-default-dark-small .jstree-leaf>.jstree-ocl{background-position:-71px -7px}.jstree-default-dark-small .jstree-themeicon{background-position:-263px -7px}.jstree-default-dark-small>.jstree-no-dots .jstree-node,.jstree-default-dark-small>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-dark-small>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-39px -7px}.jstree-default-dark-small>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-7px -7px}.jstree-default-dark-small .jstree-disabled{background:0 0}.jstree-default-dark-small .jstree-disabled.jstree-hovered{background:0 0}.jstree-default-dark-small .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default-dark-small .jstree-checkbox{background-position:-167px -7px}.jstree-default-dark-small .jstree-checkbox:hover{background-position:-167px -39px}.jstree-default-dark-small.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-dark-small .jstree-checked>.jstree-checkbox{background-position:-231px -7px}.jstree-default-dark-small.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-dark-small .jstree-checked>.jstree-checkbox:hover{background-position:-231px -39px}.jstree-default-dark-small .jstree-anchor>.jstree-undetermined{background-position:-199px -7px}.jstree-default-dark-small .jstree-anchor>.jstree-undetermined:hover{background-position:-199px -39px}.jstree-default-dark-small .jstree-checkbox-disabled{opacity:.8;filter:url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'jstree-grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default-dark-small>.jstree-striped{background-size:auto 36px}.jstree-default-dark-small.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==);background-position:100% 1px;background-repeat:repeat-y}.jstree-default-dark-small.jstree-rtl .jstree-last{background:0 0}.jstree-default-dark-small.jstree-rtl .jstree-open>.jstree-ocl{background-position:-135px -39px}.jstree-default-dark-small.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-103px -39px}.jstree-default-dark-small.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-71px -39px}.jstree-default-dark-small.jstree-rtl>.jstree-no-dots .jstree-node,.jstree-default-dark-small.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-dark-small.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-39px -39px}.jstree-default-dark-small.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-7px -39px}.jstree-default-dark-small .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-dark-small>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(throbber.gif) center center no-repeat}.jstree-default-dark-small .jstree-file{background:url(32px.png) -103px -71px no-repeat}.jstree-default-dark-small .jstree-folder{background:url(32px.png) -263px -7px no-repeat}.jstree-default-dark-small>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default-dark-small{line-height:18px;padding:0 4px}#jstree-dnd.jstree-default-dark-small .jstree-ok,#jstree-dnd.jstree-default-dark-small .jstree-er{background-image:url(32px.png);background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default-dark-small i{background:0 0;width:18px;height:18px;line-height:18px}#jstree-dnd.jstree-default-dark-small .jstree-ok{background-position:-7px -71px}#jstree-dnd.jstree-default-dark-small .jstree-er{background-position:-39px -71px}.jstree-default-dark-small.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAACAQMAAABv1h6PAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMHBgAAiABBI4gz9AAAAABJRU5ErkJggg==)}.jstree-default-dark-small.jstree-rtl .jstree-last{background:0 0}.jstree-default-dark-large .jstree-node{min-height:32px;line-height:32px;margin-left:32px;min-width:32px}.jstree-default-dark-large .jstree-anchor{line-height:32px;height:32px}.jstree-default-dark-large .jstree-icon{width:32px;height:32px;line-height:32px}.jstree-default-dark-large .jstree-icon:empty{width:32px;height:32px;line-height:32px}.jstree-default-dark-large.jstree-rtl .jstree-node{margin-right:32px}.jstree-default-dark-large .jstree-wholerow{height:32px}.jstree-default-dark-large .jstree-node,.jstree-default-dark-large .jstree-icon{background-image:url(32px.png)}.jstree-default-dark-large .jstree-node{background-position:-288px 0;background-repeat:repeat-y}.jstree-default-dark-large .jstree-last{background:0 0}.jstree-default-dark-large .jstree-open>.jstree-ocl{background-position:-128px 0}.jstree-default-dark-large .jstree-closed>.jstree-ocl{background-position:-96px 0}.jstree-default-dark-large .jstree-leaf>.jstree-ocl{background-position:-64px 0}.jstree-default-dark-large .jstree-themeicon{background-position:-256px 0}.jstree-default-dark-large>.jstree-no-dots .jstree-node,.jstree-default-dark-large>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-dark-large>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-32px 0}.jstree-default-dark-large>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:0 0}.jstree-default-dark-large .jstree-disabled{background:0 0}.jstree-default-dark-large .jstree-disabled.jstree-hovered{background:0 0}.jstree-default-dark-large .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default-dark-large .jstree-checkbox{background-position:-160px 0}.jstree-default-dark-large .jstree-checkbox:hover{background-position:-160px -32px}.jstree-default-dark-large.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-dark-large .jstree-checked>.jstree-checkbox{background-position:-224px 0}.jstree-default-dark-large.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-dark-large .jstree-checked>.jstree-checkbox:hover{background-position:-224px -32px}.jstree-default-dark-large .jstree-anchor>.jstree-undetermined{background-position:-192px 0}.jstree-default-dark-large .jstree-anchor>.jstree-undetermined:hover{background-position:-192px -32px}.jstree-default-dark-large .jstree-checkbox-disabled{opacity:.8;filter:url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'jstree-grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default-dark-large>.jstree-striped{background-size:auto 64px}.jstree-default-dark-large.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==);background-position:100% 1px;background-repeat:repeat-y}.jstree-default-dark-large.jstree-rtl .jstree-last{background:0 0}.jstree-default-dark-large.jstree-rtl .jstree-open>.jstree-ocl{background-position:-128px -32px}.jstree-default-dark-large.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-96px -32px}.jstree-default-dark-large.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-64px -32px}.jstree-default-dark-large.jstree-rtl>.jstree-no-dots .jstree-node,.jstree-default-dark-large.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-dark-large.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-32px -32px}.jstree-default-dark-large.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:0 -32px}.jstree-default-dark-large .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-dark-large>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(throbber.gif) center center no-repeat}.jstree-default-dark-large .jstree-file{background:url(32px.png) -96px -64px no-repeat}.jstree-default-dark-large .jstree-folder{background:url(32px.png) -256px 0 no-repeat}.jstree-default-dark-large>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default-dark-large{line-height:32px;padding:0 4px}#jstree-dnd.jstree-default-dark-large .jstree-ok,#jstree-dnd.jstree-default-dark-large .jstree-er{background-image:url(32px.png);background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default-dark-large i{background:0 0;width:32px;height:32px;line-height:32px}#jstree-dnd.jstree-default-dark-large .jstree-ok{background-position:0 -64px}#jstree-dnd.jstree-default-dark-large .jstree-er{background-position:-32px -64px}.jstree-default-dark-large.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAACAQMAAAAD0EyKAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjgIIGBgABCgCBvVLXcAAAAABJRU5ErkJggg==)}.jstree-default-dark-large.jstree-rtl .jstree-last{background:0 0}@media (max-width:768px){#jstree-dnd.jstree-dnd-responsive{line-height:40px;font-weight:700;font-size:1.1em;text-shadow:1px 1px #fff}#jstree-dnd.jstree-dnd-responsive>i{background:0 0;width:40px;height:40px}#jstree-dnd.jstree-dnd-responsive>.jstree-ok{background-image:url(40px.png);background-position:0 -200px;background-size:120px 240px}#jstree-dnd.jstree-dnd-responsive>.jstree-er{background-image:url(40px.png);background-position:-40px -200px;background-size:120px 240px}#jstree-marker.jstree-dnd-responsive{border-left-width:10px;border-top-width:10px;border-bottom-width:10px;margin-top:-10px}}@media (max-width:768px){.jstree-default-dark-responsive .jstree-icon{background-image:url(40px.png)}.jstree-default-dark-responsive .jstree-node,.jstree-default-dark-responsive .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-dark-responsive .jstree-node{min-height:40px;line-height:40px;margin-left:40px;min-width:40px;white-space:nowrap}.jstree-default-dark-responsive .jstree-anchor{line-height:40px;height:40px}.jstree-default-dark-responsive .jstree-icon,.jstree-default-dark-responsive .jstree-icon:empty{width:40px;height:40px;line-height:40px}.jstree-default-dark-responsive>.jstree-container-ul>.jstree-node{margin-left:0}.jstree-default-dark-responsive.jstree-rtl .jstree-node{margin-left:0;margin-right:40px;background:0 0}.jstree-default-dark-responsive.jstree-rtl .jstree-container-ul>.jstree-node{margin-right:0}.jstree-default-dark-responsive .jstree-ocl,.jstree-default-dark-responsive .jstree-themeicon,.jstree-default-dark-responsive .jstree-checkbox{background-size:120px 240px}.jstree-default-dark-responsive .jstree-leaf>.jstree-ocl,.jstree-default-dark-responsive.jstree-rtl .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-dark-responsive .jstree-open>.jstree-ocl{background-position:0 0!important}.jstree-default-dark-responsive .jstree-closed>.jstree-ocl{background-position:0 -40px!important}.jstree-default-dark-responsive.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-40px 0!important}.jstree-default-dark-responsive .jstree-themeicon{background-position:-40px -40px}.jstree-default-dark-responsive .jstree-checkbox,.jstree-default-dark-responsive .jstree-checkbox:hover{background-position:-40px -80px}.jstree-default-dark-responsive.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-dark-responsive.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-dark-responsive .jstree-checked>.jstree-checkbox,.jstree-default-dark-responsive .jstree-checked>.jstree-checkbox:hover{background-position:0 -80px}.jstree-default-dark-responsive .jstree-anchor>.jstree-undetermined,.jstree-default-dark-responsive .jstree-anchor>.jstree-undetermined:hover{background-position:0 -120px}.jstree-default-dark-responsive .jstree-anchor{font-weight:700;font-size:1.1em;text-shadow:1px 1px #fff}.jstree-default-dark-responsive>.jstree-striped{background:0 0}.jstree-default-dark-responsive .jstree-wholerow{border-top:1px solid #666;border-bottom:1px solid #000;background:#333;height:40px}.jstree-default-dark-responsive .jstree-wholerow-hovered{background:#555}.jstree-default-dark-responsive .jstree-wholerow-clicked{background:#5fa2db}.jstree-default-dark-responsive .jstree-children .jstree-last>.jstree-wholerow{box-shadow:inset 0 -6px 3px -5px #111}.jstree-default-dark-responsive .jstree-children .jstree-open>.jstree-wholerow{box-shadow:inset 0 6px 3px -5px #111;border-top:0}.jstree-default-dark-responsive .jstree-children .jstree-open+.jstree-open{box-shadow:none}.jstree-default-dark-responsive .jstree-node,.jstree-default-dark-responsive .jstree-icon,.jstree-default-dark-responsive .jstree-node>.jstree-ocl,.jstree-default-dark-responsive .jstree-themeicon,.jstree-default-dark-responsive .jstree-checkbox{background-image:url(40px.png);background-size:120px 240px}.jstree-default-dark-responsive .jstree-node{background-position:-80px 0;background-repeat:repeat-y}.jstree-default-dark-responsive .jstree-last{background:0 0}.jstree-default-dark-responsive .jstree-leaf>.jstree-ocl{background-position:-40px -120px}.jstree-default-dark-responsive .jstree-last>.jstree-ocl{background-position:-40px -160px}.jstree-default-dark-responsive .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-dark-responsive .jstree-file{background:url(40px.png) 0 -160px no-repeat;background-size:120px 240px}.jstree-default-dark-responsive .jstree-folder{background:url(40px.png) -40px -40px no-repeat;background-size:120px 240px}.jstree-default-dark-responsive>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}}.jstree-default-dark{background:#333}.jstree-default-dark .jstree-anchor{color:#999;text-shadow:1px 1px 0 rgba(0,0,0,.5)}.jstree-default-dark .jstree-clicked,.jstree-default-dark .jstree-checked{color:#fff}.jstree-default-dark .jstree-hovered{color:#fff}#jstree-marker.jstree-default-dark{border-left-color:#999;background:0 0}.jstree-default-dark .jstree-anchor>.jstree-icon{opacity:.75}.jstree-default-dark .jstree-clicked>.jstree-icon,.jstree-default-dark .jstree-hovered>.jstree-icon,.jstree-default-dark .jstree-checked>.jstree-icon{opacity:1}.jstree-default-dark.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAACZmZl+9SADAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==)}.jstree-default-dark.jstree-rtl .jstree-last{background:0 0}.jstree-default-dark-small.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAACAQMAAABv1h6PAAAABlBMVEUAAACZmZl+9SADAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMHBgAAiABBI4gz9AAAAABJRU5ErkJggg==)}.jstree-default-dark-small.jstree-rtl .jstree-last{background:0 0}.jstree-default-dark-large.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAACAQMAAAAD0EyKAAAABlBMVEUAAACZmZl+9SADAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjgIIGBgABCgCBvVLXcAAAAABJRU5ErkJggg==)}.jstree-default-dark-large.jstree-rtl .jstree-last{background:0 0} | |
0 | 2 | \ No newline at end of file | ... | ... |
1.68 KB
3.05 KB
1.84 KB
... | ... | @@ -0,0 +1,1068 @@ |
1 | +/* jsTree default theme */ | |
2 | +.jstree-node, | |
3 | +.jstree-children, | |
4 | +.jstree-container-ul { | |
5 | + display: block; | |
6 | + margin: 0; | |
7 | + padding: 0; | |
8 | + list-style-type: none; | |
9 | + list-style-image: none; | |
10 | +} | |
11 | +.jstree-node { | |
12 | + white-space: nowrap; | |
13 | +} | |
14 | +.jstree-anchor { | |
15 | + display: inline-block; | |
16 | + color: black; | |
17 | + white-space: nowrap; | |
18 | + padding: 0 4px 0 1px; | |
19 | + margin: 0; | |
20 | + vertical-align: top; | |
21 | +} | |
22 | +.jstree-anchor:focus { | |
23 | + outline: 0; | |
24 | +} | |
25 | +.jstree-anchor, | |
26 | +.jstree-anchor:link, | |
27 | +.jstree-anchor:visited, | |
28 | +.jstree-anchor:hover, | |
29 | +.jstree-anchor:active { | |
30 | + text-decoration: none; | |
31 | + color: inherit; | |
32 | +} | |
33 | +.jstree-icon { | |
34 | + display: inline-block; | |
35 | + text-decoration: none; | |
36 | + margin: 0; | |
37 | + padding: 0; | |
38 | + vertical-align: top; | |
39 | + text-align: center; | |
40 | +} | |
41 | +.jstree-icon:empty { | |
42 | + display: inline-block; | |
43 | + text-decoration: none; | |
44 | + margin: 0; | |
45 | + padding: 0; | |
46 | + vertical-align: top; | |
47 | + text-align: center; | |
48 | +} | |
49 | +.jstree-ocl { | |
50 | + cursor: pointer; | |
51 | +} | |
52 | +.jstree-leaf > .jstree-ocl { | |
53 | + cursor: default; | |
54 | +} | |
55 | +.jstree .jstree-open > .jstree-children { | |
56 | + display: block; | |
57 | +} | |
58 | +.jstree .jstree-closed > .jstree-children, | |
59 | +.jstree .jstree-leaf > .jstree-children { | |
60 | + display: none; | |
61 | +} | |
62 | +.jstree-anchor > .jstree-themeicon { | |
63 | + margin-right: 2px; | |
64 | +} | |
65 | +.jstree-no-icons .jstree-themeicon, | |
66 | +.jstree-anchor > .jstree-themeicon-hidden { | |
67 | + display: none; | |
68 | +} | |
69 | +.jstree-hidden, | |
70 | +.jstree-node.jstree-hidden { | |
71 | + display: none; | |
72 | +} | |
73 | +.jstree-rtl .jstree-anchor { | |
74 | + padding: 0 1px 0 4px; | |
75 | +} | |
76 | +.jstree-rtl .jstree-anchor > .jstree-themeicon { | |
77 | + margin-left: 2px; | |
78 | + margin-right: 0; | |
79 | +} | |
80 | +.jstree-rtl .jstree-node { | |
81 | + margin-left: 0; | |
82 | +} | |
83 | +.jstree-rtl .jstree-container-ul > .jstree-node { | |
84 | + margin-right: 0; | |
85 | +} | |
86 | +.jstree-wholerow-ul { | |
87 | + position: relative; | |
88 | + display: inline-block; | |
89 | + min-width: 100%; | |
90 | +} | |
91 | +.jstree-wholerow-ul .jstree-leaf > .jstree-ocl { | |
92 | + cursor: pointer; | |
93 | +} | |
94 | +.jstree-wholerow-ul .jstree-anchor, | |
95 | +.jstree-wholerow-ul .jstree-icon { | |
96 | + position: relative; | |
97 | +} | |
98 | +.jstree-wholerow-ul .jstree-wholerow { | |
99 | + width: 100%; | |
100 | + cursor: pointer; | |
101 | + position: absolute; | |
102 | + left: 0; | |
103 | + -webkit-user-select: none; | |
104 | + -moz-user-select: none; | |
105 | + -ms-user-select: none; | |
106 | + user-select: none; | |
107 | +} | |
108 | +.vakata-context { | |
109 | + display: none; | |
110 | +} | |
111 | +.vakata-context, | |
112 | +.vakata-context ul { | |
113 | + margin: 0; | |
114 | + padding: 2px; | |
115 | + position: absolute; | |
116 | + background: #f5f5f5; | |
117 | + border: 1px solid #979797; | |
118 | + box-shadow: 2px 2px 2px #999999; | |
119 | +} | |
120 | +.vakata-context ul { | |
121 | + list-style: none; | |
122 | + left: 100%; | |
123 | + margin-top: -2.7em; | |
124 | + margin-left: -4px; | |
125 | +} | |
126 | +.vakata-context .vakata-context-right ul { | |
127 | + left: auto; | |
128 | + right: 100%; | |
129 | + margin-left: auto; | |
130 | + margin-right: -4px; | |
131 | +} | |
132 | +.vakata-context li { | |
133 | + list-style: none; | |
134 | +} | |
135 | +.vakata-context li > a { | |
136 | + display: block; | |
137 | + padding: 0 2em 0 2em; | |
138 | + text-decoration: none; | |
139 | + width: auto; | |
140 | + color: black; | |
141 | + white-space: nowrap; | |
142 | + line-height: 2.4em; | |
143 | + text-shadow: 1px 1px 0 white; | |
144 | + border-radius: 1px; | |
145 | +} | |
146 | +.vakata-context li > a:hover { | |
147 | + position: relative; | |
148 | + background-color: #e8eff7; | |
149 | + box-shadow: 0 0 2px #0a6aa1; | |
150 | +} | |
151 | +.vakata-context li > a.vakata-context-parent { | |
152 | + background-image: url("data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAIORI4JlrqN1oMSnmmZDQUAOw=="); | |
153 | + background-position: right center; | |
154 | + background-repeat: no-repeat; | |
155 | +} | |
156 | +.vakata-context li > a:focus { | |
157 | + outline: 0; | |
158 | +} | |
159 | +.vakata-context .vakata-context-hover > a { | |
160 | + position: relative; | |
161 | + background-color: #e8eff7; | |
162 | + box-shadow: 0 0 2px #0a6aa1; | |
163 | +} | |
164 | +.vakata-context .vakata-context-separator > a, | |
165 | +.vakata-context .vakata-context-separator > a:hover { | |
166 | + background: white; | |
167 | + border: 0; | |
168 | + border-top: 1px solid #e2e3e3; | |
169 | + height: 1px; | |
170 | + min-height: 1px; | |
171 | + max-height: 1px; | |
172 | + padding: 0; | |
173 | + margin: 0 0 0 2.4em; | |
174 | + border-left: 1px solid #e0e0e0; | |
175 | + text-shadow: 0 0 0 transparent; | |
176 | + box-shadow: 0 0 0 transparent; | |
177 | + border-radius: 0; | |
178 | +} | |
179 | +.vakata-context .vakata-contextmenu-disabled a, | |
180 | +.vakata-context .vakata-contextmenu-disabled a:hover { | |
181 | + color: silver; | |
182 | + background-color: transparent; | |
183 | + border: 0; | |
184 | + box-shadow: 0 0 0; | |
185 | +} | |
186 | +.vakata-context li > a > i { | |
187 | + text-decoration: none; | |
188 | + display: inline-block; | |
189 | + width: 2.4em; | |
190 | + height: 2.4em; | |
191 | + background: transparent; | |
192 | + margin: 0 0 0 -2em; | |
193 | + vertical-align: top; | |
194 | + text-align: center; | |
195 | + line-height: 2.4em; | |
196 | +} | |
197 | +.vakata-context li > a > i:empty { | |
198 | + width: 2.4em; | |
199 | + line-height: 2.4em; | |
200 | +} | |
201 | +.vakata-context li > a .vakata-contextmenu-sep { | |
202 | + display: inline-block; | |
203 | + width: 1px; | |
204 | + height: 2.4em; | |
205 | + background: white; | |
206 | + margin: 0 0.5em 0 0; | |
207 | + border-left: 1px solid #e2e3e3; | |
208 | +} | |
209 | +.vakata-context .vakata-contextmenu-shortcut { | |
210 | + font-size: 0.8em; | |
211 | + color: silver; | |
212 | + opacity: 0.5; | |
213 | + display: none; | |
214 | +} | |
215 | +.vakata-context-rtl ul { | |
216 | + left: auto; | |
217 | + right: 100%; | |
218 | + margin-left: auto; | |
219 | + margin-right: -4px; | |
220 | +} | |
221 | +.vakata-context-rtl li > a.vakata-context-parent { | |
222 | + background-image: url("data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAINjI+AC7rWHIsPtmoxLAA7"); | |
223 | + background-position: left center; | |
224 | + background-repeat: no-repeat; | |
225 | +} | |
226 | +.vakata-context-rtl .vakata-context-separator > a { | |
227 | + margin: 0 2.4em 0 0; | |
228 | + border-left: 0; | |
229 | + border-right: 1px solid #e2e3e3; | |
230 | +} | |
231 | +.vakata-context-rtl .vakata-context-left ul { | |
232 | + right: auto; | |
233 | + left: 100%; | |
234 | + margin-left: -4px; | |
235 | + margin-right: auto; | |
236 | +} | |
237 | +.vakata-context-rtl li > a > i { | |
238 | + margin: 0 -2em 0 0; | |
239 | +} | |
240 | +.vakata-context-rtl li > a .vakata-contextmenu-sep { | |
241 | + margin: 0 0 0 0.5em; | |
242 | + border-left-color: white; | |
243 | + background: #e2e3e3; | |
244 | +} | |
245 | +#jstree-marker { | |
246 | + position: absolute; | |
247 | + top: 0; | |
248 | + left: 0; | |
249 | + margin: -5px 0 0 0; | |
250 | + padding: 0; | |
251 | + border-right: 0; | |
252 | + border-top: 5px solid transparent; | |
253 | + border-bottom: 5px solid transparent; | |
254 | + border-left: 5px solid; | |
255 | + width: 0; | |
256 | + height: 0; | |
257 | + font-size: 0; | |
258 | + line-height: 0; | |
259 | +} | |
260 | +#jstree-dnd { | |
261 | + line-height: 16px; | |
262 | + margin: 0; | |
263 | + padding: 4px; | |
264 | +} | |
265 | +#jstree-dnd .jstree-icon, | |
266 | +#jstree-dnd .jstree-copy { | |
267 | + display: inline-block; | |
268 | + text-decoration: none; | |
269 | + margin: 0 2px 0 0; | |
270 | + padding: 0; | |
271 | + width: 16px; | |
272 | + height: 16px; | |
273 | +} | |
274 | +#jstree-dnd .jstree-ok { | |
275 | + background: green; | |
276 | +} | |
277 | +#jstree-dnd .jstree-er { | |
278 | + background: red; | |
279 | +} | |
280 | +#jstree-dnd .jstree-copy { | |
281 | + margin: 0 2px 0 2px; | |
282 | +} | |
283 | +.jstree-default .jstree-node, | |
284 | +.jstree-default .jstree-icon { | |
285 | + background-repeat: no-repeat; | |
286 | + background-color: transparent; | |
287 | +} | |
288 | +.jstree-default .jstree-anchor, | |
289 | +.jstree-default .jstree-wholerow { | |
290 | + transition: background-color 0.15s, box-shadow 0.15s; | |
291 | +} | |
292 | +.jstree-default .jstree-hovered { | |
293 | + background: #e7f4f9; | |
294 | + border-radius: 2px; | |
295 | + box-shadow: inset 0 0 1px #cccccc; | |
296 | +} | |
297 | +.jstree-default .jstree-context { | |
298 | + background: #e7f4f9; | |
299 | + border-radius: 2px; | |
300 | + box-shadow: inset 0 0 1px #cccccc; | |
301 | +} | |
302 | +.jstree-default .jstree-clicked { | |
303 | + background: #beebff; | |
304 | + border-radius: 2px; | |
305 | + box-shadow: inset 0 0 1px #999999; | |
306 | +} | |
307 | +.jstree-default .jstree-no-icons .jstree-anchor > .jstree-themeicon { | |
308 | + display: none; | |
309 | +} | |
310 | +.jstree-default .jstree-disabled { | |
311 | + background: transparent; | |
312 | + color: #666666; | |
313 | +} | |
314 | +.jstree-default .jstree-disabled.jstree-hovered { | |
315 | + background: transparent; | |
316 | + box-shadow: none; | |
317 | +} | |
318 | +.jstree-default .jstree-disabled.jstree-clicked { | |
319 | + background: #efefef; | |
320 | +} | |
321 | +.jstree-default .jstree-disabled > .jstree-icon { | |
322 | + opacity: 0.8; | |
323 | + filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'jstree-grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#jstree-grayscale"); | |
324 | + /* Firefox 10+ */ | |
325 | + filter: gray; | |
326 | + /* IE6-9 */ | |
327 | + -webkit-filter: grayscale(100%); | |
328 | + /* Chrome 19+ & Safari 6+ */ | |
329 | +} | |
330 | +.jstree-default .jstree-search { | |
331 | + font-style: italic; | |
332 | + color: #8b0000; | |
333 | + font-weight: bold; | |
334 | +} | |
335 | +.jstree-default .jstree-no-checkboxes .jstree-checkbox { | |
336 | + display: none !important; | |
337 | +} | |
338 | +.jstree-default.jstree-checkbox-no-clicked .jstree-clicked { | |
339 | + background: transparent; | |
340 | + box-shadow: none; | |
341 | +} | |
342 | +.jstree-default.jstree-checkbox-no-clicked .jstree-clicked.jstree-hovered { | |
343 | + background: #e7f4f9; | |
344 | +} | |
345 | +.jstree-default.jstree-checkbox-no-clicked > .jstree-wholerow-ul .jstree-wholerow-clicked { | |
346 | + background: transparent; | |
347 | +} | |
348 | +.jstree-default.jstree-checkbox-no-clicked > .jstree-wholerow-ul .jstree-wholerow-clicked.jstree-wholerow-hovered { | |
349 | + background: #e7f4f9; | |
350 | +} | |
351 | +.jstree-default > .jstree-striped { | |
352 | + min-width: 100%; | |
353 | + display: inline-block; | |
354 | + background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAMAAAB/qqA+AAAABlBMVEUAAAAAAAClZ7nPAAAAAnRSTlMNAMM9s3UAAAAXSURBVHjajcEBAQAAAIKg/H/aCQZ70AUBjAATb6YPDgAAAABJRU5ErkJggg==") left top repeat; | |
355 | +} | |
356 | +.jstree-default > .jstree-wholerow-ul .jstree-hovered, | |
357 | +.jstree-default > .jstree-wholerow-ul .jstree-clicked { | |
358 | + background: transparent; | |
359 | + box-shadow: none; | |
360 | + border-radius: 0; | |
361 | +} | |
362 | +.jstree-default .jstree-wholerow { | |
363 | + -moz-box-sizing: border-box; | |
364 | + -webkit-box-sizing: border-box; | |
365 | + box-sizing: border-box; | |
366 | +} | |
367 | +.jstree-default .jstree-wholerow-hovered { | |
368 | + background: #e7f4f9; | |
369 | +} | |
370 | +.jstree-default .jstree-wholerow-clicked { | |
371 | + background: #beebff; | |
372 | + background: -webkit-linear-gradient(top, #beebff 0%, #a8e4ff 100%); | |
373 | + background: linear-gradient(to bottom, #beebff 0%, #a8e4ff 100%); | |
374 | +} | |
375 | +.jstree-default .jstree-node { | |
376 | + min-height: 24px; | |
377 | + line-height: 24px; | |
378 | + margin-left: 24px; | |
379 | + min-width: 24px; | |
380 | +} | |
381 | +.jstree-default .jstree-anchor { | |
382 | + line-height: 24px; | |
383 | + height: 24px; | |
384 | +} | |
385 | +.jstree-default .jstree-icon { | |
386 | + width: 24px; | |
387 | + height: 24px; | |
388 | + line-height: 24px; | |
389 | +} | |
390 | +.jstree-default .jstree-icon:empty { | |
391 | + width: 24px; | |
392 | + height: 24px; | |
393 | + line-height: 24px; | |
394 | +} | |
395 | +.jstree-default.jstree-rtl .jstree-node { | |
396 | + margin-right: 24px; | |
397 | +} | |
398 | +.jstree-default .jstree-wholerow { | |
399 | + height: 24px; | |
400 | +} | |
401 | +.jstree-default .jstree-node, | |
402 | +.jstree-default .jstree-icon { | |
403 | + background-image: url("32px.png"); | |
404 | +} | |
405 | +.jstree-default .jstree-node { | |
406 | + background-position: -292px -4px; | |
407 | + background-repeat: repeat-y; | |
408 | +} | |
409 | +.jstree-default .jstree-last { | |
410 | + background: transparent; | |
411 | +} | |
412 | +.jstree-default .jstree-open > .jstree-ocl { | |
413 | + background-position: -132px -4px; | |
414 | +} | |
415 | +.jstree-default .jstree-closed > .jstree-ocl { | |
416 | + background-position: -100px -4px; | |
417 | +} | |
418 | +.jstree-default .jstree-leaf > .jstree-ocl { | |
419 | + background-position: -68px -4px; | |
420 | +} | |
421 | +.jstree-default .jstree-themeicon { | |
422 | + background-position: -260px -4px; | |
423 | +} | |
424 | +.jstree-default > .jstree-no-dots .jstree-node, | |
425 | +.jstree-default > .jstree-no-dots .jstree-leaf > .jstree-ocl { | |
426 | + background: transparent; | |
427 | +} | |
428 | +.jstree-default > .jstree-no-dots .jstree-open > .jstree-ocl { | |
429 | + background-position: -36px -4px; | |
430 | +} | |
431 | +.jstree-default > .jstree-no-dots .jstree-closed > .jstree-ocl { | |
432 | + background-position: -4px -4px; | |
433 | +} | |
434 | +.jstree-default .jstree-disabled { | |
435 | + background: transparent; | |
436 | +} | |
437 | +.jstree-default .jstree-disabled.jstree-hovered { | |
438 | + background: transparent; | |
439 | +} | |
440 | +.jstree-default .jstree-disabled.jstree-clicked { | |
441 | + background: #efefef; | |
442 | +} | |
443 | +.jstree-default .jstree-checkbox { | |
444 | + background-position: -164px -4px; | |
445 | +} | |
446 | +.jstree-default .jstree-checkbox:hover { | |
447 | + background-position: -164px -36px; | |
448 | +} | |
449 | +.jstree-default.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox, | |
450 | +.jstree-default .jstree-checked > .jstree-checkbox { | |
451 | + background-position: -228px -4px; | |
452 | +} | |
453 | +.jstree-default.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox:hover, | |
454 | +.jstree-default .jstree-checked > .jstree-checkbox:hover { | |
455 | + background-position: -228px -36px; | |
456 | +} | |
457 | +.jstree-default .jstree-anchor > .jstree-undetermined { | |
458 | + background-position: -196px -4px; | |
459 | +} | |
460 | +.jstree-default .jstree-anchor > .jstree-undetermined:hover { | |
461 | + background-position: -196px -36px; | |
462 | +} | |
463 | +.jstree-default .jstree-checkbox-disabled { | |
464 | + opacity: 0.8; | |
465 | + filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'jstree-grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#jstree-grayscale"); | |
466 | + /* Firefox 10+ */ | |
467 | + filter: gray; | |
468 | + /* IE6-9 */ | |
469 | + -webkit-filter: grayscale(100%); | |
470 | + /* Chrome 19+ & Safari 6+ */ | |
471 | +} | |
472 | +.jstree-default > .jstree-striped { | |
473 | + background-size: auto 48px; | |
474 | +} | |
475 | +.jstree-default.jstree-rtl .jstree-node { | |
476 | + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg=="); | |
477 | + background-position: 100% 1px; | |
478 | + background-repeat: repeat-y; | |
479 | +} | |
480 | +.jstree-default.jstree-rtl .jstree-last { | |
481 | + background: transparent; | |
482 | +} | |
483 | +.jstree-default.jstree-rtl .jstree-open > .jstree-ocl { | |
484 | + background-position: -132px -36px; | |
485 | +} | |
486 | +.jstree-default.jstree-rtl .jstree-closed > .jstree-ocl { | |
487 | + background-position: -100px -36px; | |
488 | +} | |
489 | +.jstree-default.jstree-rtl .jstree-leaf > .jstree-ocl { | |
490 | + background-position: -68px -36px; | |
491 | +} | |
492 | +.jstree-default.jstree-rtl > .jstree-no-dots .jstree-node, | |
493 | +.jstree-default.jstree-rtl > .jstree-no-dots .jstree-leaf > .jstree-ocl { | |
494 | + background: transparent; | |
495 | +} | |
496 | +.jstree-default.jstree-rtl > .jstree-no-dots .jstree-open > .jstree-ocl { | |
497 | + background-position: -36px -36px; | |
498 | +} | |
499 | +.jstree-default.jstree-rtl > .jstree-no-dots .jstree-closed > .jstree-ocl { | |
500 | + background-position: -4px -36px; | |
501 | +} | |
502 | +.jstree-default .jstree-themeicon-custom { | |
503 | + background-color: transparent; | |
504 | + background-image: none; | |
505 | + background-position: 0 0; | |
506 | +} | |
507 | +.jstree-default > .jstree-container-ul .jstree-loading > .jstree-ocl { | |
508 | + background: url("throbber.gif") center center no-repeat; | |
509 | +} | |
510 | +.jstree-default .jstree-file { | |
511 | + background: url("32px.png") -100px -68px no-repeat; | |
512 | +} | |
513 | +.jstree-default .jstree-folder { | |
514 | + background: url("32px.png") -260px -4px no-repeat; | |
515 | +} | |
516 | +.jstree-default > .jstree-container-ul > .jstree-node { | |
517 | + margin-left: 0; | |
518 | + margin-right: 0; | |
519 | +} | |
520 | +#jstree-dnd.jstree-default { | |
521 | + line-height: 24px; | |
522 | + padding: 0 4px; | |
523 | +} | |
524 | +#jstree-dnd.jstree-default .jstree-ok, | |
525 | +#jstree-dnd.jstree-default .jstree-er { | |
526 | + background-image: url("32px.png"); | |
527 | + background-repeat: no-repeat; | |
528 | + background-color: transparent; | |
529 | +} | |
530 | +#jstree-dnd.jstree-default i { | |
531 | + background: transparent; | |
532 | + width: 24px; | |
533 | + height: 24px; | |
534 | + line-height: 24px; | |
535 | +} | |
536 | +#jstree-dnd.jstree-default .jstree-ok { | |
537 | + background-position: -4px -68px; | |
538 | +} | |
539 | +#jstree-dnd.jstree-default .jstree-er { | |
540 | + background-position: -36px -68px; | |
541 | +} | |
542 | +.jstree-default.jstree-rtl .jstree-node { | |
543 | + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg=="); | |
544 | +} | |
545 | +.jstree-default.jstree-rtl .jstree-last { | |
546 | + background: transparent; | |
547 | +} | |
548 | +.jstree-default-small .jstree-node { | |
549 | + min-height: 18px; | |
550 | + line-height: 18px; | |
551 | + margin-left: 18px; | |
552 | + min-width: 18px; | |
553 | +} | |
554 | +.jstree-default-small .jstree-anchor { | |
555 | + line-height: 18px; | |
556 | + height: 18px; | |
557 | +} | |
558 | +.jstree-default-small .jstree-icon { | |
559 | + width: 18px; | |
560 | + height: 18px; | |
561 | + line-height: 18px; | |
562 | +} | |
563 | +.jstree-default-small .jstree-icon:empty { | |
564 | + width: 18px; | |
565 | + height: 18px; | |
566 | + line-height: 18px; | |
567 | +} | |
568 | +.jstree-default-small.jstree-rtl .jstree-node { | |
569 | + margin-right: 18px; | |
570 | +} | |
571 | +.jstree-default-small .jstree-wholerow { | |
572 | + height: 18px; | |
573 | +} | |
574 | +.jstree-default-small .jstree-node, | |
575 | +.jstree-default-small .jstree-icon { | |
576 | + background-image: url("32px.png"); | |
577 | +} | |
578 | +.jstree-default-small .jstree-node { | |
579 | + background-position: -295px -7px; | |
580 | + background-repeat: repeat-y; | |
581 | +} | |
582 | +.jstree-default-small .jstree-last { | |
583 | + background: transparent; | |
584 | +} | |
585 | +.jstree-default-small .jstree-open > .jstree-ocl { | |
586 | + background-position: -135px -7px; | |
587 | +} | |
588 | +.jstree-default-small .jstree-closed > .jstree-ocl { | |
589 | + background-position: -103px -7px; | |
590 | +} | |
591 | +.jstree-default-small .jstree-leaf > .jstree-ocl { | |
592 | + background-position: -71px -7px; | |
593 | +} | |
594 | +.jstree-default-small .jstree-themeicon { | |
595 | + background-position: -263px -7px; | |
596 | +} | |
597 | +.jstree-default-small > .jstree-no-dots .jstree-node, | |
598 | +.jstree-default-small > .jstree-no-dots .jstree-leaf > .jstree-ocl { | |
599 | + background: transparent; | |
600 | +} | |
601 | +.jstree-default-small > .jstree-no-dots .jstree-open > .jstree-ocl { | |
602 | + background-position: -39px -7px; | |
603 | +} | |
604 | +.jstree-default-small > .jstree-no-dots .jstree-closed > .jstree-ocl { | |
605 | + background-position: -7px -7px; | |
606 | +} | |
607 | +.jstree-default-small .jstree-disabled { | |
608 | + background: transparent; | |
609 | +} | |
610 | +.jstree-default-small .jstree-disabled.jstree-hovered { | |
611 | + background: transparent; | |
612 | +} | |
613 | +.jstree-default-small .jstree-disabled.jstree-clicked { | |
614 | + background: #efefef; | |
615 | +} | |
616 | +.jstree-default-small .jstree-checkbox { | |
617 | + background-position: -167px -7px; | |
618 | +} | |
619 | +.jstree-default-small .jstree-checkbox:hover { | |
620 | + background-position: -167px -39px; | |
621 | +} | |
622 | +.jstree-default-small.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox, | |
623 | +.jstree-default-small .jstree-checked > .jstree-checkbox { | |
624 | + background-position: -231px -7px; | |
625 | +} | |
626 | +.jstree-default-small.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox:hover, | |
627 | +.jstree-default-small .jstree-checked > .jstree-checkbox:hover { | |
628 | + background-position: -231px -39px; | |
629 | +} | |
630 | +.jstree-default-small .jstree-anchor > .jstree-undetermined { | |
631 | + background-position: -199px -7px; | |
632 | +} | |
633 | +.jstree-default-small .jstree-anchor > .jstree-undetermined:hover { | |
634 | + background-position: -199px -39px; | |
635 | +} | |
636 | +.jstree-default-small .jstree-checkbox-disabled { | |
637 | + opacity: 0.8; | |
638 | + filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'jstree-grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#jstree-grayscale"); | |
639 | + /* Firefox 10+ */ | |
640 | + filter: gray; | |
641 | + /* IE6-9 */ | |
642 | + -webkit-filter: grayscale(100%); | |
643 | + /* Chrome 19+ & Safari 6+ */ | |
644 | +} | |
645 | +.jstree-default-small > .jstree-striped { | |
646 | + background-size: auto 36px; | |
647 | +} | |
648 | +.jstree-default-small.jstree-rtl .jstree-node { | |
649 | + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg=="); | |
650 | + background-position: 100% 1px; | |
651 | + background-repeat: repeat-y; | |
652 | +} | |
653 | +.jstree-default-small.jstree-rtl .jstree-last { | |
654 | + background: transparent; | |
655 | +} | |
656 | +.jstree-default-small.jstree-rtl .jstree-open > .jstree-ocl { | |
657 | + background-position: -135px -39px; | |
658 | +} | |
659 | +.jstree-default-small.jstree-rtl .jstree-closed > .jstree-ocl { | |
660 | + background-position: -103px -39px; | |
661 | +} | |
662 | +.jstree-default-small.jstree-rtl .jstree-leaf > .jstree-ocl { | |
663 | + background-position: -71px -39px; | |
664 | +} | |
665 | +.jstree-default-small.jstree-rtl > .jstree-no-dots .jstree-node, | |
666 | +.jstree-default-small.jstree-rtl > .jstree-no-dots .jstree-leaf > .jstree-ocl { | |
667 | + background: transparent; | |
668 | +} | |
669 | +.jstree-default-small.jstree-rtl > .jstree-no-dots .jstree-open > .jstree-ocl { | |
670 | + background-position: -39px -39px; | |
671 | +} | |
672 | +.jstree-default-small.jstree-rtl > .jstree-no-dots .jstree-closed > .jstree-ocl { | |
673 | + background-position: -7px -39px; | |
674 | +} | |
675 | +.jstree-default-small .jstree-themeicon-custom { | |
676 | + background-color: transparent; | |
677 | + background-image: none; | |
678 | + background-position: 0 0; | |
679 | +} | |
680 | +.jstree-default-small > .jstree-container-ul .jstree-loading > .jstree-ocl { | |
681 | + background: url("throbber.gif") center center no-repeat; | |
682 | +} | |
683 | +.jstree-default-small .jstree-file { | |
684 | + background: url("32px.png") -103px -71px no-repeat; | |
685 | +} | |
686 | +.jstree-default-small .jstree-folder { | |
687 | + background: url("32px.png") -263px -7px no-repeat; | |
688 | +} | |
689 | +.jstree-default-small > .jstree-container-ul > .jstree-node { | |
690 | + margin-left: 0; | |
691 | + margin-right: 0; | |
692 | +} | |
693 | +#jstree-dnd.jstree-default-small { | |
694 | + line-height: 18px; | |
695 | + padding: 0 4px; | |
696 | +} | |
697 | +#jstree-dnd.jstree-default-small .jstree-ok, | |
698 | +#jstree-dnd.jstree-default-small .jstree-er { | |
699 | + background-image: url("32px.png"); | |
700 | + background-repeat: no-repeat; | |
701 | + background-color: transparent; | |
702 | +} | |
703 | +#jstree-dnd.jstree-default-small i { | |
704 | + background: transparent; | |
705 | + width: 18px; | |
706 | + height: 18px; | |
707 | + line-height: 18px; | |
708 | +} | |
709 | +#jstree-dnd.jstree-default-small .jstree-ok { | |
710 | + background-position: -7px -71px; | |
711 | +} | |
712 | +#jstree-dnd.jstree-default-small .jstree-er { | |
713 | + background-position: -39px -71px; | |
714 | +} | |
715 | +.jstree-default-small.jstree-rtl .jstree-node { | |
716 | + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAACAQMAAABv1h6PAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMHBgAAiABBI4gz9AAAAABJRU5ErkJggg=="); | |
717 | +} | |
718 | +.jstree-default-small.jstree-rtl .jstree-last { | |
719 | + background: transparent; | |
720 | +} | |
721 | +.jstree-default-large .jstree-node { | |
722 | + min-height: 32px; | |
723 | + line-height: 32px; | |
724 | + margin-left: 32px; | |
725 | + min-width: 32px; | |
726 | +} | |
727 | +.jstree-default-large .jstree-anchor { | |
728 | + line-height: 32px; | |
729 | + height: 32px; | |
730 | +} | |
731 | +.jstree-default-large .jstree-icon { | |
732 | + width: 32px; | |
733 | + height: 32px; | |
734 | + line-height: 32px; | |
735 | +} | |
736 | +.jstree-default-large .jstree-icon:empty { | |
737 | + width: 32px; | |
738 | + height: 32px; | |
739 | + line-height: 32px; | |
740 | +} | |
741 | +.jstree-default-large.jstree-rtl .jstree-node { | |
742 | + margin-right: 32px; | |
743 | +} | |
744 | +.jstree-default-large .jstree-wholerow { | |
745 | + height: 32px; | |
746 | +} | |
747 | +.jstree-default-large .jstree-node, | |
748 | +.jstree-default-large .jstree-icon { | |
749 | + background-image: url("32px.png"); | |
750 | +} | |
751 | +.jstree-default-large .jstree-node { | |
752 | + background-position: -288px 0px; | |
753 | + background-repeat: repeat-y; | |
754 | +} | |
755 | +.jstree-default-large .jstree-last { | |
756 | + background: transparent; | |
757 | +} | |
758 | +.jstree-default-large .jstree-open > .jstree-ocl { | |
759 | + background-position: -128px 0px; | |
760 | +} | |
761 | +.jstree-default-large .jstree-closed > .jstree-ocl { | |
762 | + background-position: -96px 0px; | |
763 | +} | |
764 | +.jstree-default-large .jstree-leaf > .jstree-ocl { | |
765 | + background-position: -64px 0px; | |
766 | +} | |
767 | +.jstree-default-large .jstree-themeicon { | |
768 | + background-position: -256px 0px; | |
769 | +} | |
770 | +.jstree-default-large > .jstree-no-dots .jstree-node, | |
771 | +.jstree-default-large > .jstree-no-dots .jstree-leaf > .jstree-ocl { | |
772 | + background: transparent; | |
773 | +} | |
774 | +.jstree-default-large > .jstree-no-dots .jstree-open > .jstree-ocl { | |
775 | + background-position: -32px 0px; | |
776 | +} | |
777 | +.jstree-default-large > .jstree-no-dots .jstree-closed > .jstree-ocl { | |
778 | + background-position: 0px 0px; | |
779 | +} | |
780 | +.jstree-default-large .jstree-disabled { | |
781 | + background: transparent; | |
782 | +} | |
783 | +.jstree-default-large .jstree-disabled.jstree-hovered { | |
784 | + background: transparent; | |
785 | +} | |
786 | +.jstree-default-large .jstree-disabled.jstree-clicked { | |
787 | + background: #efefef; | |
788 | +} | |
789 | +.jstree-default-large .jstree-checkbox { | |
790 | + background-position: -160px 0px; | |
791 | +} | |
792 | +.jstree-default-large .jstree-checkbox:hover { | |
793 | + background-position: -160px -32px; | |
794 | +} | |
795 | +.jstree-default-large.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox, | |
796 | +.jstree-default-large .jstree-checked > .jstree-checkbox { | |
797 | + background-position: -224px 0px; | |
798 | +} | |
799 | +.jstree-default-large.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox:hover, | |
800 | +.jstree-default-large .jstree-checked > .jstree-checkbox:hover { | |
801 | + background-position: -224px -32px; | |
802 | +} | |
803 | +.jstree-default-large .jstree-anchor > .jstree-undetermined { | |
804 | + background-position: -192px 0px; | |
805 | +} | |
806 | +.jstree-default-large .jstree-anchor > .jstree-undetermined:hover { | |
807 | + background-position: -192px -32px; | |
808 | +} | |
809 | +.jstree-default-large .jstree-checkbox-disabled { | |
810 | + opacity: 0.8; | |
811 | + filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'jstree-grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#jstree-grayscale"); | |
812 | + /* Firefox 10+ */ | |
813 | + filter: gray; | |
814 | + /* IE6-9 */ | |
815 | + -webkit-filter: grayscale(100%); | |
816 | + /* Chrome 19+ & Safari 6+ */ | |
817 | +} | |
818 | +.jstree-default-large > .jstree-striped { | |
819 | + background-size: auto 64px; | |
820 | +} | |
821 | +.jstree-default-large.jstree-rtl .jstree-node { | |
822 | + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg=="); | |
823 | + background-position: 100% 1px; | |
824 | + background-repeat: repeat-y; | |
825 | +} | |
826 | +.jstree-default-large.jstree-rtl .jstree-last { | |
827 | + background: transparent; | |
828 | +} | |
829 | +.jstree-default-large.jstree-rtl .jstree-open > .jstree-ocl { | |
830 | + background-position: -128px -32px; | |
831 | +} | |
832 | +.jstree-default-large.jstree-rtl .jstree-closed > .jstree-ocl { | |
833 | + background-position: -96px -32px; | |
834 | +} | |
835 | +.jstree-default-large.jstree-rtl .jstree-leaf > .jstree-ocl { | |
836 | + background-position: -64px -32px; | |
837 | +} | |
838 | +.jstree-default-large.jstree-rtl > .jstree-no-dots .jstree-node, | |
839 | +.jstree-default-large.jstree-rtl > .jstree-no-dots .jstree-leaf > .jstree-ocl { | |
840 | + background: transparent; | |
841 | +} | |
842 | +.jstree-default-large.jstree-rtl > .jstree-no-dots .jstree-open > .jstree-ocl { | |
843 | + background-position: -32px -32px; | |
844 | +} | |
845 | +.jstree-default-large.jstree-rtl > .jstree-no-dots .jstree-closed > .jstree-ocl { | |
846 | + background-position: 0px -32px; | |
847 | +} | |
848 | +.jstree-default-large .jstree-themeicon-custom { | |
849 | + background-color: transparent; | |
850 | + background-image: none; | |
851 | + background-position: 0 0; | |
852 | +} | |
853 | +.jstree-default-large > .jstree-container-ul .jstree-loading > .jstree-ocl { | |
854 | + background: url("throbber.gif") center center no-repeat; | |
855 | +} | |
856 | +.jstree-default-large .jstree-file { | |
857 | + background: url("32px.png") -96px -64px no-repeat; | |
858 | +} | |
859 | +.jstree-default-large .jstree-folder { | |
860 | + background: url("32px.png") -256px 0px no-repeat; | |
861 | +} | |
862 | +.jstree-default-large > .jstree-container-ul > .jstree-node { | |
863 | + margin-left: 0; | |
864 | + margin-right: 0; | |
865 | +} | |
866 | +#jstree-dnd.jstree-default-large { | |
867 | + line-height: 32px; | |
868 | + padding: 0 4px; | |
869 | +} | |
870 | +#jstree-dnd.jstree-default-large .jstree-ok, | |
871 | +#jstree-dnd.jstree-default-large .jstree-er { | |
872 | + background-image: url("32px.png"); | |
873 | + background-repeat: no-repeat; | |
874 | + background-color: transparent; | |
875 | +} | |
876 | +#jstree-dnd.jstree-default-large i { | |
877 | + background: transparent; | |
878 | + width: 32px; | |
879 | + height: 32px; | |
880 | + line-height: 32px; | |
881 | +} | |
882 | +#jstree-dnd.jstree-default-large .jstree-ok { | |
883 | + background-position: 0px -64px; | |
884 | +} | |
885 | +#jstree-dnd.jstree-default-large .jstree-er { | |
886 | + background-position: -32px -64px; | |
887 | +} | |
888 | +.jstree-default-large.jstree-rtl .jstree-node { | |
889 | + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAACAQMAAAAD0EyKAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjgIIGBgABCgCBvVLXcAAAAABJRU5ErkJggg=="); | |
890 | +} | |
891 | +.jstree-default-large.jstree-rtl .jstree-last { | |
892 | + background: transparent; | |
893 | +} | |
894 | +@media (max-width: 768px) { | |
895 | + #jstree-dnd.jstree-dnd-responsive { | |
896 | + line-height: 40px; | |
897 | + font-weight: bold; | |
898 | + font-size: 1.1em; | |
899 | + text-shadow: 1px 1px white; | |
900 | + } | |
901 | + #jstree-dnd.jstree-dnd-responsive > i { | |
902 | + background: transparent; | |
903 | + width: 40px; | |
904 | + height: 40px; | |
905 | + } | |
906 | + #jstree-dnd.jstree-dnd-responsive > .jstree-ok { | |
907 | + background-image: url("40px.png"); | |
908 | + background-position: 0 -200px; | |
909 | + background-size: 120px 240px; | |
910 | + } | |
911 | + #jstree-dnd.jstree-dnd-responsive > .jstree-er { | |
912 | + background-image: url("40px.png"); | |
913 | + background-position: -40px -200px; | |
914 | + background-size: 120px 240px; | |
915 | + } | |
916 | + #jstree-marker.jstree-dnd-responsive { | |
917 | + border-left-width: 10px; | |
918 | + border-top-width: 10px; | |
919 | + border-bottom-width: 10px; | |
920 | + margin-top: -10px; | |
921 | + } | |
922 | +} | |
923 | +@media (max-width: 768px) { | |
924 | + .jstree-default-responsive { | |
925 | + /* | |
926 | + .jstree-open > .jstree-ocl, | |
927 | + .jstree-closed > .jstree-ocl { border-radius:20px; background-color:white; } | |
928 | + */ | |
929 | + } | |
930 | + .jstree-default-responsive .jstree-icon { | |
931 | + background-image: url("40px.png"); | |
932 | + } | |
933 | + .jstree-default-responsive .jstree-node, | |
934 | + .jstree-default-responsive .jstree-leaf > .jstree-ocl { | |
935 | + background: transparent; | |
936 | + } | |
937 | + .jstree-default-responsive .jstree-node { | |
938 | + min-height: 40px; | |
939 | + line-height: 40px; | |
940 | + margin-left: 40px; | |
941 | + min-width: 40px; | |
942 | + white-space: nowrap; | |
943 | + } | |
944 | + .jstree-default-responsive .jstree-anchor { | |
945 | + line-height: 40px; | |
946 | + height: 40px; | |
947 | + } | |
948 | + .jstree-default-responsive .jstree-icon, | |
949 | + .jstree-default-responsive .jstree-icon:empty { | |
950 | + width: 40px; | |
951 | + height: 40px; | |
952 | + line-height: 40px; | |
953 | + } | |
954 | + .jstree-default-responsive > .jstree-container-ul > .jstree-node { | |
955 | + margin-left: 0; | |
956 | + } | |
957 | + .jstree-default-responsive.jstree-rtl .jstree-node { | |
958 | + margin-left: 0; | |
959 | + margin-right: 40px; | |
960 | + background: transparent; | |
961 | + } | |
962 | + .jstree-default-responsive.jstree-rtl .jstree-container-ul > .jstree-node { | |
963 | + margin-right: 0; | |
964 | + } | |
965 | + .jstree-default-responsive .jstree-ocl, | |
966 | + .jstree-default-responsive .jstree-themeicon, | |
967 | + .jstree-default-responsive .jstree-checkbox { | |
968 | + background-size: 120px 240px; | |
969 | + } | |
970 | + .jstree-default-responsive .jstree-leaf > .jstree-ocl, | |
971 | + .jstree-default-responsive.jstree-rtl .jstree-leaf > .jstree-ocl { | |
972 | + background: transparent; | |
973 | + } | |
974 | + .jstree-default-responsive .jstree-open > .jstree-ocl { | |
975 | + background-position: 0 0px !important; | |
976 | + } | |
977 | + .jstree-default-responsive .jstree-closed > .jstree-ocl { | |
978 | + background-position: 0 -40px !important; | |
979 | + } | |
980 | + .jstree-default-responsive.jstree-rtl .jstree-closed > .jstree-ocl { | |
981 | + background-position: -40px 0px !important; | |
982 | + } | |
983 | + .jstree-default-responsive .jstree-themeicon { | |
984 | + background-position: -40px -40px; | |
985 | + } | |
986 | + .jstree-default-responsive .jstree-checkbox, | |
987 | + .jstree-default-responsive .jstree-checkbox:hover { | |
988 | + background-position: -40px -80px; | |
989 | + } | |
990 | + .jstree-default-responsive.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox, | |
991 | + .jstree-default-responsive.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox:hover, | |
992 | + .jstree-default-responsive .jstree-checked > .jstree-checkbox, | |
993 | + .jstree-default-responsive .jstree-checked > .jstree-checkbox:hover { | |
994 | + background-position: 0 -80px; | |
995 | + } | |
996 | + .jstree-default-responsive .jstree-anchor > .jstree-undetermined, | |
997 | + .jstree-default-responsive .jstree-anchor > .jstree-undetermined:hover { | |
998 | + background-position: 0 -120px; | |
999 | + } | |
1000 | + .jstree-default-responsive .jstree-anchor { | |
1001 | + font-weight: bold; | |
1002 | + font-size: 1.1em; | |
1003 | + text-shadow: 1px 1px white; | |
1004 | + } | |
1005 | + .jstree-default-responsive > .jstree-striped { | |
1006 | + background: transparent; | |
1007 | + } | |
1008 | + .jstree-default-responsive .jstree-wholerow { | |
1009 | + border-top: 1px solid rgba(255, 255, 255, 0.7); | |
1010 | + border-bottom: 1px solid rgba(64, 64, 64, 0.2); | |
1011 | + background: #ebebeb; | |
1012 | + height: 40px; | |
1013 | + } | |
1014 | + .jstree-default-responsive .jstree-wholerow-hovered { | |
1015 | + background: #e7f4f9; | |
1016 | + } | |
1017 | + .jstree-default-responsive .jstree-wholerow-clicked { | |
1018 | + background: #beebff; | |
1019 | + } | |
1020 | + .jstree-default-responsive .jstree-children .jstree-last > .jstree-wholerow { | |
1021 | + box-shadow: inset 0 -6px 3px -5px #666666; | |
1022 | + } | |
1023 | + .jstree-default-responsive .jstree-children .jstree-open > .jstree-wholerow { | |
1024 | + box-shadow: inset 0 6px 3px -5px #666666; | |
1025 | + border-top: 0; | |
1026 | + } | |
1027 | + .jstree-default-responsive .jstree-children .jstree-open + .jstree-open { | |
1028 | + box-shadow: none; | |
1029 | + } | |
1030 | + .jstree-default-responsive .jstree-node, | |
1031 | + .jstree-default-responsive .jstree-icon, | |
1032 | + .jstree-default-responsive .jstree-node > .jstree-ocl, | |
1033 | + .jstree-default-responsive .jstree-themeicon, | |
1034 | + .jstree-default-responsive .jstree-checkbox { | |
1035 | + background-image: url("40px.png"); | |
1036 | + background-size: 120px 240px; | |
1037 | + } | |
1038 | + .jstree-default-responsive .jstree-node { | |
1039 | + background-position: -80px 0; | |
1040 | + background-repeat: repeat-y; | |
1041 | + } | |
1042 | + .jstree-default-responsive .jstree-last { | |
1043 | + background: transparent; | |
1044 | + } | |
1045 | + .jstree-default-responsive .jstree-leaf > .jstree-ocl { | |
1046 | + background-position: -40px -120px; | |
1047 | + } | |
1048 | + .jstree-default-responsive .jstree-last > .jstree-ocl { | |
1049 | + background-position: -40px -160px; | |
1050 | + } | |
1051 | + .jstree-default-responsive .jstree-themeicon-custom { | |
1052 | + background-color: transparent; | |
1053 | + background-image: none; | |
1054 | + background-position: 0 0; | |
1055 | + } | |
1056 | + .jstree-default-responsive .jstree-file { | |
1057 | + background: url("40px.png") 0 -160px no-repeat; | |
1058 | + background-size: 120px 240px; | |
1059 | + } | |
1060 | + .jstree-default-responsive .jstree-folder { | |
1061 | + background: url("40px.png") -40px -40px no-repeat; | |
1062 | + background-size: 120px 240px; | |
1063 | + } | |
1064 | + .jstree-default-responsive > .jstree-container-ul > .jstree-node { | |
1065 | + margin-left: 0; | |
1066 | + margin-right: 0; | |
1067 | + } | |
1068 | +} | ... | ... |
plugins/elasticsearch/public/themes/default/style.min.css
0 → 100644
... | ... | @@ -0,0 +1 @@ |
1 | +.jstree-node,.jstree-children,.jstree-container-ul{display:block;margin:0;padding:0;list-style-type:none;list-style-image:none}.jstree-node{white-space:nowrap}.jstree-anchor{display:inline-block;color:#000;white-space:nowrap;padding:0 4px 0 1px;margin:0;vertical-align:top}.jstree-anchor:focus{outline:0}.jstree-anchor,.jstree-anchor:link,.jstree-anchor:visited,.jstree-anchor:hover,.jstree-anchor:active{text-decoration:none;color:inherit}.jstree-icon{display:inline-block;text-decoration:none;margin:0;padding:0;vertical-align:top;text-align:center}.jstree-icon:empty{display:inline-block;text-decoration:none;margin:0;padding:0;vertical-align:top;text-align:center}.jstree-ocl{cursor:pointer}.jstree-leaf>.jstree-ocl{cursor:default}.jstree .jstree-open>.jstree-children{display:block}.jstree .jstree-closed>.jstree-children,.jstree .jstree-leaf>.jstree-children{display:none}.jstree-anchor>.jstree-themeicon{margin-right:2px}.jstree-no-icons .jstree-themeicon,.jstree-anchor>.jstree-themeicon-hidden{display:none}.jstree-hidden,.jstree-node.jstree-hidden{display:none}.jstree-rtl .jstree-anchor{padding:0 1px 0 4px}.jstree-rtl .jstree-anchor>.jstree-themeicon{margin-left:2px;margin-right:0}.jstree-rtl .jstree-node{margin-left:0}.jstree-rtl .jstree-container-ul>.jstree-node{margin-right:0}.jstree-wholerow-ul{position:relative;display:inline-block;min-width:100%}.jstree-wholerow-ul .jstree-leaf>.jstree-ocl{cursor:pointer}.jstree-wholerow-ul .jstree-anchor,.jstree-wholerow-ul .jstree-icon{position:relative}.jstree-wholerow-ul .jstree-wholerow{width:100%;cursor:pointer;position:absolute;left:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vakata-context{display:none}.vakata-context,.vakata-context ul{margin:0;padding:2px;position:absolute;background:#f5f5f5;border:1px solid #979797;box-shadow:2px 2px 2px #999}.vakata-context ul{list-style:none;left:100%;margin-top:-2.7em;margin-left:-4px}.vakata-context .vakata-context-right ul{left:auto;right:100%;margin-left:auto;margin-right:-4px}.vakata-context li{list-style:none}.vakata-context li>a{display:block;padding:0 2em;text-decoration:none;width:auto;color:#000;white-space:nowrap;line-height:2.4em;text-shadow:1px 1px 0 #fff;border-radius:1px}.vakata-context li>a:hover{position:relative;background-color:#e8eff7;box-shadow:0 0 2px #0a6aa1}.vakata-context li>a.vakata-context-parent{background-image:url(data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAIORI4JlrqN1oMSnmmZDQUAOw==);background-position:right center;background-repeat:no-repeat}.vakata-context li>a:focus{outline:0}.vakata-context .vakata-context-hover>a{position:relative;background-color:#e8eff7;box-shadow:0 0 2px #0a6aa1}.vakata-context .vakata-context-separator>a,.vakata-context .vakata-context-separator>a:hover{background:#fff;border:0;border-top:1px solid #e2e3e3;height:1px;min-height:1px;max-height:1px;padding:0;margin:0 0 0 2.4em;border-left:1px solid #e0e0e0;text-shadow:0 0 0 transparent;box-shadow:0 0 0 transparent;border-radius:0}.vakata-context .vakata-contextmenu-disabled a,.vakata-context .vakata-contextmenu-disabled a:hover{color:silver;background-color:transparent;border:0;box-shadow:0 0 0}.vakata-context li>a>i{text-decoration:none;display:inline-block;width:2.4em;height:2.4em;background:0 0;margin:0 0 0 -2em;vertical-align:top;text-align:center;line-height:2.4em}.vakata-context li>a>i:empty{width:2.4em;line-height:2.4em}.vakata-context li>a .vakata-contextmenu-sep{display:inline-block;width:1px;height:2.4em;background:#fff;margin:0 .5em 0 0;border-left:1px solid #e2e3e3}.vakata-context .vakata-contextmenu-shortcut{font-size:.8em;color:silver;opacity:.5;display:none}.vakata-context-rtl ul{left:auto;right:100%;margin-left:auto;margin-right:-4px}.vakata-context-rtl li>a.vakata-context-parent{background-image:url(data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAINjI+AC7rWHIsPtmoxLAA7);background-position:left center;background-repeat:no-repeat}.vakata-context-rtl .vakata-context-separator>a{margin:0 2.4em 0 0;border-left:0;border-right:1px solid #e2e3e3}.vakata-context-rtl .vakata-context-left ul{right:auto;left:100%;margin-left:-4px;margin-right:auto}.vakata-context-rtl li>a>i{margin:0 -2em 0 0}.vakata-context-rtl li>a .vakata-contextmenu-sep{margin:0 0 0 .5em;border-left-color:#fff;background:#e2e3e3}#jstree-marker{position:absolute;top:0;left:0;margin:-5px 0 0 0;padding:0;border-right:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid;width:0;height:0;font-size:0;line-height:0}#jstree-dnd{line-height:16px;margin:0;padding:4px}#jstree-dnd .jstree-icon,#jstree-dnd .jstree-copy{display:inline-block;text-decoration:none;margin:0 2px 0 0;padding:0;width:16px;height:16px}#jstree-dnd .jstree-ok{background:green}#jstree-dnd .jstree-er{background:red}#jstree-dnd .jstree-copy{margin:0 2px}.jstree-default .jstree-node,.jstree-default .jstree-icon{background-repeat:no-repeat;background-color:transparent}.jstree-default .jstree-anchor,.jstree-default .jstree-wholerow{transition:background-color .15s,box-shadow .15s}.jstree-default .jstree-hovered{background:#e7f4f9;border-radius:2px;box-shadow:inset 0 0 1px #ccc}.jstree-default .jstree-context{background:#e7f4f9;border-radius:2px;box-shadow:inset 0 0 1px #ccc}.jstree-default .jstree-clicked{background:#beebff;border-radius:2px;box-shadow:inset 0 0 1px #999}.jstree-default .jstree-no-icons .jstree-anchor>.jstree-themeicon{display:none}.jstree-default .jstree-disabled{background:0 0;color:#666}.jstree-default .jstree-disabled.jstree-hovered{background:0 0;box-shadow:none}.jstree-default .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default .jstree-disabled>.jstree-icon{opacity:.8;filter:url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'jstree-grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default .jstree-search{font-style:italic;color:#8b0000;font-weight:700}.jstree-default .jstree-no-checkboxes .jstree-checkbox{display:none!important}.jstree-default.jstree-checkbox-no-clicked .jstree-clicked{background:0 0;box-shadow:none}.jstree-default.jstree-checkbox-no-clicked .jstree-clicked.jstree-hovered{background:#e7f4f9}.jstree-default.jstree-checkbox-no-clicked>.jstree-wholerow-ul .jstree-wholerow-clicked{background:0 0}.jstree-default.jstree-checkbox-no-clicked>.jstree-wholerow-ul .jstree-wholerow-clicked.jstree-wholerow-hovered{background:#e7f4f9}.jstree-default>.jstree-striped{min-width:100%;display:inline-block;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAMAAAB/qqA+AAAABlBMVEUAAAAAAAClZ7nPAAAAAnRSTlMNAMM9s3UAAAAXSURBVHjajcEBAQAAAIKg/H/aCQZ70AUBjAATb6YPDgAAAABJRU5ErkJggg==) left top repeat}.jstree-default>.jstree-wholerow-ul .jstree-hovered,.jstree-default>.jstree-wholerow-ul .jstree-clicked{background:0 0;box-shadow:none;border-radius:0}.jstree-default .jstree-wholerow{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.jstree-default .jstree-wholerow-hovered{background:#e7f4f9}.jstree-default .jstree-wholerow-clicked{background:#beebff;background:-webkit-linear-gradient(top,#beebff 0,#a8e4ff 100%);background:linear-gradient(to bottom,#beebff 0,#a8e4ff 100%)}.jstree-default .jstree-node{min-height:24px;line-height:24px;margin-left:24px;min-width:24px}.jstree-default .jstree-anchor{line-height:24px;height:24px}.jstree-default .jstree-icon{width:24px;height:24px;line-height:24px}.jstree-default .jstree-icon:empty{width:24px;height:24px;line-height:24px}.jstree-default.jstree-rtl .jstree-node{margin-right:24px}.jstree-default .jstree-wholerow{height:24px}.jstree-default .jstree-node,.jstree-default .jstree-icon{background-image:url(32px.png)}.jstree-default .jstree-node{background-position:-292px -4px;background-repeat:repeat-y}.jstree-default .jstree-last{background:0 0}.jstree-default .jstree-open>.jstree-ocl{background-position:-132px -4px}.jstree-default .jstree-closed>.jstree-ocl{background-position:-100px -4px}.jstree-default .jstree-leaf>.jstree-ocl{background-position:-68px -4px}.jstree-default .jstree-themeicon{background-position:-260px -4px}.jstree-default>.jstree-no-dots .jstree-node,.jstree-default>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-36px -4px}.jstree-default>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-4px -4px}.jstree-default .jstree-disabled{background:0 0}.jstree-default .jstree-disabled.jstree-hovered{background:0 0}.jstree-default .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default .jstree-checkbox{background-position:-164px -4px}.jstree-default .jstree-checkbox:hover{background-position:-164px -36px}.jstree-default.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default .jstree-checked>.jstree-checkbox{background-position:-228px -4px}.jstree-default.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default .jstree-checked>.jstree-checkbox:hover{background-position:-228px -36px}.jstree-default .jstree-anchor>.jstree-undetermined{background-position:-196px -4px}.jstree-default .jstree-anchor>.jstree-undetermined:hover{background-position:-196px -36px}.jstree-default .jstree-checkbox-disabled{opacity:.8;filter:url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'jstree-grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default>.jstree-striped{background-size:auto 48px}.jstree-default.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==);background-position:100% 1px;background-repeat:repeat-y}.jstree-default.jstree-rtl .jstree-last{background:0 0}.jstree-default.jstree-rtl .jstree-open>.jstree-ocl{background-position:-132px -36px}.jstree-default.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-100px -36px}.jstree-default.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-68px -36px}.jstree-default.jstree-rtl>.jstree-no-dots .jstree-node,.jstree-default.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-36px -36px}.jstree-default.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-4px -36px}.jstree-default .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(throbber.gif) center center no-repeat}.jstree-default .jstree-file{background:url(32px.png) -100px -68px no-repeat}.jstree-default .jstree-folder{background:url(32px.png) -260px -4px no-repeat}.jstree-default>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default{line-height:24px;padding:0 4px}#jstree-dnd.jstree-default .jstree-ok,#jstree-dnd.jstree-default .jstree-er{background-image:url(32px.png);background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default i{background:0 0;width:24px;height:24px;line-height:24px}#jstree-dnd.jstree-default .jstree-ok{background-position:-4px -68px}#jstree-dnd.jstree-default .jstree-er{background-position:-36px -68px}.jstree-default.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==)}.jstree-default.jstree-rtl .jstree-last{background:0 0}.jstree-default-small .jstree-node{min-height:18px;line-height:18px;margin-left:18px;min-width:18px}.jstree-default-small .jstree-anchor{line-height:18px;height:18px}.jstree-default-small .jstree-icon{width:18px;height:18px;line-height:18px}.jstree-default-small .jstree-icon:empty{width:18px;height:18px;line-height:18px}.jstree-default-small.jstree-rtl .jstree-node{margin-right:18px}.jstree-default-small .jstree-wholerow{height:18px}.jstree-default-small .jstree-node,.jstree-default-small .jstree-icon{background-image:url(32px.png)}.jstree-default-small .jstree-node{background-position:-295px -7px;background-repeat:repeat-y}.jstree-default-small .jstree-last{background:0 0}.jstree-default-small .jstree-open>.jstree-ocl{background-position:-135px -7px}.jstree-default-small .jstree-closed>.jstree-ocl{background-position:-103px -7px}.jstree-default-small .jstree-leaf>.jstree-ocl{background-position:-71px -7px}.jstree-default-small .jstree-themeicon{background-position:-263px -7px}.jstree-default-small>.jstree-no-dots .jstree-node,.jstree-default-small>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-small>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-39px -7px}.jstree-default-small>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-7px -7px}.jstree-default-small .jstree-disabled{background:0 0}.jstree-default-small .jstree-disabled.jstree-hovered{background:0 0}.jstree-default-small .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default-small .jstree-checkbox{background-position:-167px -7px}.jstree-default-small .jstree-checkbox:hover{background-position:-167px -39px}.jstree-default-small.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-small .jstree-checked>.jstree-checkbox{background-position:-231px -7px}.jstree-default-small.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-small .jstree-checked>.jstree-checkbox:hover{background-position:-231px -39px}.jstree-default-small .jstree-anchor>.jstree-undetermined{background-position:-199px -7px}.jstree-default-small .jstree-anchor>.jstree-undetermined:hover{background-position:-199px -39px}.jstree-default-small .jstree-checkbox-disabled{opacity:.8;filter:url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'jstree-grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default-small>.jstree-striped{background-size:auto 36px}.jstree-default-small.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==);background-position:100% 1px;background-repeat:repeat-y}.jstree-default-small.jstree-rtl .jstree-last{background:0 0}.jstree-default-small.jstree-rtl .jstree-open>.jstree-ocl{background-position:-135px -39px}.jstree-default-small.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-103px -39px}.jstree-default-small.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-71px -39px}.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-node,.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-39px -39px}.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-7px -39px}.jstree-default-small .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-small>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(throbber.gif) center center no-repeat}.jstree-default-small .jstree-file{background:url(32px.png) -103px -71px no-repeat}.jstree-default-small .jstree-folder{background:url(32px.png) -263px -7px no-repeat}.jstree-default-small>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default-small{line-height:18px;padding:0 4px}#jstree-dnd.jstree-default-small .jstree-ok,#jstree-dnd.jstree-default-small .jstree-er{background-image:url(32px.png);background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default-small i{background:0 0;width:18px;height:18px;line-height:18px}#jstree-dnd.jstree-default-small .jstree-ok{background-position:-7px -71px}#jstree-dnd.jstree-default-small .jstree-er{background-position:-39px -71px}.jstree-default-small.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAACAQMAAABv1h6PAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMHBgAAiABBI4gz9AAAAABJRU5ErkJggg==)}.jstree-default-small.jstree-rtl .jstree-last{background:0 0}.jstree-default-large .jstree-node{min-height:32px;line-height:32px;margin-left:32px;min-width:32px}.jstree-default-large .jstree-anchor{line-height:32px;height:32px}.jstree-default-large .jstree-icon{width:32px;height:32px;line-height:32px}.jstree-default-large .jstree-icon:empty{width:32px;height:32px;line-height:32px}.jstree-default-large.jstree-rtl .jstree-node{margin-right:32px}.jstree-default-large .jstree-wholerow{height:32px}.jstree-default-large .jstree-node,.jstree-default-large .jstree-icon{background-image:url(32px.png)}.jstree-default-large .jstree-node{background-position:-288px 0;background-repeat:repeat-y}.jstree-default-large .jstree-last{background:0 0}.jstree-default-large .jstree-open>.jstree-ocl{background-position:-128px 0}.jstree-default-large .jstree-closed>.jstree-ocl{background-position:-96px 0}.jstree-default-large .jstree-leaf>.jstree-ocl{background-position:-64px 0}.jstree-default-large .jstree-themeicon{background-position:-256px 0}.jstree-default-large>.jstree-no-dots .jstree-node,.jstree-default-large>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-large>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-32px 0}.jstree-default-large>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:0 0}.jstree-default-large .jstree-disabled{background:0 0}.jstree-default-large .jstree-disabled.jstree-hovered{background:0 0}.jstree-default-large .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default-large .jstree-checkbox{background-position:-160px 0}.jstree-default-large .jstree-checkbox:hover{background-position:-160px -32px}.jstree-default-large.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-large .jstree-checked>.jstree-checkbox{background-position:-224px 0}.jstree-default-large.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-large .jstree-checked>.jstree-checkbox:hover{background-position:-224px -32px}.jstree-default-large .jstree-anchor>.jstree-undetermined{background-position:-192px 0}.jstree-default-large .jstree-anchor>.jstree-undetermined:hover{background-position:-192px -32px}.jstree-default-large .jstree-checkbox-disabled{opacity:.8;filter:url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'jstree-grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default-large>.jstree-striped{background-size:auto 64px}.jstree-default-large.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==);background-position:100% 1px;background-repeat:repeat-y}.jstree-default-large.jstree-rtl .jstree-last{background:0 0}.jstree-default-large.jstree-rtl .jstree-open>.jstree-ocl{background-position:-128px -32px}.jstree-default-large.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-96px -32px}.jstree-default-large.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-64px -32px}.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-node,.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-32px -32px}.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:0 -32px}.jstree-default-large .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-large>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(throbber.gif) center center no-repeat}.jstree-default-large .jstree-file{background:url(32px.png) -96px -64px no-repeat}.jstree-default-large .jstree-folder{background:url(32px.png) -256px 0 no-repeat}.jstree-default-large>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default-large{line-height:32px;padding:0 4px}#jstree-dnd.jstree-default-large .jstree-ok,#jstree-dnd.jstree-default-large .jstree-er{background-image:url(32px.png);background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default-large i{background:0 0;width:32px;height:32px;line-height:32px}#jstree-dnd.jstree-default-large .jstree-ok{background-position:0 -64px}#jstree-dnd.jstree-default-large .jstree-er{background-position:-32px -64px}.jstree-default-large.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAACAQMAAAAD0EyKAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjgIIGBgABCgCBvVLXcAAAAABJRU5ErkJggg==)}.jstree-default-large.jstree-rtl .jstree-last{background:0 0}@media (max-width:768px){#jstree-dnd.jstree-dnd-responsive{line-height:40px;font-weight:700;font-size:1.1em;text-shadow:1px 1px #fff}#jstree-dnd.jstree-dnd-responsive>i{background:0 0;width:40px;height:40px}#jstree-dnd.jstree-dnd-responsive>.jstree-ok{background-image:url(40px.png);background-position:0 -200px;background-size:120px 240px}#jstree-dnd.jstree-dnd-responsive>.jstree-er{background-image:url(40px.png);background-position:-40px -200px;background-size:120px 240px}#jstree-marker.jstree-dnd-responsive{border-left-width:10px;border-top-width:10px;border-bottom-width:10px;margin-top:-10px}}@media (max-width:768px){.jstree-default-responsive .jstree-icon{background-image:url(40px.png)}.jstree-default-responsive .jstree-node,.jstree-default-responsive .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-responsive .jstree-node{min-height:40px;line-height:40px;margin-left:40px;min-width:40px;white-space:nowrap}.jstree-default-responsive .jstree-anchor{line-height:40px;height:40px}.jstree-default-responsive .jstree-icon,.jstree-default-responsive .jstree-icon:empty{width:40px;height:40px;line-height:40px}.jstree-default-responsive>.jstree-container-ul>.jstree-node{margin-left:0}.jstree-default-responsive.jstree-rtl .jstree-node{margin-left:0;margin-right:40px;background:0 0}.jstree-default-responsive.jstree-rtl .jstree-container-ul>.jstree-node{margin-right:0}.jstree-default-responsive .jstree-ocl,.jstree-default-responsive .jstree-themeicon,.jstree-default-responsive .jstree-checkbox{background-size:120px 240px}.jstree-default-responsive .jstree-leaf>.jstree-ocl,.jstree-default-responsive.jstree-rtl .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-responsive .jstree-open>.jstree-ocl{background-position:0 0!important}.jstree-default-responsive .jstree-closed>.jstree-ocl{background-position:0 -40px!important}.jstree-default-responsive.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-40px 0!important}.jstree-default-responsive .jstree-themeicon{background-position:-40px -40px}.jstree-default-responsive .jstree-checkbox,.jstree-default-responsive .jstree-checkbox:hover{background-position:-40px -80px}.jstree-default-responsive.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-responsive.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-responsive .jstree-checked>.jstree-checkbox,.jstree-default-responsive .jstree-checked>.jstree-checkbox:hover{background-position:0 -80px}.jstree-default-responsive .jstree-anchor>.jstree-undetermined,.jstree-default-responsive .jstree-anchor>.jstree-undetermined:hover{background-position:0 -120px}.jstree-default-responsive .jstree-anchor{font-weight:700;font-size:1.1em;text-shadow:1px 1px #fff}.jstree-default-responsive>.jstree-striped{background:0 0}.jstree-default-responsive .jstree-wholerow{border-top:1px solid rgba(255,255,255,.7);border-bottom:1px solid rgba(64,64,64,.2);background:#ebebeb;height:40px}.jstree-default-responsive .jstree-wholerow-hovered{background:#e7f4f9}.jstree-default-responsive .jstree-wholerow-clicked{background:#beebff}.jstree-default-responsive .jstree-children .jstree-last>.jstree-wholerow{box-shadow:inset 0 -6px 3px -5px #666}.jstree-default-responsive .jstree-children .jstree-open>.jstree-wholerow{box-shadow:inset 0 6px 3px -5px #666;border-top:0}.jstree-default-responsive .jstree-children .jstree-open+.jstree-open{box-shadow:none}.jstree-default-responsive .jstree-node,.jstree-default-responsive .jstree-icon,.jstree-default-responsive .jstree-node>.jstree-ocl,.jstree-default-responsive .jstree-themeicon,.jstree-default-responsive .jstree-checkbox{background-image:url(40px.png);background-size:120px 240px}.jstree-default-responsive .jstree-node{background-position:-80px 0;background-repeat:repeat-y}.jstree-default-responsive .jstree-last{background:0 0}.jstree-default-responsive .jstree-leaf>.jstree-ocl{background-position:-40px -120px}.jstree-default-responsive .jstree-last>.jstree-ocl{background-position:-40px -160px}.jstree-default-responsive .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-responsive .jstree-file{background:url(40px.png) 0 -160px no-repeat;background-size:120px 240px}.jstree-default-responsive .jstree-folder{background:url(40px.png) -40px -40px no-repeat;background-size:120px 240px}.jstree-default-responsive>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}} | |
0 | 2 | \ No newline at end of file | ... | ... |
1.68 KB
plugins/elasticsearch/test/api/elasticsearch_plugin_api_test.rb
0 → 100644
... | ... | @@ -0,0 +1,137 @@ |
1 | +require "#{File.dirname(__FILE__)}/../test_helper" | |
2 | +require_relative '../../helpers/elasticsearch_helper' | |
3 | + | |
4 | +class ElasticsearchPluginApiTest < ActiveSupport::TestCase | |
5 | + | |
6 | + include ElasticsearchTestHelper | |
7 | + include ElasticsearchHelper | |
8 | + | |
9 | + def indexed_models | |
10 | + [Person,TextArticle,UploadedFile,Community,Event] | |
11 | + end | |
12 | + | |
13 | + def create_instances | |
14 | + create_instances_environment | |
15 | + create_instances_environment2 | |
16 | + end | |
17 | + | |
18 | + def create_instances_environment2 | |
19 | + create_user "Sample User Environment 2", environment:Environment.second | |
20 | + fast_create Community, name:"Sample Community Environment 2", created_at: Date.new, environment_id: Environment.second.id | |
21 | + end | |
22 | + | |
23 | + def create_instances_environment | |
24 | + create_visible_models | |
25 | + create_private_models | |
26 | + end | |
27 | + | |
28 | + def create_visible_models | |
29 | + 7.times{ | index | create_user "person #{index}" } | |
30 | + 4.times{ | index | fast_create Community, name: "community #{index}", created_at: Date.new } | |
31 | + end | |
32 | + | |
33 | + def create_private_models | |
34 | + secret_user = create_user("Secret Person") | |
35 | + fast_update(secret_user.person, secret: true, visible: true) | |
36 | + | |
37 | + invisible_user= create_user("Invisible Person") | |
38 | + fast_update(invisible_user.person, secret: false, visible: false, public_profile: false) | |
39 | + | |
40 | + fast_create(Community, name: "secret community", secret: true, visible: true) | |
41 | + fast_create(Community, name: "invisible community", secret: false, visible: false) | |
42 | + | |
43 | + create_private_article(TextArticle,public_person: User.first.person, private_person: invisible_user.person) | |
44 | + create_private_article(UploadedFile,public_person: User.first.person, private_person: invisible_user.person) | |
45 | + create_private_article(Event,public_person: User.first.person, private_person: invisible_user.person) | |
46 | + | |
47 | + end | |
48 | + | |
49 | + def create_private_article model,options = {} | |
50 | + public_person = options[:public_person] | |
51 | + private_person = options[:private_person] | |
52 | + | |
53 | + fast_create(model, name: "#{model.to_s.underscore} not advertise", advertise: false, published: true, profile_id: public_person, created_at: Time.now) | |
54 | + fast_create(model, name: "#{model.to_s.underscore} not published", advertise: true, published: false, profile_id: public_person, created_at: Time.now) | |
55 | + fast_create(model, name: "#{model.to_s.underscore} with not visible profile", advertise: true, published: true, profile_id: private_person, created_at: Time.now) | |
56 | + fast_create(model, name: "#{model.to_s.underscore} with not public_profile", advertise: true, published: true, profile_id: private_person, created_at: Time.now) | |
57 | + end | |
58 | + | |
59 | + def create_instances | |
60 | + 5.times.each {|index| fast_create Category, name: "category#{index}", id: index+1 } | |
61 | + 7.times.each {|index| create_user "person #{index}"} | |
62 | + 4.times.each do |index| | |
63 | + community = fast_create Community, name: "community #{index}" | |
64 | + community.categories.push Category.find(index+1) | |
65 | + community.save | |
66 | + end | |
67 | + end | |
68 | + | |
69 | + should 'show all types avaliable in /search/types endpoint' do | |
70 | + get "/api/v1/search/types" | |
71 | + json = JSON.parse(last_response.body) | |
72 | + assert_equal 200, last_response.status | |
73 | + assert_equal searchable_types.stringify_keys.keys, json["types"] | |
74 | + end | |
75 | + | |
76 | + should 'respond with endpoint /search with more than 10 results' do | |
77 | + get "/api/v1/search" | |
78 | + json = JSON.parse(last_response.body) | |
79 | + assert_equal 200, last_response.status | |
80 | + assert_equal 10, json["results"].count | |
81 | + end | |
82 | + | |
83 | + should 'respond with query in downcase' do | |
84 | + get "/api/v1/search?query=person" | |
85 | + json = JSON.parse(last_response.body) | |
86 | + assert_equal 200, last_response.status | |
87 | + assert_equal 7, json["results"].count | |
88 | + end | |
89 | + | |
90 | + should 'respond with query in uppercase' do | |
91 | + get "/api/v1/search?query=PERSON" | |
92 | + json = JSON.parse(last_response.body) | |
93 | + assert_equal 200, last_response.status | |
94 | + assert_equal 7, json["results"].count | |
95 | + end | |
96 | + | |
97 | + should 'respond with selected_type' do | |
98 | + get "/api/v1/search?selected_type=community" | |
99 | + json = JSON.parse(last_response.body) | |
100 | + assert_equal 200, last_response.status | |
101 | + assert_equal 4, json["results"].count | |
102 | + end | |
103 | + | |
104 | + should 'filter person by default environment' do | |
105 | + get "/api/v1/search?selected_type=person" | |
106 | + json = JSON.parse(last_response.body) | |
107 | + assert_equal 200, last_response.status | |
108 | + assert_equal 7, json["results"].count | |
109 | + end | |
110 | + | |
111 | + should 'not show private text_article' do | |
112 | + get "/api/v1/search?selected_type=text_article" | |
113 | + json = JSON.parse(last_response.body) | |
114 | + assert_equal 200, last_response.status | |
115 | + assert_equal 7, json["results"].count | |
116 | + end | |
117 | + | |
118 | + should 'respond with only the correct categories' do | |
119 | + get "/api/v1/search?categories=1,2,3" | |
120 | + json = JSON.parse(last_response.body) | |
121 | + assert_equal 200, last_response.status | |
122 | + assert_equal 3, json["results"].count | |
123 | + end | |
124 | + | |
125 | + should 'respond with only categories from given model' do | |
126 | + get "/api/v1/search?selected_type=community&categories=1,2,3" | |
127 | + json = JSON.parse(last_response.body) | |
128 | + assert_equal 200, last_response.status | |
129 | + assert_equal 3, json["results"].count | |
130 | + | |
131 | + get "/api/v1/search?selected_type=person&categories=1,2" | |
132 | + json = JSON.parse(last_response.body) | |
133 | + assert_equal 200, last_response.status | |
134 | + assert_equal 0, json["results"].count | |
135 | + end | |
136 | + | |
137 | +end | ... | ... |
plugins/elasticsearch/test/api/elasticsearch_plugin_entities_test.rb
0 → 100644
... | ... | @@ -0,0 +1,124 @@ |
1 | +require "#{File.dirname(__FILE__)}/../test_helper" | |
2 | + | |
3 | +class ElasticsearchPluginEntitiesTest < ActiveSupport::TestCase | |
4 | + | |
5 | + include ElasticsearchTestHelper | |
6 | + | |
7 | + def indexed_models | |
8 | + [Person,TextArticle,UploadedFile,Community,Event] | |
9 | + end | |
10 | + | |
11 | + def create_instances | |
12 | + user = create_user "sample person", environment_id: 1 | |
13 | + | |
14 | + fast_create Community, name: "sample community", created_at: 10.days.ago,updated_at: 5.days.ago, environment_id: 1 | |
15 | + | |
16 | + fast_create UploadedFile, name: "sample uploadedfile", created_at: 3.days.ago, updated_at: 1.days.ago, author_id: user.person.id, abstract: "sample abstract", profile_id: user.person.id | |
17 | + fast_create Event, name: "sample event", created_at: 20.days.ago, updated_at: 5.days.ago, author_id: user.person.id, abstract: "sample abstract", profile_id: user.person.id | |
18 | + fast_create RawHTMLArticle, name: "sample raw html article", created_at: 15.days.ago ,updated_at: 5.days.ago, author_id: user.person.id, profile_id: user.person.id | |
19 | + fast_create TinyMceArticle, name: "sample tiny mce article", created_at: 5.days.ago, updated_at: 5.days.ago, author_id: user.person.id, profile_id: user.person.id | |
20 | + end | |
21 | + | |
22 | + should 'show attributes from person' do | |
23 | + params = {:selected_type => "person" } | |
24 | + get "/api/v1/search?#{params.to_query}" | |
25 | + json= JSON.parse(last_response.body) | |
26 | + | |
27 | + expected_person = Person.find_by name: "sample person" | |
28 | + | |
29 | + assert_equal 200, last_response.status | |
30 | + assert_equal expected_person.id, json['results'][0]['id'] | |
31 | + assert_equal expected_person.name, json['results'][0]['name'] | |
32 | + assert_equal expected_person.type, json['results'][0]['type'] | |
33 | + assert_equal "", json['results'][0]['description'] | |
34 | + assert_equal expected_person.created_at.strftime("%Y/%m/%d %H:%M:%S"), json['results'][0]['created_at'] | |
35 | + assert_equal expected_person.updated_at.strftime("%Y/%m/%d %H:%M:%S"), json['results'][0]['updated_at'] | |
36 | + end | |
37 | + | |
38 | + | |
39 | + should 'show attributes from community' do | |
40 | + params = {:selected_type => "community" } | |
41 | + get "/api/v1/search?#{params.to_query}" | |
42 | + json= JSON.parse(last_response.body) | |
43 | + | |
44 | + expected_community = Community.find_by name: "sample community" | |
45 | + | |
46 | + assert_equal 200, last_response.status | |
47 | + | |
48 | + assert_equal expected_community.id, json['results'][0]['id'] | |
49 | + assert_equal expected_community.name, json['results'][0]['name'] | |
50 | + assert_equal expected_community.type, json['results'][0]['type'] | |
51 | + assert_equal "", json['results'][0]['description'] | |
52 | + assert_equal expected_community.created_at.strftime("%Y/%m/%d %H:%M:%S"), json['results'][0]['created_at'] | |
53 | + assert_equal expected_community.updated_at.strftime("%Y/%m/%d %H:%M:%S"), json['results'][0]['updated_at'] | |
54 | + end | |
55 | + | |
56 | + should 'show attributes from text_article' do | |
57 | + params = {:selected_type => "text_article" } | |
58 | + get "/api/v1/search?#{params.to_query}" | |
59 | + | |
60 | + json= JSON.parse(last_response.body) | |
61 | + | |
62 | + assert_equal 200, last_response.status | |
63 | + | |
64 | + expected_text_articles = TextArticle.all | |
65 | + | |
66 | + expected_text_articles.each_with_index {|object,index| | |
67 | + assert_equal object.id, json['results'][index]['id'] | |
68 | + assert_equal object.name, json['results'][index]['name'] | |
69 | + assert_equal "TextArticle", json['results'][index]['type'] | |
70 | + | |
71 | + expected_author = (object.author.nil?) ? "" : object.author.name | |
72 | + | |
73 | + assert_equal expected_author, json['results'][index]['author'] | |
74 | + assert_equal object.created_at.strftime("%Y/%m/%d %H:%M:%S"), json['results'][index]['created_at'] | |
75 | + assert_equal object.updated_at.strftime("%Y/%m/%d %H:%M:%S"), json['results'][index]['updated_at'] | |
76 | + } | |
77 | + end | |
78 | + | |
79 | + should 'show attributes from uploaded_file' do | |
80 | + params = {:selected_type => "uploaded_file"} | |
81 | + get "/api/v1/search?#{params.to_query}" | |
82 | + | |
83 | + json= JSON.parse(last_response.body) | |
84 | + | |
85 | + assert_equal 200, last_response.status | |
86 | + | |
87 | + expected_uploaded_files = UploadedFile.all | |
88 | + expected_uploaded_files.each_with_index {|object,index| | |
89 | + assert_equal object.id, json['results'][index]['id'] | |
90 | + assert_equal object.name, json['results'][index]['name'] | |
91 | + assert_equal object.abstract, json['results'][index]['abstract'] | |
92 | + assert_equal "UploadedFile", json['results'][index]['type'] | |
93 | + | |
94 | + expected_author = (object.author.nil?) ? "" : object.author.name | |
95 | + assert_equal expected_author, json['results'][index]['author'] | |
96 | + | |
97 | + assert_equal object.created_at.strftime("%Y/%m/%d %H:%M:%S"), json['results'][index]['created_at'] | |
98 | + assert_equal object.updated_at.strftime("%Y/%m/%d %H:%M:%S"), json['results'][index]['updated_at'] | |
99 | + } | |
100 | + end | |
101 | + | |
102 | + should 'show attributes from event' do | |
103 | + params = {:selected_type => "event"} | |
104 | + get "/api/v1/search?#{params.to_query}" | |
105 | + | |
106 | + json= JSON.parse(last_response.body) | |
107 | + | |
108 | + assert_equal 200, last_response.status | |
109 | + expected_events = Event.all | |
110 | + expected_events.each_with_index {|object,index| | |
111 | + assert_equal object.id, json['results'][index]['id'] | |
112 | + assert_equal object.name, json['results'][index]['name'] | |
113 | + assert_equal object.abstract, json['results'][index]['abstract'] | |
114 | + assert_equal "Event", json['results'][index]['type'] | |
115 | + | |
116 | + expected_author = (object.author.nil?) ? "" : object.author.name | |
117 | + assert_equal expected_author, json['results'][index]['author'] | |
118 | + | |
119 | + assert_equal object.created_at.strftime("%Y/%m/%d %H:%M:%S"), json['results'][index]['created_at'] | |
120 | + assert_equal object.updated_at.strftime("%Y/%m/%d %H:%M:%S"), json['results'][index]['updated_at'] | |
121 | + } | |
122 | + end | |
123 | + | |
124 | +end | ... | ... |
plugins/elasticsearch/test/functional/elasticsearch_plugin_controller_test.rb
0 → 100644
... | ... | @@ -0,0 +1,190 @@ |
1 | +require "#{File.dirname(__FILE__)}/../test_helper" | |
2 | + | |
3 | +class ElasticsearchPluginControllerTest < ActionController::TestCase | |
4 | + | |
5 | + include ElasticsearchTestHelper | |
6 | + | |
7 | + def indexed_models | |
8 | + [Person,TextArticle,UploadedFile,Community,Event] | |
9 | + end | |
10 | + | |
11 | + def create_instances | |
12 | + create_instances_environment | |
13 | + create_instances_environment2 | |
14 | + end | |
15 | + | |
16 | + def create_instances_environment2 | |
17 | + create_user "Sample User Environment 2", environment:Environment.second | |
18 | + fast_create Community, name:"Sample Community Environment 2", created_at: Date.new, environment_id: Environment.second.id | |
19 | + end | |
20 | + | |
21 | + def create_instances_environment | |
22 | + create_visible_models | |
23 | + create_private_models | |
24 | + end | |
25 | + | |
26 | + def create_visible_models | |
27 | + categories = [] | |
28 | + 5.times do | index | | |
29 | + categories[index] = fast_create Category, name: "Category#{index}", id: index+1 | |
30 | + create_user "person #{index}" | |
31 | + end | |
32 | + | |
33 | + 6.times do | index | | |
34 | + community = fast_create Community, name: "community #{index}", created_at: Date.new | |
35 | + if categories[index] | |
36 | + community.categories.push categories[index] | |
37 | + community.save | |
38 | + end | |
39 | + end | |
40 | + end | |
41 | + | |
42 | + def create_private_models | |
43 | + secret_user = create_user("Secret Person") | |
44 | + fast_update(secret_user.person, secret: true, visible: true) | |
45 | + | |
46 | + invisible_user= create_user("Invisible Person") | |
47 | + fast_update(invisible_user.person, secret: false, visible: false, public_profile: false) | |
48 | + | |
49 | + fast_create(Community, name: "secret community", secret: true, visible: true) | |
50 | + fast_create(Community, name: "invisible community", secret: false, visible: false) | |
51 | + | |
52 | + create_private_article(TextArticle,public_person: User.first.person, private_person: invisible_user.person) | |
53 | + create_private_article(UploadedFile,public_person: User.first.person, private_person: invisible_user.person) | |
54 | + create_private_article(Event,public_person: User.first.person, private_person: invisible_user.person) | |
55 | + end | |
56 | + | |
57 | + def create_private_article model,options = {} | |
58 | + public_person = options[:public_person] | |
59 | + private_person = options[:private_person] | |
60 | + | |
61 | + fast_create(model, name: "#{model.to_s.underscore} not advertise", advertise: false, published: true, profile_id: public_person, created_at: Time.now) | |
62 | + fast_create(model, name: "#{model.to_s.underscore} not published", advertise: true, published: false, profile_id: public_person, created_at: Time.now) | |
63 | + fast_create(model, name: "#{model.to_s.underscore} with not visible profile", advertise: true, published: true, profile_id: private_person, created_at: Time.now) | |
64 | + fast_create(model, name: "#{model.to_s.underscore} with not public_profile", advertise: true, published: true, profile_id: private_person, created_at: Time.now) | |
65 | + end | |
66 | + | |
67 | + | |
68 | + should 'work and uses control filter variables' do | |
69 | + get :index | |
70 | + assert_response :success | |
71 | + assert_not_nil assigns(:searchable_types) | |
72 | + assert_not_nil assigns(:selected_type) | |
73 | + assert_not_nil assigns(:sort_types) | |
74 | + assert_not_nil assigns(:selected_sort) | |
75 | + end | |
76 | + | |
77 | + should 'return 10 results if selected_type is nil and query is nil' do | |
78 | + get :index | |
79 | + assert_response :success | |
80 | + assert_select ".search-item" , 10 | |
81 | + end | |
82 | + | |
83 | + should 'render pagination if results has more than 10' do | |
84 | + get :index | |
85 | + assert_response :success | |
86 | + assert_select ".pagination", 1 | |
87 | + end | |
88 | + | |
89 | + should 'return results filtered by selected_type' do | |
90 | + get :index, { 'selected_type' => :community} | |
91 | + assert_response :success | |
92 | + assert_select ".search-item", 6 | |
93 | + assert_template partial: '_community_display' | |
94 | + end | |
95 | + | |
96 | + should 'return results filtered by query' do | |
97 | + get :index, { 'query' => "person"} | |
98 | + assert_response :success | |
99 | + assert_select ".search-item", 5 | |
100 | + assert_template partial: '_person_display' | |
101 | + end | |
102 | + | |
103 | + should 'return results filtered by query with uppercase' do | |
104 | + get :index, {'query' => "PERSON 1"} | |
105 | + assert_response :success | |
106 | + assert_template partial: '_person_display' | |
107 | + assert_tag(tag: "div", attributes: { class: "person-item" } , descendant: { tag: "a", child: "person 1"} ) | |
108 | + end | |
109 | + | |
110 | + should 'return results filtered by query with downcase' do | |
111 | + get :index, {'query' => "person 1"} | |
112 | + assert_response :success | |
113 | + assert_tag(tag: "div", attributes: { class: "person-item" } , descendant: { tag: "a", child: "person 1"} ) | |
114 | + end | |
115 | + | |
116 | + should 'return new community indexed' do | |
117 | + get :index, { "selected_type" => :community} | |
118 | + assert_response :success | |
119 | + assert_select ".search-item", 6 | |
120 | + | |
121 | + fast_create Community, name: "community #{7}", created_at: Date.new | |
122 | + Community.import | |
123 | + sleep 2 | |
124 | + | |
125 | + get :index, { "selected_type" => :community} | |
126 | + assert_response :success | |
127 | + assert_select ".search-item", 7 | |
128 | + end | |
129 | + | |
130 | + should 'not return community deleted' do | |
131 | + get :index, { "selected_type" => :community} | |
132 | + assert_response :success | |
133 | + assert_select ".search-item", 6 | |
134 | + | |
135 | + Community.first.delete | |
136 | + Community.import | |
137 | + sleep 2 | |
138 | + | |
139 | + get :index, { "selected_type" => :community} | |
140 | + assert_response :success | |
141 | + assert_select ".search-item", 5 | |
142 | + end | |
143 | + | |
144 | + should 'redirect to elasticsearch plugin when request are send to core' do | |
145 | + @controller = SearchController.new | |
146 | + get 'index' | |
147 | + params = {:action => 'index', :controller => 'search'} | |
148 | + assert_redirected_to controller: 'elasticsearch_plugin', action: 'search', params: params | |
149 | + end | |
150 | + | |
151 | + should 'filter community by default environment' do | |
152 | + get :index, { "selected_type" => :community} | |
153 | + assert_response :success | |
154 | + assert_select ".search-item", 6 | |
155 | + end | |
156 | + | |
157 | + should 'filter person by default environment' do | |
158 | + get :index, { "selected_type" => :person} | |
159 | + assert_response :success | |
160 | + assert_select ".search-item", 5 | |
161 | + end | |
162 | + | |
163 | + should 'not show private text_article' do | |
164 | + get :index, { :selected_type => "text_article" } | |
165 | + assert_response :success | |
166 | + assert_select ".search-item", 6 | |
167 | + end | |
168 | + | |
169 | + should 'not show private uploaded_file' do | |
170 | + get :index, { :selected_type => "uploaded_file" } | |
171 | + assert_response :success | |
172 | + assert_select ".search-item", 0 | |
173 | + end | |
174 | + | |
175 | + should 'not show private event' do | |
176 | + get :index, { :selected_type => "event" } | |
177 | + assert_response :success | |
178 | + assert_select ".search-item", 0 | |
179 | + end | |
180 | + | |
181 | + should 'filter by selected categories' do | |
182 | + get :index, { "categories" => "1,2,3" } | |
183 | + assert_response :success | |
184 | + assert_select ".search-item", 3 | |
185 | + get :index, { "categories" => "5" } | |
186 | + assert_response :success | |
187 | + assert_select ".search-item", 1 | |
188 | + end | |
189 | + | |
190 | +end | ... | ... |
... | ... | @@ -0,0 +1,39 @@ |
1 | +require 'test_helper' | |
2 | +require_relative '../../../test/api/test_helper.rb' | |
3 | + | |
4 | +module ElasticsearchTestHelper | |
5 | + | |
6 | + def setup | |
7 | + setup_environment | |
8 | + create_instances | |
9 | + import_instancies | |
10 | + end | |
11 | + | |
12 | + def create_instances | |
13 | + end | |
14 | + | |
15 | + def teardown | |
16 | + end | |
17 | + | |
18 | + def import_instancies | |
19 | + indexed_models.each {|model| | |
20 | + model.__elasticsearch__.create_index! force: true | |
21 | + model.import | |
22 | + } | |
23 | + sleep 3 | |
24 | + end | |
25 | + | |
26 | + def setup_environment | |
27 | + @environment = Environment.default | |
28 | + @environment.enable_plugin(ElasticsearchPlugin) | |
29 | + end | |
30 | + | |
31 | + def indexed_models | |
32 | + [] | |
33 | + end | |
34 | + | |
35 | + def indexed_fields model | |
36 | + model.mappings.to_hash[model.name.underscore.to_sym][:properties] | |
37 | + end | |
38 | + | |
39 | +end | ... | ... |
... | ... | @@ -0,0 +1,46 @@ |
1 | +require "#{File.dirname(__FILE__)}/../test_helper" | |
2 | + | |
3 | +class CommunityTest < ActiveSupport::TestCase | |
4 | + | |
5 | + include ElasticsearchTestHelper | |
6 | + | |
7 | + def indexed_models | |
8 | + [Community] | |
9 | + end | |
10 | + | |
11 | + should 'index searchable fields for Community model' do | |
12 | + Community::SEARCHABLE_FIELDS.each do |key, value| | |
13 | + assert_includes indexed_fields(Community), key | |
14 | + end | |
15 | + end | |
16 | + | |
17 | + should 'index control fields for Community model' do | |
18 | + Community::control_fields.each do |key, value| | |
19 | + assert_includes indexed_fields(Community), key | |
20 | + assert_equal indexed_fields(Community)[key][:type], value[:type] || 'string' | |
21 | + end | |
22 | + end | |
23 | + | |
24 | + should 'respond with should method to return public community' do | |
25 | + assert Community.respond_to? :should | |
26 | + end | |
27 | + | |
28 | + should 'respond with specific sort' do | |
29 | + assert Community.respond_to? :specific_sort | |
30 | + end | |
31 | + | |
32 | + should 'respond with get_sort_by to order specific sort' do | |
33 | + assert Community.respond_to? :get_sort_by | |
34 | + end | |
35 | + | |
36 | + should 'return hash to sort by more_active' do | |
37 | + more_active_hash = {:activities_count => {order: :desc}} | |
38 | + assert_equal more_active_hash, Community.get_sort_by(:more_active) | |
39 | + end | |
40 | + | |
41 | + should 'return hash to sort by more_popular' do | |
42 | + more_popular_hash = {:members_count => {order: :desc}} | |
43 | + assert_equal more_popular_hash, Community.get_sort_by(:more_popular) | |
44 | + end | |
45 | + | |
46 | +end | ... | ... |
plugins/elasticsearch/test/unit/elasticsearch_helper_test.rb
0 → 100644
... | ... | @@ -0,0 +1,80 @@ |
1 | +require "#{File.dirname(__FILE__)}/../test_helper" | |
2 | +require_relative '../../helpers/elasticsearch_helper.rb' | |
3 | + | |
4 | +class ElasticsearchHelperTest < ActiveSupport::TestCase | |
5 | + | |
6 | + include ElasticsearchTestHelper | |
7 | + include ElasticsearchHelper | |
8 | + | |
9 | + attr_accessor :params | |
10 | + | |
11 | + def indexed_models | |
12 | + [Person,TextArticle,UploadedFile,Community,Event] | |
13 | + end | |
14 | + | |
15 | + def create_instances | |
16 | + create_user "Jose Abreu" | |
17 | + create_user "Joana Abreu" | |
18 | + create_user "Joao Abreu" | |
19 | + create_user "Ana Abreu" | |
20 | + end | |
21 | + | |
22 | + should 'return default_per_page when nil is passed' do | |
23 | + assert_not_nil default_per_page nil | |
24 | + assert_equal 10, default_per_page(nil) | |
25 | + end | |
26 | + | |
27 | + should 'return default_per_page when per_page is passed' do | |
28 | + assert_equal 15, default_per_page(15) | |
29 | + end | |
30 | + | |
31 | + should 'have indexed_models in searchable_models' do | |
32 | + assert_equivalent indexed_models, searchable_models | |
33 | + end | |
34 | + | |
35 | + should 'return fields from models using weight' do | |
36 | + class StubClass | |
37 | + SEARCHABLE_FIELDS = {:name => {:weight => 10}, | |
38 | + :login => {:weight => 20}, | |
39 | + :description => {:weight => 2}} | |
40 | + end | |
41 | + | |
42 | + expected = ["name^10", "login^20", "description^2"] | |
43 | + assert_equivalent expected, fields_from_models([StubClass]) | |
44 | + end | |
45 | + | |
46 | + should 'search from model Person sorted by Alphabetic' do | |
47 | + self.params= {:selected_type => 'person', | |
48 | + :filter => 'lexical', | |
49 | + :query => "Abreu", | |
50 | + :per_page => 4} | |
51 | + | |
52 | + result = process_results | |
53 | + assert_equal ["Ana Abreu","Joana Abreu","Joao Abreu","Jose Abreu"], result.map(&:name) | |
54 | + end | |
55 | + | |
56 | + should 'search from model Person sorted by More Recent' do | |
57 | + self.params= {:selected_type => 'person', | |
58 | + :filter => 'more_recent', | |
59 | + :query => 'ABREU', | |
60 | + :per_page => 4} | |
61 | + | |
62 | + result = process_results | |
63 | + assert_equal ["Ana Abreu","Joao Abreu","Joana Abreu","Jose Abreu"], result.map(&:name) | |
64 | + end | |
65 | + | |
66 | + should 'search from model Person sorted by Relevance' do | |
67 | + self.params= {:selected_type => 'person', | |
68 | + :query => 'JOA BREU', | |
69 | + :per_page => 4} | |
70 | + | |
71 | + result = process_results | |
72 | + assert_equal ["Joana Abreu", "Joao Abreu"], result.map(&:name) | |
73 | + end | |
74 | + | |
75 | + should 'have sort in get_query return if has the option sort_by ' do | |
76 | + self.params= {} | |
77 | + assert get_query("", sort_by: :more_popular).keys.include?(:sort) | |
78 | + end | |
79 | + | |
80 | +end | ... | ... |
... | ... | @@ -0,0 +1,9 @@ |
1 | +require "#{File.dirname(__FILE__)}/../test_helper" | |
2 | + | |
3 | +class ElasticsearchTest < ActionController::TestCase | |
4 | + | |
5 | + should 'be return yellow for health status' do | |
6 | + cluster = Elasticsearch::Model.client.cluster | |
7 | + assert_equal 'yellow', cluster.health["status"] | |
8 | + end | |
9 | +end | ... | ... |
... | ... | @@ -0,0 +1,37 @@ |
1 | +require "#{File.dirname(__FILE__)}/../test_helper" | |
2 | +require_relative '../../lib/nested_helper/profile' | |
3 | + | |
4 | +class EventTest < ActionController::TestCase | |
5 | + | |
6 | + include ElasticsearchTestHelper | |
7 | + | |
8 | + def indexed_models | |
9 | + [Event] | |
10 | + end | |
11 | + | |
12 | + should 'index searchable fields for Event model' do | |
13 | + Event::SEARCHABLE_FIELDS.each do |key, value| | |
14 | + assert_includes indexed_fields(Event), key | |
15 | + end | |
16 | + end | |
17 | + | |
18 | + should 'index control fields for Event model' do | |
19 | + Event::control_fields.each do |key, value| | |
20 | + assert_includes indexed_fields(Event), key | |
21 | + assert_equal indexed_fields(Event)[key][:type], value[:type] || 'string' | |
22 | + end | |
23 | + end | |
24 | + | |
25 | + should 'respond with should method to return public event' do | |
26 | + assert Event.respond_to? :should | |
27 | + end | |
28 | + | |
29 | + should 'respond with nested_filter' do | |
30 | + assert Event.respond_to? :nested_filter | |
31 | + end | |
32 | + | |
33 | + should 'have NestedProfile_filter in nested_filter' do | |
34 | + assert Event.nested_filter.include? NestedProfile.filter | |
35 | + end | |
36 | + | |
37 | +end | ... | ... |
... | ... | @@ -0,0 +1,45 @@ |
1 | +require "#{File.dirname(__FILE__)}/../test_helper" | |
2 | + | |
3 | +class PersonTest < ActionController::TestCase | |
4 | + | |
5 | + include ElasticsearchTestHelper | |
6 | + | |
7 | + def indexed_models | |
8 | + [Person] | |
9 | + end | |
10 | + | |
11 | + should 'index searchable fields for Person model' do | |
12 | + Person::SEARCHABLE_FIELDS.each do |key, value| | |
13 | + assert_includes indexed_fields(Person), key | |
14 | + end | |
15 | + end | |
16 | + | |
17 | + should 'index control fields for Person model' do | |
18 | + Person::control_fields.each do |key, value| | |
19 | + assert_includes indexed_fields(Person), key | |
20 | + assert_equal indexed_fields(Person)[key][:type], value[:type] || 'string' | |
21 | + end | |
22 | + end | |
23 | + | |
24 | + should 'respond with should method to return public person' do | |
25 | + assert Person.respond_to? :should | |
26 | + end | |
27 | + | |
28 | + should 'respond with specific sort' do | |
29 | + assert Person.respond_to? :specific_sort | |
30 | + end | |
31 | + | |
32 | + should 'respond with get_sort_by to order specific sort' do | |
33 | + assert Person.respond_to? :get_sort_by | |
34 | + end | |
35 | + | |
36 | + should 'return hash to sort by more_active' do | |
37 | + more_active_hash = {:activities_count => {order: :desc}} | |
38 | + assert_equal more_active_hash, Person.get_sort_by(:more_active) | |
39 | + end | |
40 | + | |
41 | + should 'return hash to sort by more_popular' do | |
42 | + more_popular_hash = {:friends_count => {order: :desc}} | |
43 | + assert_equal more_popular_hash, Person.get_sort_by(:more_popular) | |
44 | + end | |
45 | +end | ... | ... |
... | ... | @@ -0,0 +1,55 @@ |
1 | +require "#{File.dirname(__FILE__)}/../test_helper" | |
2 | +require_relative '../../lib/nested_helper/profile' | |
3 | + | |
4 | +class TextArticleTest < ActionController::TestCase | |
5 | + | |
6 | + include ElasticsearchTestHelper | |
7 | + | |
8 | + def indexed_models | |
9 | + [TextArticle] | |
10 | + end | |
11 | + | |
12 | + should 'index searchable fields for TextArticle model' do | |
13 | + TextArticle::SEARCHABLE_FIELDS.each do |key, value| | |
14 | + assert_includes indexed_fields(TextArticle), key | |
15 | + end | |
16 | + end | |
17 | + | |
18 | + should 'index control fields for TextArticle model' do | |
19 | + TextArticle::control_fields.each do |key, value| | |
20 | + assert_includes indexed_fields(TextArticle), key | |
21 | + assert_equal indexed_fields(TextArticle)[key][:type], value[:type] || 'string' | |
22 | + end | |
23 | + end | |
24 | + | |
25 | + should 'respond with should method to return public text_article' do | |
26 | + assert TextArticle.respond_to? :should | |
27 | + end | |
28 | + | |
29 | + should 'respond with specific sort' do | |
30 | + assert TextArticle.respond_to? :specific_sort | |
31 | + end | |
32 | + | |
33 | + should 'respond with get_sort_by to order specific sort' do | |
34 | + assert TextArticle.respond_to? :get_sort_by | |
35 | + end | |
36 | + | |
37 | + should 'return hash to sort by most commented' do | |
38 | + more_active_hash = {:comments_count => {order: :desc}} | |
39 | + assert_equal more_active_hash, TextArticle.get_sort_by(:more_comments) | |
40 | + end | |
41 | + | |
42 | + should 'return hash to sort by more popular' do | |
43 | + more_popular_hash = {:hits => {order: :desc}} | |
44 | + assert_equal more_popular_hash, TextArticle.get_sort_by(:more_popular) | |
45 | + end | |
46 | + | |
47 | + should 'respond with nested_filter' do | |
48 | + assert TextArticle.respond_to? :nested_filter | |
49 | + end | |
50 | + | |
51 | + should 'have NestedProfile_filter in nested_filter' do | |
52 | + assert TextArticle.nested_filter.include? NestedProfile.filter | |
53 | + end | |
54 | + | |
55 | +end | ... | ... |
... | ... | @@ -0,0 +1,36 @@ |
1 | +require "#{File.dirname(__FILE__)}/../test_helper" | |
2 | + | |
3 | +class UploadedFileTest < ActionController::TestCase | |
4 | + | |
5 | + include ElasticsearchTestHelper | |
6 | + | |
7 | + def indexed_models | |
8 | + [UploadedFile] | |
9 | + end | |
10 | + | |
11 | + should 'index searchable fields for UploadedFile model' do | |
12 | + UploadedFile::SEARCHABLE_FIELDS.each do |key, value| | |
13 | + assert_includes indexed_fields(UploadedFile), key | |
14 | + end | |
15 | + end | |
16 | + | |
17 | + should 'index control fields for UploadedFile model' do | |
18 | + UploadedFile::control_fields.each do |key, value| | |
19 | + assert_includes indexed_fields(UploadedFile), key | |
20 | + assert_equal indexed_fields(UploadedFile)[key][:type], value[:type].presence || 'string' | |
21 | + end | |
22 | + end | |
23 | + | |
24 | + should 'respond with should method to return public text_article' do | |
25 | + assert TextArticle.respond_to? :should | |
26 | + end | |
27 | + | |
28 | + should 'respond with nested_filter' do | |
29 | + assert TextArticle.respond_to? :nested_filter | |
30 | + end | |
31 | + | |
32 | + should 'have NestedProfile_filter in nested_filter' do | |
33 | + assert TextArticle.nested_filter.include? NestedProfile.filter | |
34 | + end | |
35 | + | |
36 | +end | ... | ... |
plugins/elasticsearch/views/elasticsearch_plugin/_community_display.html.erb
0 → 100644
... | ... | @@ -0,0 +1,7 @@ |
1 | +<div class="community-header"> | |
2 | + <%= show_time(community.created_at) %> - <span class="model-label"><%= model_label.singularize %></span> | |
3 | +</div> | |
4 | +<div class="body"> | |
5 | + <h2><%= link_to community.name, community.url %></h2> | |
6 | + <p><%= community.description %></p> | |
7 | +</div> | ... | ... |
plugins/elasticsearch/views/elasticsearch_plugin/_event_display.html.erb
0 → 100644
plugins/elasticsearch/views/elasticsearch_plugin/_jstree_categories.js.erb
0 → 100644
... | ... | @@ -0,0 +1,16 @@ |
1 | +<script> | |
2 | + $("#jstree-categories").jstree({ | |
3 | + 'core' : { | |
4 | + 'data' : <%= categories_data(@categories).to_json %>, | |
5 | + "themes": { "icons" : false } | |
6 | + }, | |
7 | + 'checkbox': { | |
8 | + three_state: true, | |
9 | + cascade: 'up' | |
10 | + }, | |
11 | + 'plugins': ["wholerow","checkbox"] | |
12 | + }); | |
13 | + $("#jstree-categories").on("loaded.jstree", function(){ | |
14 | + $("#jstree-categories").jstree().select_node(<%= @selected_categories.to_json %>) | |
15 | + }); | |
16 | +</script> | ... | ... |
plugins/elasticsearch/views/elasticsearch_plugin/_person_display.html.erb
0 → 100644
... | ... | @@ -0,0 +1,14 @@ |
1 | +<div class="person-item"> | |
2 | + <div class="left-side"> | |
3 | + <%= profile_image person %> | |
4 | + </div> | |
5 | + <div class="right-side"> | |
6 | + <%= show_time(person.created_at) %> - <span class="model-label"><%= model_label.singularize %></span> | |
7 | + <div class="body"> | |
8 | + <h2><%= link_to person.name, person.url %></h2> | |
9 | + <p><%= person.description %></p> | |
10 | + </div> | |
11 | + </div> | |
12 | + <div style="clear: both"> | |
13 | + </div> | |
14 | +</div> | ... | ... |
plugins/elasticsearch/views/elasticsearch_plugin/_results_count.html.erb
0 → 100644
plugins/elasticsearch/views/elasticsearch_plugin/_search_collection.html.erb
0 → 100644
... | ... | @@ -0,0 +1,14 @@ |
1 | +<% for result in @results.to_a %> | |
2 | + <% for klass, model_label in @searchable_types.except(:all) %> | |
3 | + <% if result.is_a? klass.to_s.classify.constantize %> | |
4 | + <div class="search-item"> | |
5 | + <%= render partial: "#{klass}_display", :locals => { klass => result, :model_label => model_label} %> | |
6 | + </div> | |
7 | + <% break %> | |
8 | + <% end %> | |
9 | + <% end %> | |
10 | +<% end %> | |
11 | + | |
12 | +<div class="search_paginate"> | |
13 | + <%= pagination_links @results if @results.count > 0 %> | |
14 | +</div> | ... | ... |
plugins/elasticsearch/views/elasticsearch_plugin/_search_field.html.erb
0 → 100644
... | ... | @@ -0,0 +1,11 @@ |
1 | +<%= form_tag '/plugin/elasticsearch/search', method: :get do %> | |
2 | + | |
3 | + <%= hidden_field_tag("selected_type", @selected_type) if @selected_type %> | |
4 | + | |
5 | + <%= hidden_field_tag("filter", @selected_sort) if @selected_sort %> | |
6 | + | |
7 | + <%= hidden_field_tag("categories", @selected_categories.join(",")) if @selected_categories %> | |
8 | + <%= text_field_tag :query, @query %> | |
9 | + | |
10 | + <%= submit_tag _("Send") %> | |
11 | +<% end %> | ... | ... |
plugins/elasticsearch/views/elasticsearch_plugin/_search_filter.html.erb
0 → 100644
... | ... | @@ -0,0 +1,8 @@ |
1 | +<h3 class="box-title"><%= _("Sort by") %></h3> | |
2 | +<ul> | |
3 | +<% for type, value in @sort_types %> | |
4 | + <li class="select-search-type <%= "active" if type == @selected_sort %>"> | |
5 | + <%= link_to value, "?selected_type=#{@selected_type}&query=#{@query}&filter=#{type}&categories=#{@selected_categories.join(',')}" %> | |
6 | + </li> | |
7 | +<% end %> | |
8 | +</ul> | ... | ... |
plugins/elasticsearch/views/elasticsearch_plugin/_search_option.html.erb
0 → 100644
... | ... | @@ -0,0 +1,7 @@ |
1 | +<ul> | |
2 | + <% for type,value in @searchable_types %> | |
3 | + <li class="select-search-type <%= "active" if type == @selected_type %>"> | |
4 | + <%= link_to value, "?selected_type=#{type}&query=#{@query}&categories=#{@selected_categories.join(',')}"%> | |
5 | + </li> | |
6 | + <% end %> | |
7 | +</ul> | ... | ... |
plugins/elasticsearch/views/elasticsearch_plugin/_text_article_display.html.erb
0 → 100644
... | ... | @@ -0,0 +1,7 @@ |
1 | +<div class="text_article-header"> | |
2 | + <%= show_time(text_article.created_at) %> - <%= "#{text_article.author.name} -" if text_article.author %> <span class="model-label"><%= model_label.singularize %></span> | |
3 | +</div> | |
4 | +<div class="body"> | |
5 | + <h2><%= link_to text_article.name, text_article.url %></h2> | |
6 | + <p> <strong> <%= _("Abstract") %></strong>: <%= text_article.abstract %></p> | |
7 | +</div> | ... | ... |
plugins/elasticsearch/views/elasticsearch_plugin/_uploaded_file_display.html.erb
0 → 100644
... | ... | @@ -0,0 +1,7 @@ |
1 | +<div class="uploaded_file-header"> | |
2 | + <%= show_time(uploaded_file.created_at) %> - <%= "#{uploaded_file.author.name} -" if uploaded_file.author %><span class="model-label"><%= model_label.singularize %></span> | |
3 | +</div> | |
4 | +<div class="body"> | |
5 | + <h2><%= link_to uploaded_file.name, uploaded_file.url %></h2> | |
6 | + <p> <strong><%= _("Type of file")%> </strong>: <%= uploaded_file.content_type %> </p> | |
7 | +</div> | ... | ... |
plugins/elasticsearch/views/elasticsearch_plugin/search.html.erb
0 → 100644
... | ... | @@ -0,0 +1,35 @@ |
1 | +<div class="wrapper"> | |
2 | + <div class="search_form"> | |
3 | + <div class="search_field"> | |
4 | + <%= render :partial => "search_field" %> | |
5 | + </div> | |
6 | + <div class="results-count"> | |
7 | + <%= render :partial => "results_count" %> | |
8 | + </div> | |
9 | + </div> | |
10 | + | |
11 | + <div class="results-wrapper"> | |
12 | + <div class="sidebar"> | |
13 | + | |
14 | + <div class="search-options"> | |
15 | + <%= render :partial => "search_option.html.erb" %> | |
16 | + </div> | |
17 | + | |
18 | + <div class="search-filter"> | |
19 | + <%= render :partial => "search_filter.html.erb" %> | |
20 | + </div> | |
21 | + | |
22 | + <div class="categories"> | |
23 | + <h3 class="box-title"><%= _("Categories") %></h3> | |
24 | + <div id="jstree-categories"></div> | |
25 | + </div> | |
26 | + </div> | |
27 | + | |
28 | + <div class="results"> | |
29 | + <%= render :partial => 'search_collection' %> | |
30 | + </div> | |
31 | + | |
32 | + </div> | |
33 | +</div> | |
34 | + | |
35 | +<%= render :partial => 'jstree_categories', :formats => [:js] %> | ... | ... |
plugins/elasticsearch/views/elasticsearch_plugin/search.js.erb
0 → 100644
... | ... | @@ -0,0 +1,5 @@ |
1 | +$(".results").html("<%= escape_javascript(render partial: 'search_collection') %>"); | |
2 | +$(".results-count").html("<%= escape_javascript(render partial: 'results_count') %>"); | |
3 | +$(".search-options").html("<%= escape_javascript(render partial: 'search_option') %>"); | |
4 | +$(".search-filter").html("<%= escape_javascript(render partial: 'search_filter') %>"); | |
5 | +$(".search_field").html("<%= escape_javascript(render partial: 'search_field') %>"); | ... | ... |