From 63f54074002c46183d1c984105acacab155f9813 Mon Sep 17 00:00:00 2001 From: zhengxie Date: Mon, 3 Mar 2014 13:39:25 +0800 Subject: [PATCH 01/15] Use ajax to fetch group/share repos in myhome --- seahub/base/context_processors.py | 5 +- seahub/base/middleware.py | 7 +- seahub/group/views.py | 8 +- seahub/share/views.py | 2 +- seahub/templates/my_group_repos.html | 50 ++++++++ seahub/templates/my_shared_repos.html | 75 ++++++++++++ seahub/templates/snippets/my_owned_repos.html | 107 +----------------- seahub/urls.py | 5 +- seahub/views/__init__.py | 45 +------- seahub/views/ajax.py | 80 ++++++++++++- seahub/views/repo.py | 4 +- 11 files changed, 226 insertions(+), 162 deletions(-) create mode 100644 seahub/templates/my_group_repos.html create mode 100644 seahub/templates/my_shared_repos.html diff --git a/seahub/base/context_processors.py b/seahub/base/context_processors.py index 43e6d7c741..a10b0348b8 100644 --- a/seahub/base/context_processors.py +++ b/seahub/base/context_processors.py @@ -11,7 +11,6 @@ from seahub.settings import SEAFILE_VERSION, SITE_TITLE, SITE_NAME, SITE_BASE, \ SHOW_REPO_DOWNLOAD_BUTTON, REPO_PASSWORD_MIN_LENGTH from seahub.views.modules import get_enabled_mods_by_user, \ get_available_mods_by_user -from seaserv import get_personal_groups_by_user try: from seahub.settings import SEACLOUD_MODE @@ -45,8 +44,8 @@ def base(request): mods_available = get_available_mods_by_user(username) mods_enabled = get_enabled_mods_by_user(username) - # get groups - grps = get_personal_groups_by_user(username)[:8] + # get 8 user groups + grps = request.user.joined_groups[:8] return { 'seafile_version': SEAFILE_VERSION, diff --git a/seahub/base/middleware.py b/seahub/base/middleware.py index 6eaf3db788..9dd99fb957 100644 --- a/seahub/base/middleware.py +++ b/seahub/base/middleware.py @@ -1,5 +1,6 @@ from django.core.cache import cache +import seaserv from seaserv import get_binding_peerids, get_orgs_by_user from seahub.notifications.models import Notification @@ -11,8 +12,7 @@ except ImportError: class BaseMiddleware(object): """ - Middleware that add organization info to request when user in organization - context. + Middleware that add organization, group info to user. """ def process_request(self, request): @@ -27,6 +27,9 @@ class BaseMiddleware(object): request.user.org = None request.user.orgs = None + + username = request.user.username + request.user.joined_groups = seaserv.get_personal_groups_by_user(username) return None diff --git a/seahub/group/views.py b/seahub/group/views.py index ae340e3ac9..73e0e83b1b 100644 --- a/seahub/group/views.py +++ b/seahub/group/views.py @@ -22,7 +22,7 @@ import seaserv from seaserv import ccnet_threaded_rpc, seafserv_threaded_rpc, \ web_get_access_token, seafile_api, \ get_repo, get_group_repos, get_commits, is_group_user, \ - get_personal_groups_by_user, get_group, get_group_members, create_repo, \ + get_group, get_group_members, create_repo, \ get_personal_groups, create_org_repo, get_org_group_repos, \ check_permission, is_passwd_set, remove_repo, \ unshare_group_repo, get_file_id_by_path, post_empty_file, del_file @@ -135,7 +135,7 @@ def group_add(request): # check plan num_of_groups = getattr(request.user, 'num_of_groups', -1) if num_of_groups > 0: - current_groups = len(get_personal_groups_by_user(username)) + current_groups = len(request.user.joined_groups) if current_groups > num_of_groups: result['error'] = _(u'You can only create %d groups.Upgrade account.') % num_of_groups return HttpResponse(json.dumps(result), status=500, @@ -147,7 +147,7 @@ def group_add(request): # Check whether group name is duplicated. if request.cloud_mode: - checked_groups = get_personal_groups_by_user(username) + checked_groups = request.user.joined_groups else: checked_groups = get_personal_groups(-1, -1) for g in checked_groups: @@ -173,7 +173,7 @@ def group_add(request): @login_required def group_list(request): username = request.user.username - joined_groups = get_personal_groups_by_user(username) + joined_groups = request.user.joined_groups enabled_groups = get_wiki_enabled_group_list( in_group_ids=[x.id for x in joined_groups]) enabled_group_ids = [ int(x.group_id) for x in enabled_groups ] diff --git a/seahub/share/views.py b/seahub/share/views.py index 158dad43ce..9efc17f587 100644 --- a/seahub/share/views.py +++ b/seahub/share/views.py @@ -191,7 +191,7 @@ def share_repo(request): share_to_groups = [] # get all personal groups - for group in seaserv.get_personal_groups_by_user(from_email): + for group in request.user.joined_groups: # for every group that user joined, if group name matchs, # then has find the group if group.group_name in share_to_group_names: diff --git a/seahub/templates/my_group_repos.html b/seahub/templates/my_group_repos.html new file mode 100644 index 0000000000..c2b0903ded --- /dev/null +++ b/seahub/templates/my_group_repos.html @@ -0,0 +1,50 @@ +{% load seahub_tags group_avatar_tags i18n %}
+ {% if group_repos %} + + + + + + + + + + + + {% for repo in group_repos %} + + {% if repo.show_group_name %} + + + {% else %} + + + {% endif %} + + + + {% if repo.last_modified %} + + {% else %} + + {% endif %} + + + {% endfor %} +
{% trans "Group" %}{% trans "Name" %}{% trans "Description" %}{% trans "Last Update" %}{% trans "Shared By" %}
{% grp_avatar repo.group.id 20 %}{{ repo.group.group_name }} + {% if repo.encrypted %} + {% trans + {% else %} + {% if repo.user_perm == 'rw' %} + {% trans + {% else %} + {% trans + {% endif %} + {% endif %} + {{ repo.repo_name }}{{ repo.repo_desc }}{{ repo.last_modified|translate_seahub_time }}--{{ repo.user|email2nickname }}
+ {% else %} +
+

{% trans "No library is shared to your groups" %}

+
+ {% endif %} +
diff --git a/seahub/templates/my_shared_repos.html b/seahub/templates/my_shared_repos.html new file mode 100644 index 0000000000..fa36d25417 --- /dev/null +++ b/seahub/templates/my_shared_repos.html @@ -0,0 +1,75 @@ +{% load seahub_tags i18n %} +
+ {% if shared_repos %} + + + + + + + + + + + {% for repo in shared_repos %} + + + + + {% if repo.last_modified %} + + {% else %} + + {% endif %} + + + + {% endfor %} + +
{% trans "Name" %}{% trans "Description" %}{% trans "Last Update" %}{% trans "Shared By" %}{% trans "Operations" %}
+ {% if repo.encrypted %} + {% trans + {% else %} + {% if repo.user_perm == 'rw' %} + {% trans + {% else %} + {% trans + {% endif %} + {% endif %} + {{ repo.repo_name }}{{ repo.repo_desc }}{{ repo.last_modified|translate_seahub_time }}--{{ repo.user|email2nickname }} + {% if show_repo_download_button %} + + {% endif %} + {% if repo.share_type == 'personal' %} + + {% endif %} +
+ {% else %} +
+

{% trans "No library is shared to you" %}

+
+ {% endif %} +
+ + + diff --git a/seahub/templates/snippets/my_owned_repos.html b/seahub/templates/snippets/my_owned_repos.html index 38cba3abfa..658bf07eb6 100644 --- a/seahub/templates/snippets/my_owned_repos.html +++ b/seahub/templates/snippets/my_owned_repos.html @@ -7,8 +7,8 @@ {% if ENABLE_SUB_LIBRARY and sub_lib_enabled %}
  • {% trans "Sub-libraries" %}
  • {% endif %} -
  • {% trans "Shared" %}
  • -
  • {% trans "Group" %}
  • +
  • {% trans "Shared" %}
  • +
  • {% trans "Group" %}
  • @@ -106,109 +106,6 @@ {% endif %} -
    - {% if personal_shared_repos %} - - - - - - - - - - - {% for repo in personal_shared_repos %} - - - - - {% if repo.last_modified %} - - {% else %} - - {% endif %} - - - - {% endfor %} - -
    {% trans "Name" %}{% trans "Description" %}{% trans "Last Update" %}{% trans "Shared By" %}{% trans "Operations" %}
    - {% if repo.encrypted %} - {% trans - {% else %} - {% if repo.user_perm == 'rw' %} - {% trans - {% else %} - {% trans - {% endif %} - {% endif %} - {{ repo.repo_name }}{{ repo.repo_desc }}{{ repo.last_modified|translate_seahub_time }}--{{ repo.user|email2nickname }} - {% if show_repo_download_button %} - - {% endif %} - {% if repo.share_type == 'personal' %} - - {% endif %} -
    - {% else %} -
    -

    {% trans "No library is shared to you" %}

    -
    - {% endif %} -
    - -
    - {% if group_repos %} - - - - - - - - - - - - {% for repo in group_repos %} - - {% if repo.show_group_name %} - - - {% else %} - - - {% endif %} - - - - {% if repo.last_modified %} - - {% else %} - - {% endif %} - - - {% endfor %} -
    {% trans "Group" %}{% trans "Name" %}{% trans "Description" %}{% trans "Last Update" %}{% trans "Shared By" %}
    {% grp_avatar repo.group.id 20 %}{{ repo.group.group_name }} - {% if repo.encrypted %} - {% trans - {% else %} - {% if repo.user_perm == 'rw' %} - {% trans - {% else %} - {% trans - {% endif %} - {% endif %} - {{ repo.repo_name }}{{ repo.repo_desc }}{{ repo.last_modified|translate_seahub_time }}--{{ repo.user|email2nickname }}
    - {% else %} -
    -

    {% trans "No library is shared to your groups" %}

    -
    - {% endif %} -
    - diff --git a/seahub/urls.py b/seahub/urls.py index f90203dcc7..cb22af7543 100644 --- a/seahub/urls.py +++ b/seahub/urls.py @@ -148,6 +148,9 @@ urlpatterns = patterns('', url(r'^ajax/upload-file-done/$', upload_file_done, name='upload_file_done'), url(r'^ajax/unseen-notices-count/$', unseen_notices_count, name='unseen_notices_count'), url(r'^ajax/space_and_traffic/$', space_and_traffic, name='space_and_traffic'), + url(r'^ajax/my-shared-repos/$', my_shared_repos, name='my_shared_repos'), + url(r'^ajax/my-group-repos/$', my_group_repos, name='my_group_repos'), + ### Apps ### (r'^api2/', include('seahub.api2.urls')), @@ -238,4 +241,4 @@ if TRAFFIC_STATS_ENABLED: from seahub.views.sysadmin import sys_traffic_admin urlpatterns += patterns('', url(r'^sys/trafficadmin/$', sys_traffic_admin, name='sys_trafficadmin'), - ) \ No newline at end of file + ) diff --git a/seahub/views/__init__.py b/seahub/views/__init__.py index 376b02fd44..b1d8eed053 100644 --- a/seahub/views/__init__.py +++ b/seahub/views/__init__.py @@ -36,7 +36,7 @@ import seaserv from seaserv import ccnet_rpc, ccnet_threaded_rpc, get_repos, get_emailusers, \ get_repo, get_commits, get_branches, is_valid_filename, remove_group_user,\ seafserv_threaded_rpc, seafserv_rpc, get_binding_peerids, is_repo_owner, \ - get_personal_groups_by_user, is_inner_pub_repo, \ + is_inner_pub_repo, \ del_org_group_repo, get_personal_groups, web_get_access_token, remove_repo, \ get_shared_groups_by_repo, is_group_user, check_permission, \ list_personal_shared_repos, is_org_group, get_org_id_by_group, is_org_repo,\ @@ -973,47 +973,8 @@ def myhome(request): calculate_repos_last_modify(owned_repos) owned_repos.sort(lambda x, y: cmp(y.latest_modify, x.latest_modify)) - # shared - personal_shared_repos = list_personal_shared_repos(username, 'to_email', - -1, -1) - personal_shared_repos.sort(lambda x, y: cmp(y.last_modified, x.last_modified)) - - # group repos - group_repos = [] - # Get all personal groups I joined. - joined_groups = get_personal_groups_by_user(username) - # For each group I joined... - for grp in joined_groups: - # Get group repos, and for each group repos... - for r_id in get_group_repoids(grp.id): - # No need to list my own repo - repo_owner = seafile_api.get_repo_owner(r_id) - if repo_owner == username: - continue - # Convert repo properties due to the different collumns in Repo - # and SharedRepo - r = get_repo(r_id) - if not r: - continue - r.repo_id = r.id - r.repo_name = r.name - r.repo_desc = r.desc - r.last_modified = get_repo_last_modify(r) - r.share_type = 'group' - r.user = repo_owner - r.user_perm = check_permission(r_id, username) - r.group = grp - group_repos.append(r) - group_repos.sort(key=lambda x: x.group.group_name) - for i, repo in enumerate(group_repos): - if i == 0: - repo.show_group_name = True - else: - if repo.group.group_name != group_repos[i-1].group.group_name: - repo.show_group_name = True - # misc - autocomp_groups = joined_groups + autocomp_groups = joined_groups = request.user.joined_groups contacts = Contact.objects.get_contacts_by_user(username) allow_public_share = False if request.cloud_mode else True @@ -1034,8 +995,6 @@ def myhome(request): return render_to_response('myhome.html', { "owned_repos": owned_repos, - "group_repos": group_repos, - "personal_shared_repos": personal_shared_repos, "contacts": contacts, "autocomp_groups": autocomp_groups, "joined_groups": joined_groups, diff --git a/seahub/views/ajax.py b/seahub/views/ajax.py index 40854bd0b1..dcdc64779f 100644 --- a/seahub/views/ajax.py +++ b/seahub/views/ajax.py @@ -33,7 +33,8 @@ import seahub.settings as settings from seahub.signals import repo_deleted from seahub.utils import check_filename_with_rename, EMPTY_SHA1, gen_block_get_url, \ check_and_get_org_by_repo, TRAFFIC_STATS_ENABLED, get_user_traffic_stat,\ - new_merge_with_no_conflict, get_commit_before_new_merge + new_merge_with_no_conflict, get_commit_before_new_merge, \ + get_repo_last_modify from seahub.utils.star import star_file, unstar_file # Get an instance of a logger @@ -1210,3 +1211,80 @@ def space_and_traffic(request): html = render_to_string('snippets/space_and_traffic.html', ctx, context_instance=RequestContext(request)) return HttpResponse(json.dumps({"html": html}), content_type=content_type) + +@login_required +def my_shared_repos(request): + """Return html snippet of repos that shared to user. + + Arguments: + - `request`: + """ + if not request.is_ajax(): + raise Http404 + + username = request.user.username + + shared_repos = seafile_api.get_share_in_repo_list(username, -1, -1) + shared_repos.sort(lambda x, y: cmp(y.last_modified, x.last_modified)) + + ctx = { + "shared_repos": shared_repos, + } + html = render_to_string('my_shared_repos.html', ctx, + context_instance=RequestContext(request)) + + return HttpResponse(html) + +@login_required +def my_group_repos(request): + """Return html snippet of group repos. + + Arguments: + - `request`: + """ + if not request.is_ajax(): + raise Http404 + + username = request.user.username + + group_repos = [] + # Get all personal groups I joined. + joined_groups = request.user.joined_groups + # For each group I joined... + for grp in joined_groups: + # Get group repos, and for each group repos... + for r_id in seaserv.get_group_repoids(grp.id): + # No need to list my own repo + repo_owner = seafile_api.get_repo_owner(r_id) + if repo_owner == username: + continue + # Convert repo properties due to the different collumns in Repo + # and SharedRepo + r = seaserv.get_repo(r_id) + if not r: + continue + r.repo_id = r.id + r.repo_name = r.name + r.repo_desc = r.desc + r.last_modified = get_repo_last_modify(r) + r.share_type = 'group' + r.user = repo_owner + r.user_perm = seaserv.check_permission(r_id, username) + r.group = grp + group_repos.append(r) + group_repos.sort(key=lambda x: x.group.group_name) + for i, repo in enumerate(group_repos): + if i == 0: + repo.show_group_name = True + else: + if repo.group.group_name != group_repos[i-1].group.group_name: + repo.show_group_name = True + + ctx = { + "group_repos": group_repos, + } + html = render_to_string('my_group_repos.html', ctx, + context_instance=RequestContext(request)) + + return HttpResponse(html) + diff --git a/seahub/views/repo.py b/seahub/views/repo.py index 061f2d3b0d..30f4264732 100644 --- a/seahub/views/repo.py +++ b/seahub/views/repo.py @@ -9,7 +9,7 @@ from django.template import RequestContext from django.template.loader import render_to_string import seaserv -from seaserv import seafile_api, get_personal_groups_by_user +from seaserv import seafile_api from seahub.auth.decorators import login_required from seahub.contacts.models import Contact @@ -238,7 +238,7 @@ def render_repo(request, repo): domain = RequestSite(request).domain contacts = Contact.objects.get_contacts_by_user(username) - joined_groups = get_personal_groups_by_user(request.user.username) + joined_groups = request.user.joined_groups head_commit = get_commit(repo.head_cmmt_id) if not head_commit: From a09b37a6d7e3fa93248823735930299093485ce8 Mon Sep 17 00:00:00 2001 From: zhengxie Date: Tue, 4 Mar 2014 11:37:03 +0800 Subject: [PATCH 02/15] Fixed log out error --- seahub/base/context_processors.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/seahub/base/context_processors.py b/seahub/base/context_processors.py index a10b0348b8..1878efaa8f 100644 --- a/seahub/base/context_processors.py +++ b/seahub/base/context_processors.py @@ -45,7 +45,10 @@ def base(request): mods_enabled = get_enabled_mods_by_user(username) # get 8 user groups - grps = request.user.joined_groups[:8] + try: + grps = request.user.joined_groups[:8] + except AttributeError: # anonymous user + grps = None return { 'seafile_version': SEAFILE_VERSION, From c6378050901852f33b0d8ebed3a0e2e096055d66 Mon Sep 17 00:00:00 2001 From: zhengxie Date: Thu, 6 Mar 2014 10:36:23 +0800 Subject: [PATCH 03/15] Handle get system library exception --- seahub/views/__init__.py | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/seahub/views/__init__.py b/seahub/views/__init__.py index b1d8eed053..434ae0017a 100644 --- a/seahub/views/__init__.py +++ b/seahub/views/__init__.py @@ -158,7 +158,10 @@ def get_user_permission(request, repo_id): return 'r' if token else '' def get_system_default_repo_id(): - return seaserv.seafserv_threaded_rpc.get_system_default_repo_id() + try: + return seaserv.seafserv_threaded_rpc.get_system_default_repo_id() + except SearpcError as e: + return None def check_repo_access_permission(repo_id, user): """Check repo access permission of a user, always return 'rw' when repo is @@ -937,11 +940,19 @@ def create_default_library(username): username=username, passwd=None) sys_repo_id = get_system_default_repo_id() - dirents = seafile_api.list_dir_by_path(sys_repo_id, '/') - for e in dirents: - obj_name = e.obj_name - seafile_api.copy_file(sys_repo_id, '/', obj_name, - default_repo, '/', obj_name, username) + if sys_repo_id is None: + return + + try: + dirents = seafile_api.list_dir_by_path(sys_repo_id, '/') + for e in dirents: + obj_name = e.obj_name + seafile_api.copy_file(sys_repo_id, '/', obj_name, + default_repo, '/', obj_name, username) + except SearpcError as e: + logger.error(e) + return + UserOptions.objects.set_default_repo(username, default_repo) return default_repo From 6aa1c3c215e21421f35ed0685cd2115ba18a2bc1 Mon Sep 17 00:00:00 2001 From: llj Date: Wed, 5 Mar 2014 17:53:06 +0800 Subject: [PATCH 04/15] [optimization] cleaned up css, combined css files, use css sprite; cleaned up js --- media/css/font-awesome.css | 407 --- media/css/seahub.css | 187 +- .../ui-bg_diagonals-thick_18_b81900_40x40.png | Bin 260 -> 0 bytes .../ui-bg_diagonals-thick_20_666666_40x40.png | Bin 251 -> 0 bytes .../images/ui-bg_flat_10_000000_40x100.png | Bin 178 -> 0 bytes .../images/ui-bg_glass_100_f6f6f6_1x400.png | Bin 104 -> 0 bytes .../images/ui-bg_glass_100_fdf5ce_1x400.png | Bin 125 -> 0 bytes .../images/ui-bg_glass_65_ffffff_1x400.png | Bin 105 -> 0 bytes .../ui-bg_gloss-wave_35_f6a828_500x100.png | Bin 3762 -> 0 bytes .../ui-bg_highlight-soft_100_eeeeee_1x100.png | Bin 90 -> 0 bytes .../ui-bg_highlight-soft_75_ffe45c_1x100.png | Bin 129 -> 0 bytes .../images/ui-icons_222222_256x240.png | Bin 4369 -> 0 bytes .../images/ui-icons_228ef1_256x240.png | Bin 4369 -> 0 bytes .../images/ui-icons_ef8c08_256x240.png | Bin 4369 -> 0 bytes .../images/ui-icons_ffd27a_256x240.png | Bin 4369 -> 0 bytes .../images/ui-icons_ffffff_256x240.png | Bin 4369 -> 0 bytes .../ui-lightness/jquery-ui-1.8.16.custom.css | 330 --- media/img/activity.png | Bin 3233 -> 0 bytes media/img/activity_w.png | Bin 3201 -> 0 bytes media/img/admin.png | Bin 3067 -> 0 bytes media/img/admin_w.png | Bin 2999 -> 0 bytes media/img/bg.png | Bin 0 -> 9139 bytes media/img/checkbox-checked.png | Bin 392 -> 0 bytes media/img/checkbox.png | Bin 214 -> 0 bytes media/img/clients.png | Bin 2847 -> 0 bytes media/img/clients_w.png | Bin 2836 -> 0 bytes media/img/contacts.png | Bin 2826 -> 0 bytes media/img/contacts_w.png | Bin 2838 -> 0 bytes media/img/files.png | Bin 2908 -> 0 bytes media/img/files_w.png | Bin 2895 -> 0 bytes media/img/folders.png | Bin 2941 -> 0 bytes media/img/folders_w.png | Bin 2949 -> 0 bytes media/img/go_link.png | Bin 3299 -> 0 bytes media/img/groups.png | Bin 3087 -> 0 bytes media/img/groups_w.png | Bin 3081 -> 0 bytes media/img/li.gif | Bin 49 -> 0 bytes media/img/lib.png | Bin 2810 -> 0 bytes media/img/lib_w.png | Bin 2829 -> 0 bytes media/img/links.png | Bin 3239 -> 0 bytes media/img/links_w.png | Bin 3193 -> 0 bytes media/img/members.png | Bin 2988 -> 0 bytes media/img/members_w.png | Bin 2992 -> 0 bytes media/img/msgs.png | Bin 3091 -> 0 bytes media/img/msgs_w.png | Bin 3092 -> 0 bytes media/img/popup_close.png | Bin 4179 -> 0 bytes media/img/star.png | Bin 3090 -> 0 bytes media/img/star_w.png | Bin 3057 -> 0 bytes media/img/tick.png | Bin 344 -> 0 bytes media/img/traffic.png | Bin 141 -> 0 bytes media/img/traffic_w.png | Bin 141 -> 0 bytes media/img/wiki.png | Bin 2872 -> 0 bytes media/img/wiki_w.png | Bin 2865 -> 0 bytes media/js/jq.min.js | 5 - media/jstree_pre1.0_stable/jquery.jstree.js | 2200 ----------------- .../templates/message/all_msg_list.html | 2 + seahub/templates/base.html | 107 +- seahub/templates/repo.html | 2 + seahub/templates/snippets/bottom_bar.html | 2 +- .../font_icon_support_for_some_browsers.html | 93 + seahub/templates/view_file_base.html | 2 + seahub/templates/view_shared_dir.html | 11 +- 61 files changed, 242 insertions(+), 3106 deletions(-) delete mode 100644 media/css/font-awesome.css delete mode 100644 media/css/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png delete mode 100644 media/css/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png delete mode 100644 media/css/ui-lightness/images/ui-bg_flat_10_000000_40x100.png delete mode 100644 media/css/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png delete mode 100644 media/css/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png delete mode 100644 media/css/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png delete mode 100644 media/css/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png delete mode 100644 media/css/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png delete mode 100644 media/css/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png delete mode 100644 media/css/ui-lightness/images/ui-icons_222222_256x240.png delete mode 100644 media/css/ui-lightness/images/ui-icons_228ef1_256x240.png delete mode 100644 media/css/ui-lightness/images/ui-icons_ef8c08_256x240.png delete mode 100644 media/css/ui-lightness/images/ui-icons_ffd27a_256x240.png delete mode 100644 media/css/ui-lightness/images/ui-icons_ffffff_256x240.png delete mode 100644 media/css/ui-lightness/jquery-ui-1.8.16.custom.css delete mode 100644 media/img/activity.png delete mode 100644 media/img/activity_w.png delete mode 100644 media/img/admin.png delete mode 100644 media/img/admin_w.png create mode 100644 media/img/bg.png delete mode 100644 media/img/checkbox-checked.png delete mode 100644 media/img/checkbox.png delete mode 100644 media/img/clients.png delete mode 100644 media/img/clients_w.png delete mode 100644 media/img/contacts.png delete mode 100644 media/img/contacts_w.png delete mode 100644 media/img/files.png delete mode 100644 media/img/files_w.png delete mode 100644 media/img/folders.png delete mode 100644 media/img/folders_w.png delete mode 100644 media/img/go_link.png delete mode 100644 media/img/groups.png delete mode 100644 media/img/groups_w.png delete mode 100644 media/img/li.gif delete mode 100644 media/img/lib.png delete mode 100644 media/img/lib_w.png delete mode 100644 media/img/links.png delete mode 100644 media/img/links_w.png delete mode 100644 media/img/members.png delete mode 100644 media/img/members_w.png delete mode 100644 media/img/msgs.png delete mode 100644 media/img/msgs_w.png delete mode 100644 media/img/popup_close.png delete mode 100644 media/img/star.png delete mode 100644 media/img/star_w.png delete mode 100644 media/img/tick.png delete mode 100644 media/img/traffic.png delete mode 100644 media/img/traffic_w.png delete mode 100644 media/img/wiki.png delete mode 100644 media/img/wiki_w.png create mode 100644 seahub/templates/snippets/font_icon_support_for_some_browsers.html diff --git a/media/css/font-awesome.css b/media/css/font-awesome.css deleted file mode 100644 index 3be345b0f3..0000000000 --- a/media/css/font-awesome.css +++ /dev/null @@ -1,407 +0,0 @@ -/*! - * Font Awesome 3.2.1 - * by Dave Gandy - http://fortawesome.github.com/Font-Awesome -*/ -@font-face { - font-family: 'FontAwesome'; - src: url('font/fontawesome-webfont.eot?v=3.0.1'); - src: url('font/fontawesome-webfont.eot?#iefix&v=3.0.1') format('embedded-opentype'), - url('font/fontawesome-webfont.woff?v=3.0.1') format('woff'), - url('font/fontawesome-webfont.ttf?v=3.0.1') format('truetype'); - font-weight: normal; - font-style: normal; -} -/* Font Awesome styles - ------------------------------------------------------- */ -[class^="icon-"], -[class*=" icon-"] { - font-family: FontAwesome; - font-weight: normal; - font-style: normal; - text-decoration: inherit; - -webkit-font-smoothing: antialiased; - vertical-align: baseline; - speak: none; -} -/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen - readers do not read off random characters that represent icons */ -.icon-glass:before { content: "\f000"; } -.icon-music:before { content: "\f001"; } -.icon-search:before { content: "\f002"; } -.icon-envelope:before { content: "\f003"; } -.icon-heart:before { content: "\f004"; } -.icon-star:before { content: "\f005"; } -.icon-star-empty:before { content: "\f006"; } -.icon-user:before { content: "\f007"; } -.icon-film:before { content: "\f008"; } -.icon-th-large:before { content: "\f009"; } -.icon-th:before { content: "\f00a"; } -.icon-th-list:before { content: "\f00b"; } -.icon-ok:before { content: "\f00c"; } -.icon-remove:before { content: "\f00d"; } -.icon-zoom-in:before { content: "\f00e"; } - -.icon-zoom-out:before { content: "\f010"; } -.icon-off:before { content: "\f011"; } -.icon-signal:before { content: "\f012"; } -.icon-cog:before { content: "\f013"; } -.icon-trash:before { content: "\f014"; } -.icon-home:before { content: "\f015"; } -.icon-file:before { content: "\f016"; } -.icon-time:before { content: "\f017"; } -.icon-road:before { content: "\f018"; } -.icon-download-alt:before { content: "\f019"; } -.icon-download:before { content: "\f01a"; } -.icon-upload:before { content: "\f01b"; } -.icon-inbox:before { content: "\f01c"; } -.icon-play-circle:before { content: "\f01d"; } -.icon-repeat:before { content: "\f01e"; } - -/* \f020 doesn't work in Safari. all shifted one down */ -.icon-refresh:before { content: "\f021"; } -.icon-list-alt:before { content: "\f022"; } -.icon-lock:before { content: "\f023"; } -.icon-flag:before { content: "\f024"; } -.icon-headphones:before { content: "\f025"; } -.icon-volume-off:before { content: "\f026"; } -.icon-volume-down:before { content: "\f027"; } -.icon-volume-up:before { content: "\f028"; } -.icon-qrcode:before { content: "\f029"; } -.icon-barcode:before { content: "\f02a"; } -.icon-tag:before { content: "\f02b"; } -.icon-tags:before { content: "\f02c"; } -.icon-book:before { content: "\f02d"; } -.icon-bookmark:before { content: "\f02e"; } -.icon-print:before { content: "\f02f"; } - -.icon-camera:before { content: "\f030"; } -.icon-font:before { content: "\f031"; } -.icon-bold:before { content: "\f032"; } -.icon-italic:before { content: "\f033"; } -.icon-text-height:before { content: "\f034"; } -.icon-text-width:before { content: "\f035"; } -.icon-align-left:before { content: "\f036"; } -.icon-align-center:before { content: "\f037"; } -.icon-align-right:before { content: "\f038"; } -.icon-align-justify:before { content: "\f039"; } -.icon-list:before { content: "\f03a"; } -.icon-indent-left:before { content: "\f03b"; } -.icon-indent-right:before { content: "\f03c"; } -.icon-facetime-video:before { content: "\f03d"; } -.icon-picture:before { content: "\f03e"; } - -.icon-pencil:before { content: "\f040"; } -.icon-map-marker:before { content: "\f041"; } -.icon-adjust:before { content: "\f042"; } -.icon-tint:before { content: "\f043"; } -.icon-edit:before { content: "\f044"; } -.icon-share:before { content: "\f045"; } -.icon-check:before { content: "\f046"; } -.icon-move:before { content: "\f047"; } -.icon-step-backward:before { content: "\f048"; } -.icon-fast-backward:before { content: "\f049"; } -.icon-backward:before { content: "\f04a"; } -.icon-play:before { content: "\f04b"; } -.icon-pause:before { content: "\f04c"; } -.icon-stop:before { content: "\f04d"; } -.icon-forward:before { content: "\f04e"; } - -.icon-fast-forward:before { content: "\f050"; } -.icon-step-forward:before { content: "\f051"; } -.icon-eject:before { content: "\f052"; } -.icon-chevron-left:before { content: "\f053"; } -.icon-chevron-right:before { content: "\f054"; } -.icon-plus-sign:before { content: "\f055"; } -.icon-minus-sign:before { content: "\f056"; } -.icon-remove-sign:before { content: "\f057"; } -.icon-ok-sign:before { content: "\f058"; } -.icon-question-sign:before { content: "\f059"; } -.icon-info-sign:before { content: "\f05a"; } -.icon-screenshot:before { content: "\f05b"; } -.icon-remove-circle:before { content: "\f05c"; } -.icon-ok-circle:before { content: "\f05d"; } -.icon-ban-circle:before { content: "\f05e"; } - -.icon-arrow-left:before { content: "\f060"; } -.icon-arrow-right:before { content: "\f061"; } -.icon-arrow-up:before { content: "\f062"; } -.icon-arrow-down:before { content: "\f063"; } -.icon-share-alt:before { content: "\f064"; } -.icon-resize-full:before { content: "\f065"; } -.icon-resize-small:before { content: "\f066"; } -.icon-plus:before { content: "\f067"; } -.icon-minus:before { content: "\f068"; } -.icon-asterisk:before { content: "\f069"; } -.icon-exclamation-sign:before { content: "\f06a"; } -.icon-gift:before { content: "\f06b"; } -.icon-leaf:before { content: "\f06c"; } -.icon-fire:before { content: "\f06d"; } -.icon-eye-open:before { content: "\f06e"; } - -.icon-eye-close:before { content: "\f070"; } -.icon-warning-sign:before { content: "\f071"; } -.icon-plane:before { content: "\f072"; } -.icon-calendar:before { content: "\f073"; } -.icon-random:before { content: "\f074"; } -.icon-comment:before { content: "\f075"; } -.icon-magnet:before { content: "\f076"; } -.icon-chevron-up:before { content: "\f077"; } -.icon-chevron-down:before { content: "\f078"; } -.icon-retweet:before { content: "\f079"; } -.icon-shopping-cart:before { content: "\f07a"; } -.icon-folder-close:before { content: "\f07b"; } -.icon-folder-open:before { content: "\f07c"; } -.icon-resize-vertical:before { content: "\f07d"; } -.icon-resize-horizontal:before { content: "\f07e"; } - -.icon-bar-chart:before { content: "\f080"; } -.icon-twitter-sign:before { content: "\f081"; } -.icon-facebook-sign:before { content: "\f082"; } -.icon-camera-retro:before { content: "\f083"; } -.icon-key:before { content: "\f084"; } -.icon-cogs:before { content: "\f085"; } -.icon-comments:before { content: "\f086"; } -.icon-thumbs-up:before { content: "\f087"; } -.icon-thumbs-down:before { content: "\f088"; } -.icon-star-half:before { content: "\f089"; } -.icon-heart-empty:before { content: "\f08a"; } -.icon-signout:before { content: "\f08b"; } -.icon-linkedin-sign:before { content: "\f08c"; } -.icon-pushpin:before { content: "\f08d"; } -.icon-external-link:before { content: "\f08e"; } - -.icon-signin:before { content: "\f090"; } -.icon-trophy:before { content: "\f091"; } -.icon-github-sign:before { content: "\f092"; } -.icon-upload-alt:before { content: "\f093"; } -.icon-lemon:before { content: "\f094"; } -.icon-phone:before { content: "\f095"; } -.icon-check-empty:before { content: "\f096"; } -.icon-bookmark-empty:before { content: "\f097"; } -.icon-phone-sign:before { content: "\f098"; } -.icon-twitter:before { content: "\f099"; } -.icon-facebook:before { content: "\f09a"; } -.icon-github:before { content: "\f09b"; } -.icon-unlock:before { content: "\f09c"; } -.icon-credit-card:before { content: "\f09d"; } -.icon-rss:before { content: "\f09e"; } - -.icon-hdd:before { content: "\f0a0"; } -.icon-bullhorn:before { content: "\f0a1"; } -.icon-bell:before { content: "\f0a2"; } -.icon-certificate:before { content: "\f0a3"; } -.icon-hand-right:before { content: "\f0a4"; } -.icon-hand-left:before { content: "\f0a5"; } -.icon-hand-up:before { content: "\f0a6"; } -.icon-hand-down:before { content: "\f0a7"; } -.icon-circle-arrow-left:before { content: "\f0a8"; } -.icon-circle-arrow-right:before { content: "\f0a9"; } -.icon-circle-arrow-up:before { content: "\f0aa"; } -.icon-circle-arrow-down:before { content: "\f0ab"; } -.icon-globe:before { content: "\f0ac"; } -.icon-wrench:before { content: "\f0ad"; } -.icon-tasks:before { content: "\f0ae"; } - -.icon-filter:before { content: "\f0b0"; } -.icon-briefcase:before { content: "\f0b1"; } -.icon-fullscreen:before { content: "\f0b2"; } - -.icon-group:before { content: "\f0c0"; } -.icon-link:before { content: "\f0c1"; } -.icon-cloud:before { content: "\f0c2"; } -.icon-beaker:before { content: "\f0c3"; } -.icon-cut:before { content: "\f0c4"; } -.icon-copy:before { content: "\f0c5"; } -.icon-paper-clip:before { content: "\f0c6"; } -.icon-save:before { content: "\f0c7"; } -.icon-sign-blank:before { content: "\f0c8"; } -.icon-reorder:before { content: "\f0c9"; } -.icon-list-ul:before { content: "\f0ca"; } -.icon-list-ol:before { content: "\f0cb"; } -.icon-strikethrough:before { content: "\f0cc"; } -.icon-underline:before { content: "\f0cd"; } -.icon-table:before { content: "\f0ce"; } - -.icon-magic:before { content: "\f0d0"; } -.icon-truck:before { content: "\f0d1"; } -.icon-pinterest:before { content: "\f0d2"; } -.icon-pinterest-sign:before { content: "\f0d3"; } -.icon-google-plus-sign:before { content: "\f0d4"; } -.icon-google-plus:before { content: "\f0d5"; } -.icon-money:before { content: "\f0d6"; } -.icon-caret-down:before { content: "\f0d7"; } -.icon-caret-up:before { content: "\f0d8"; } -.icon-caret-left:before { content: "\f0d9"; } -.icon-caret-right:before { content: "\f0da"; } -.icon-columns:before { content: "\f0db"; } -.icon-sort:before { content: "\f0dc"; } -.icon-sort-down:before { content: "\f0dd"; } -.icon-sort-up:before { content: "\f0de"; } - -.icon-envelope-alt:before { content: "\f0e0"; } -.icon-linkedin:before { content: "\f0e1"; } -.icon-undo:before { content: "\f0e2"; } -.icon-legal:before { content: "\f0e3"; } -.icon-dashboard:before { content: "\f0e4"; } -.icon-comment-alt:before { content: "\f0e5"; } -.icon-comments-alt:before { content: "\f0e6"; } -.icon-bolt:before { content: "\f0e7"; } -.icon-sitemap:before { content: "\f0e8"; } -.icon-umbrella:before { content: "\f0e9"; } -.icon-paste:before { content: "\f0ea"; } -.icon-lightbulb:before { content: "\f0eb"; } -.icon-exchange:before { content: "\f0ec"; } -.icon-cloud-download:before { content: "\f0ed"; } -.icon-cloud-upload:before { content: "\f0ee"; } - -.icon-user-md:before { content: "\f0f0"; } -.icon-stethoscope:before { content: "\f0f1"; } -.icon-suitcase:before { content: "\f0f2"; } -.icon-bell-alt:before { content: "\f0f3"; } -.icon-coffee:before { content: "\f0f4"; } -.icon-food:before { content: "\f0f5"; } -.icon-file-alt:before { content: "\f0f6"; } -.icon-building:before { content: "\f0f7"; } -.icon-hospital:before { content: "\f0f8"; } -.icon-ambulance:before { content: "\f0f9"; } -.icon-medkit:before { content: "\f0fa"; } -.icon-fighter-jet:before { content: "\f0fb"; } -.icon-beer:before { content: "\f0fc"; } -.icon-h-sign:before { content: "\f0fd"; } -.icon-plus-sign-alt:before { content: "\f0fe"; } - -.icon-double-angle-left:before { content: "\f100"; } -.icon-double-angle-right:before { content: "\f101"; } -.icon-double-angle-up:before { content: "\f102"; } -.icon-double-angle-down:before { content: "\f103"; } -.icon-angle-left:before { content: "\f104"; } -.icon-angle-right:before { content: "\f105"; } -.icon-angle-up:before { content: "\f106"; } -.icon-angle-down:before { content: "\f107"; } -.icon-desktop:before { content: "\f108"; } -.icon-laptop:before { content: "\f109"; } -.icon-tablet:before { content: "\f10a"; } -.icon-mobile-phone:before { content: "\f10b"; } -.icon-circle-blank:before { content: "\f10c"; } -.icon-quote-left:before { content: "\f10d"; } -.icon-quote-right:before { content: "\f10e"; } - -.icon-spinner:before { content: "\f110"; } -.icon-circle:before { content: "\f111"; } -.icon-reply:before { content: "\f112"; } -.icon-github-alt:before { content: "\f113"; } -.icon-folder-close-alt:before { content: "\f114"; } -.icon-folder-open-alt:before { content: "\f115"; } -.icon-expand-alt:before{content:"\f116";} -.icon-collapse-alt:before{content:"\f117";} -.icon-smile:before{content:"\f118";} -.icon-frown:before{content:"\f119";} -.icon-meh:before{content:"\f11a";} -.icon-gamepad:before{content:"\f11b";} -.icon-keyboard:before{content:"\f11c";} -.icon-flag-alt:before{content:"\f11d";} -.icon-flag-checkered:before{content:"\f11e";} -.icon-terminal:before{content:"\f120";} -.icon-code:before{content:"\f121";} -.icon-reply-all:before{content:"\f122";} -.icon-mail-reply-all:before{content:"\f122";} -.icon-star-half-full:before,.icon-star-half-empty:before{content:"\f123";} -.icon-location-arrow:before{content:"\f124";} -.icon-crop:before{content:"\f125";} -.icon-code-fork:before{content:"\f126";} -.icon-unlink:before{content:"\f127";} -.icon-question:before{content:"\f128";} -.icon-info:before{content:"\f129";} -.icon-exclamation:before{content:"\f12a";} -.icon-superscript:before{content:"\f12b";} -.icon-subscript:before{content:"\f12c";} -.icon-eraser:before{content:"\f12d";} -.icon-puzzle-piece:before{content:"\f12e";} -.icon-microphone:before{content:"\f130";} -.icon-microphone-off:before{content:"\f131";} -.icon-shield:before{content:"\f132";} -.icon-calendar-empty:before{content:"\f133";} -.icon-fire-extinguisher:before{content:"\f134";} -.icon-rocket:before{content:"\f135";} -.icon-maxcdn:before{content:"\f136";} -.icon-chevron-sign-left:before{content:"\f137";} -.icon-chevron-sign-right:before{content:"\f138";} -.icon-chevron-sign-up:before{content:"\f139";} -.icon-chevron-sign-down:before{content:"\f13a";} -.icon-html5:before{content:"\f13b";} -.icon-css3:before{content:"\f13c";} -.icon-anchor:before{content:"\f13d";} -.icon-unlock-alt:before{content:"\f13e";} -.icon-bullseye:before{content:"\f140";} -.icon-ellipsis-horizontal:before{content:"\f141";} -.icon-ellipsis-vertical:before{content:"\f142";} -.icon-rss-sign:before{content:"\f143";} -.icon-play-sign:before{content:"\f144";} -.icon-ticket:before{content:"\f145";} -.icon-minus-sign-alt:before{content:"\f146";} -.icon-check-minus:before{content:"\f147";} -.icon-level-up:before{content:"\f148";} -.icon-level-down:before{content:"\f149";} -.icon-check-sign:before{content:"\f14a";} -.icon-edit-sign:before{content:"\f14b";} -.icon-external-link-sign:before{content:"\f14c";} -.icon-share-sign:before{content:"\f14d";} -.icon-compass:before{content:"\f14e";} -.icon-collapse:before{content:"\f150";} -.icon-collapse-top:before{content:"\f151";} -.icon-expand:before{content:"\f152";} -.icon-euro:before,.icon-eur:before{content:"\f153";} -.icon-gbp:before{content:"\f154";} -.icon-dollar:before,.icon-usd:before{content:"\f155";} -.icon-rupee:before,.icon-inr:before{content:"\f156";} -.icon-yen:before,.icon-jpy:before{content:"\f157";} -.icon-renminbi:before,.icon-cny:before{content:"\f158";} -.icon-won:before,.icon-krw:before{content:"\f159";} -.icon-bitcoin:before,.icon-btc:before{content:"\f15a";} -.icon-file:before{content:"\f15b";} -.icon-file-text:before{content:"\f15c";} -.icon-sort-by-alphabet:before{content:"\f15d";} -.icon-sort-by-alphabet-alt:before{content:"\f15e";} -.icon-sort-by-attributes:before{content:"\f160";} -.icon-sort-by-attributes-alt:before{content:"\f161";} -.icon-sort-by-order:before{content:"\f162";} -.icon-sort-by-order-alt:before{content:"\f163";} -.icon-thumbs-up:before{content:"\f164";} -.icon-thumbs-down:before{content:"\f165";} -.icon-youtube-sign:before{content:"\f166";} -.icon-youtube:before{content:"\f167";} -.icon-xing:before{content:"\f168";} -.icon-xing-sign:before{content:"\f169";} -.icon-youtube-play:before{content:"\f16a";} -.icon-dropbox:before{content:"\f16b";} -.icon-stackexchange:before{content:"\f16c";} -.icon-instagram:before{content:"\f16d";} -.icon-flickr:before{content:"\f16e";} -.icon-adn:before{content:"\f170";} -.icon-bitbucket:before{content:"\f171";} -.icon-bitbucket-sign:before{content:"\f172";} -.icon-tumblr:before{content:"\f173";} -.icon-tumblr-sign:before{content:"\f174";} -.icon-long-arrow-down:before{content:"\f175";} -.icon-long-arrow-up:before{content:"\f176";} -.icon-long-arrow-left:before{content:"\f177";} -.icon-long-arrow-right:before{content:"\f178";} -.icon-apple:before{content:"\f179";} -.icon-windows:before{content:"\f17a";} -.icon-android:before{content:"\f17b";} -.icon-linux:before{content:"\f17c";} -.icon-dribbble:before{content:"\f17d";} -.icon-skype:before{content:"\f17e";} -.icon-foursquare:before{content:"\f180";} -.icon-trello:before{content:"\f181";} -.icon-female:before{content:"\f182";} -.icon-male:before{content:"\f183";} -.icon-gittip:before{content:"\f184";} -.icon-sun:before{content:"\f185";} -.icon-moon:before{content:"\f186";} -.icon-archive:before{content:"\f187";} -.icon-bug:before{content:"\f188";} -.icon-vk:before{content:"\f189";} -.icon-weibo:before{content:"\f18a";} -.icon-renren:before{content:"\f18b";} - diff --git a/media/css/seahub.css b/media/css/seahub.css index 69f37d8f52..687c3ab0f6 100644 --- a/media/css/seahub.css +++ b/media/css/seahub.css @@ -1,3 +1,70 @@ +/****** icon-xx ********/ +/* Font Awesome 3.2.1 by Dave Gandy - http://fortawesome.github.com/Font-Awesome */ +@font-face { + font-family: 'FontAwesome'; + src: url('font/fontawesome-webfont.eot?v=3.0.1'); + src: url('font/fontawesome-webfont.eot?#iefix&v=3.0.1') format('embedded-opentype'), + url('font/fontawesome-webfont.woff?v=3.0.1') format('woff'), + url('font/fontawesome-webfont.ttf?v=3.0.1') format('truetype'); + font-weight: normal; + font-style: normal; +} +[class^="icon-"], +[class*=" icon-"] { + font-family: FontAwesome; + font-weight: normal; + font-style: normal; + text-decoration: inherit; + -webkit-font-smoothing: antialiased; + vertical-align: baseline; + speak: none; +} +.icon-cloud-download:before { content: "\f0ed"; } +.icon-trash:before { content: "\f014"; } +.icon-plus:before { content: "\f067"; } +.icon-minus:before { content: "\f068"; } +.icon-pencil:before { content: "\f040"; } +.icon-remove:before { content: "\f00d"; } +.icon-caret-down:before { content: "\f0d7"; } +.icon-star:before { content: "\f005"; } +.icon-star-empty:before { content: "\f006"; } +.icon-upload:before { content: "\f01b"; } +.icon-upload-alt:before { content: "\f093"; } +.icon-ban-circle:before { content: "\f05e"; } +.icon-plus-sign-alt:before { content: "\f0fe"; } +.icon-double-angle-left:before { content: "\f100"; } +.icon-double-angle-right:before { content: "\f101"; } +.icon-zoom-in:before { content: "\f00e"; } +.icon-zoom-out:before { content: "\f010"; } +.icon-caret-down:before { content: "\f0d7"; } +.icon-caret-up:before { content: "\f0d8"; } +.icon-caret-right:before { content: "\f0da"; } +.icon-search:before { content: "\f002"; } +.icon-move:before { content: "\f047"; } +.icon-copy:before { content: "\f0c5"; } +.icon-lightbulb:before { content: "\f0eb"; } + +.icon-font:before { content: "\f031"; } +.icon-text-height:before { content: "\f034"; } +.icon-tint:before { content: "\f043"; } +.icon-bold:before { content: "\f032"; } +.icon-italic:before { content: "\f033"; } +.icon-strikethrough:before { content: "\f0cc"; } +.icon-underline:before { content: "\f0cd"; } +.icon-list-ul:before { content: "\f0ca"; } +.icon-list-ol:before { content: "\f0cb"; } +.icon-indent-left:before { content: "\f03b"; } +.icon-indent-right:before { content: "\f03c"; } +.icon-align-left:before { content: "\f036"; } +.icon-align-center:before { content: "\f037"; } +.icon-align-right:before { content: "\f038"; } +.icon-align-justify:before { content: "\f039"; } +.icon-link:before { content: "\f0c1"; } +.icon-cut:before { content: "\f0c4"; } +.icon-picture:before { content: "\f03e"; } +.icon-undo:before { content: "\f0e2"; } +.icon-repeat:before { content: "\f01e"; } + /****** sf-icon-xx ********/ @font-face { font-family: 'seafile-font'; @@ -225,10 +292,18 @@ input.btn-disabled:hover {/*for input*/ background-color: #E6E6E6; background-position: 0 -15px; /* to rm background-image */ } +.op-list li, +.side-tabnav-tabs .tab a, +.checkbox, +.checkbox-checked, +.modalCloseImg, +#discuss { + background:transparent url('../img/bg.png') no-repeat scroll 0 0; +} .op-list li { padding-left:23px; line-height:23px; - background:transparent url('../img/go_link.png') no-repeat scroll 0 50%; + background-position:0 3px; } .add { color:#555; @@ -332,6 +407,10 @@ textarea:-moz-placeholder {/* for FF */ .tabnav-tab { *display:inline; } +/**** jquery tabs ****/ +.ui-tabs { position: relative; padding: .2em; zoom: 1; } +.ui-tabs .ui-tabs-panel { display:block; padding: 1em 1.4em; } +.ui-tabs .ui-tabs-hide { display:none; } /**** side-tabnav ****/ .side-textnav .hd, .side-info .hd { @@ -362,107 +441,96 @@ textarea:-moz-placeholder {/* for FF */ border-radius:2px; overflow:hidden; } -.side-tabnav-tabs .tab a { +.side-tabnav-tabs .tab a { /* for IE 11: no border-radius here */ display:block; font-size:15px; padding:5px 4px 5px 47px; color:#333; font-weight:normal; - background:no-repeat scroll 10px 50%; - /* for IE 11: no border-radius here */ } .side-tabnav-tabs .tab .lib { - background-image:url('../img/lib.png'); - background-position: 11px 50%; + background-position: 11px -20px; } .side-tabnav-tabs .tab-cur .lib { - background-image:url('../img/lib_w.png'); + background-position: 11px -554px; } .side-tabnav-tabs .tab .star { - background-image:url('../img/star.png'); - background-position: 8px 50%; + background-position: 9px -48px; } .side-tabnav-tabs .tab-cur .star { - background-image:url('../img/star_w.png'); + background-position: 9px -596px; } .side-tabnav-tabs .tab .activity { - background-image:url('../img/activity.png'); + background-position: 10px -82px; } .side-tabnav-tabs .tab-cur .activity { - background-image:url('../img/activity_w.png'); + background-position: 10px -636px; } .side-tabnav-tabs .tab .wiki { - background-image:url('../img/wiki.png'); - background-position: 12px 50%; + background-position: 12px -122px; } .side-tabnav-tabs .tab-cur .wiki { - background-image:url('../img/wiki_w.png'); + background-position: 12px -680px; } .side-tabnav-tabs .tab .msgs { - background-image:url('../img/msgs.png'); + background-position: 10px -160px; } .side-tabnav-tabs .tab-cur .msgs { - background-image:url('../img/msgs_w.png'); + background-position: 10px -728px; } .side-tabnav-tabs .tab .clients { - background-image:url('../img/clients.png'); + background-position: 10px -198px; } .side-tabnav-tabs .tab-cur .clients { - background-image:url('../img/clients_w.png'); + background-position: 10px -772px; } .side-tabnav-tabs .tab .contacts { - background-image:url('../img/contacts.png'); + background-position: 11px -238px; } .side-tabnav-tabs .tab-cur .contacts { - background-image:url('../img/contacts_w.png'); + background-position: 11px -814px; } .side-tabnav-tabs .tab .folders { - background-image:url('../img/folders.png'); - background-position: 9px 50%; + background-position: 11px -275px; } .side-tabnav-tabs .tab-cur .folders { - background-image:url('../img/folders_w.png'); + background-position: 11px -855px; } .side-tabnav-tabs .tab .files { - background-image:url('../img/files.png'); - background-position: 12px 50%; + background-position: 13px -316px; } .side-tabnav-tabs .tab-cur .files { - background-image:url('../img/files_w.png'); + background-position: 13px -899px; } .side-tabnav-tabs .tab .links { - background-image:url('../img/links.png'); + background-position: 11px -357px; } .side-tabnav-tabs .tab-cur .links { - background-image:url('../img/links_w.png'); + background-position: 11px -940px; } .side-tabnav-tabs .tab .members { - background-image:url('../img/members.png'); - background-position: 13px 50%; + background-position: 13px -398px; } .side-tabnav-tabs .tab-cur .members { - background-image:url('../img/members_w.png'); + background-position: 13px -977px; } .side-tabnav-tabs .tab .admin { - background-image:url('../img/admin.png'); - background-position: 9px 50%; + background-position: 10px -439px; } .side-tabnav-tabs .tab-cur .admin { - background-image:url('../img/admin_w.png'); + background-position: 10px -1052px; } .side-tabnav-tabs .tab .group { - background-image:url('../img/groups.png'); - background-position: 13px 50%; + background-position: 11px -475px; } .side-tabnav-tabs .tab-cur .group { - background-image:url('../img/groups_w.png'); + background-position: 11px -1014px; } .side-tabnav-tabs .tab .traffic { - background-image:url('../img/traffic.png'); - background-position: 13px 50%; + background-position: 13px -515px; } .side-tabnav-tabs .tab-cur .traffic { - background-image:url('../img/traffic_w.png'); + background-position: 13px -1091px; } .side-tabnav-tabs .tab a:hover { background-color:#feefb8; @@ -531,15 +599,15 @@ textarea:-moz-placeholder {/* for FF */ margin:0; } .checkbox { + position:relative; display:inline-block; - background: url('../img/checkbox.png'); width:15px; height:15px; + background-position: 0 -1135px; margin-right:4px; - position:relative; } .checkbox-checked { - background:transparent url('../img/checkbox-checked.png'); + background-position: 0 -1153px; } .checkbox-label .avatar, .checkbox, @@ -711,20 +779,20 @@ textarea:-moz-placeholder {/* for FF */ } .tab-popup-tabs-nav .tab { display:inline-block; - border:0; - background:none; } .tab-popup-tabs-nav .tab .a { color:#000; font-size:15px; line-height:16px; - padding:6px 13px 4px; + display:inline-block; + padding:6px 13px 5px; border-bottom:3px solid transparent; margin-right:5px; } .tab-popup-tabs-nav .ui-state-active .a, .tab-popup-tabs-nav .tab .a:hover { color:#eb8205; + text-decoration:none; border-bottom-color:#eb8205; } .tab-popup-tabs .ui-tabs-panel .option-list { @@ -771,7 +839,7 @@ textarea:-moz-placeholder {/* for FF */ position:absolute; width:28px; height:28px; - background:transparent url('../img/popup_close.png') scroll no-repeat 0 0; + background-position:0 -1173px; cursor:pointer; top:-14px; right:-14px; @@ -801,12 +869,23 @@ textarea:-moz-placeholder {/* for FF */ } /**** ui-autocomplete *****/ .ui-autocomplete { + padding:2px; + border:1px solid #ddd; + border-radius:4px; background:#fff; overflow:auto; } -.ui-menu-item { - background-image:none; +.ui-menu .ui-menu-item a { + display:block; + padding:.2em .4em; + font-size:1.1em; + line-height:1.5; + text-decoration:none; + border:1px solid transparent; + border-radius:4px; + zoom:1; } +.ui-menu .ui-menu-item a.ui-state-hover { border-color:#fbcb09; background: #fdf5ce; color: #c77405; } /**** article ****/ .article { padding:40px 200px 40px 60px; @@ -1455,6 +1534,7 @@ textarea:-moz-placeholder {/* for FF */ .access-notice { margin: 0.8em 0 0.4em; } .repo-op { text-align:right; + margin-bottom:4px; } .file-op button, #file-op button, @@ -2382,10 +2462,15 @@ textarea:-moz-placeholder {/* for FF */ font-size:15px; line-height:21px; padding:3px 16px; - background:#fff; border:none; } +#discuss { + padding-left: 42px; + background-color:#fff; + background-position: 16px -162px; +} #click-into-group { + background:#fff; border-left:1px solid #ebebeb; } #bottom-bar button:focus { diff --git a/media/css/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png b/media/css/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png deleted file mode 100644 index 954e22dbd99e8c6dd7091335599abf2d10bf8003..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 260 zcmeAS@N?(olHy`uVBq!ia0vp^8X(NU1|)m_?Z^dEr#)R9Ln2z=UU%d=WFXS=@V?HT z#xG*`>Yvsgk=}99w^d^D^d*@m74oMo<%#FcopJf?u00-~YVKV2wzrI*_R6;UORMea zBFVSEnN~eiVA6V&z`E)YLz5Aok^D)In}Yn=OzDpgR5Wv0XfT8pOkmV{sKAJ-PO9#T zZK}IXj&Q-V!U)!LcB_3K0&C*{ diff --git a/media/css/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png b/media/css/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png deleted file mode 100644 index 64ece5707d91a6edf9fad4bfcce0c4dbcafcf58d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 251 zcmVbvPcjKS|RKP(6sDcCAB(_QB%0978a<$Ah$!b|E zwn;|HO0i8cQj@~)s!ajF0S002ovPDHLkV1oEp BYH0uf diff --git a/media/css/ui-lightness/images/ui-bg_flat_10_000000_40x100.png b/media/css/ui-lightness/images/ui-bg_flat_10_000000_40x100.png deleted file mode 100644 index abdc01082bf3534eafecc5819d28c9574d44ea89..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 178 zcmeAS@N?(olHy`uVBq!ia0vp^8bF-F!3HG1q!d*FsY*{5$B>N1x91EQ4=4yQY-ImG zFPf9b{J;c_6SHRK%WcbN_hZpM=(Ry;4Rxv2@@2Y=$K57eF$X$=!PC{xWt~$(69B)$ BI)4BF diff --git a/media/css/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png b/media/css/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png deleted file mode 100644 index 9b383f4d2eab09c0f2a739d6b232c32934bc620b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 104 zcmeAS@N?(olHy`uVBq!ia0vp^j6gJjgAK^akKnour1U*q978O6-yYw{%b*}|_(02F z@qbE9)0CJMo;*v*PWv`Vh2h6EmG8IS-Cm{3U~` zFlmZ}YMcJY=eo?o%*@I?2`NblNeMudl#t?{+tN>ySr~=F{k$>;_x^_y?afmf9pRKH0)6?eSP?3s5hEr>mdKI;Vst E0O;M1& diff --git a/media/css/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png b/media/css/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png deleted file mode 100644 index 39d5824d6af5456f1e89fc7847ea3599ea5fd815..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3762 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 diff --git a/media/css/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png b/media/css/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png deleted file mode 100644 index f1273672d253263b7564e9e21d69d7d9d0b337d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 90 zcmeAS@N?(olHy`uVBq!ia0vp^j6j^i!3HGVb)pi0l%l7LV~E7mxPQ=F85a&M@g_{ d|GeK{$Y5lo%PMu^>wln`44$rjF6*2UngE4^EGqy2 diff --git a/media/css/ui-lightness/images/ui-icons_222222_256x240.png b/media/css/ui-lightness/images/ui-icons_222222_256x240.png deleted file mode 100644 index b273ff111d219c9b9a8b96d57683d0075fb7871a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4369 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 diff --git a/media/css/ui-lightness/images/ui-icons_228ef1_256x240.png b/media/css/ui-lightness/images/ui-icons_228ef1_256x240.png deleted file mode 100644 index a641a371afa0fbb08ba599dc7ddf14b9bfc3c84f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4369 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 oBo%DI*Kv;w;*%(i9W@e{{5C=l}o! diff --git a/media/css/ui-lightness/images/ui-icons_ef8c08_256x240.png b/media/css/ui-lightness/images/ui-icons_ef8c08_256x240.png deleted file mode 100644 index 85e63e9f604ce042d59eb06a8428eeb7cb7896c9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4369 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 diff --git a/media/css/ui-lightness/images/ui-icons_ffd27a_256x240.png b/media/css/ui-lightness/images/ui-icons_ffd27a_256x240.png deleted file mode 100644 index e117effa3dca24e7978cfc5f8b967f661e81044f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4369 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 diff --git a/media/css/ui-lightness/jquery-ui-1.8.16.custom.css b/media/css/ui-lightness/jquery-ui-1.8.16.custom.css deleted file mode 100644 index c9bf940e4c..0000000000 --- a/media/css/ui-lightness/jquery-ui-1.8.16.custom.css +++ /dev/null @@ -1,330 +0,0 @@ -/* - * jQuery UI CSS Framework 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Theming/API - */ - -/* Layout helpers -----------------------------------*/ -.ui-helper-hidden { display: none; } -.ui-helper-hidden-accessible { position: absolute !important; clip: rect(1px 1px 1px 1px); clip: rect(1px,1px,1px,1px); } -.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; } -.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } -.ui-helper-clearfix { display: inline-block; } -/* required comment for clearfix to work in Opera \*/ -* html .ui-helper-clearfix { height:1%; } -.ui-helper-clearfix { display:block; } -/* end clearfix */ -.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; } - -/* Interaction Cues -----------------------------------*/ -.ui-state-disabled { cursor: default !important; } - -/* Icons -----------------------------------*/ - -/* states and images */ -.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; } - -/* Misc visuals -----------------------------------*/ - -/* Overlays */ -.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } - -/* Component containers -----------------------------------*/ -.ui-widget { font-family: Trebuchet MS, Tahoma, Verdana, Arial, sans-serif; font-size: 1.1em; } -.ui-widget .ui-widget { font-size: 1em; } -.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Trebuchet MS, Tahoma, Verdana, Arial, sans-serif; font-size: 1em; } -.ui-widget-content { border: 1px solid #dddddd; } -/* .ui-widget-header { border: 1px solid #e78f08; background: #f6a828 url(images/ui-bg_gloss-wave_35_f6a828_500x100.png) 50% 50% repeat-x; color: #ffffff; font-weight: bold; } */ -.ui-widget-header { color: #ffffff; font-weight: bold; } -.ui-widget-header a { color: #ffffff; } - -/* Interaction states -----------------------------------*/ -.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #cccccc; background: #f6f6f6 url(images/ui-bg_glass_100_f6f6f6_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #1c94c4; } -.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #808; text-decoration: none; } -.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #fbcb09; background: #fdf5ce url(images/ui-bg_glass_100_fdf5ce_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #c77405; } -.ui-state-hover a, .ui-state-hover a:hover { color: #c77405; text-decoration: none; } -.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #fbd850; background: #ffffff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #eb8f00; } -.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #eb8f00; text-decoration: none; } -.ui-widget :active { outline: none; } - -/* Interaction Cues -----------------------------------*/ -.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #fed22f; background: #ffe45c url(images/ui-bg_highlight-soft_75_ffe45c_1x100.png) 50% top repeat-x; color: #363636; } -.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636; } -.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a; background: #b81900 url(images/ui-bg_diagonals-thick_18_b81900_40x40.png) 50% 50% repeat; color: #ffffff; } -.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #ffffff; } -.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #ffffff; } -.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; } -.ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; font-weight: normal; } -.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; background-image: none; } - -/* Icons -----------------------------------*/ - -/* states and images */ -.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png); } -.ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); } -.ui-widget-header .ui-icon {background-image: url(images/ui-icons_ffffff_256x240.png); } -.ui-state-default .ui-icon { background-image: url(images/ui-icons_ef8c08_256x240.png); } -.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_ef8c08_256x240.png); } -.ui-state-active .ui-icon {background-image: url(images/ui-icons_ef8c08_256x240.png); } -.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_228ef1_256x240.png); } -.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_ffd27a_256x240.png); } - -/* positioning */ -.ui-icon-carat-1-n { background-position: 0 0; } -.ui-icon-carat-1-ne { background-position: -16px 0; } -.ui-icon-carat-1-e { background-position: -32px 0; } -.ui-icon-carat-1-se { background-position: -48px 0; } -.ui-icon-carat-1-s { background-position: -64px 0; } -.ui-icon-carat-1-sw { background-position: -80px 0; } -.ui-icon-carat-1-w { background-position: -96px 0; } -.ui-icon-carat-1-nw { background-position: -112px 0; } -.ui-icon-carat-2-n-s { background-position: -128px 0; } -.ui-icon-carat-2-e-w { background-position: -144px 0; } -.ui-icon-triangle-1-n { background-position: 0 -16px; } -.ui-icon-triangle-1-ne { background-position: -16px -16px; } -.ui-icon-triangle-1-e { background-position: -32px -16px; } -.ui-icon-triangle-1-se { background-position: -48px -16px; } -.ui-icon-triangle-1-s { background-position: -64px -16px; } -.ui-icon-triangle-1-sw { background-position: -80px -16px; } -.ui-icon-triangle-1-w { background-position: -96px -16px; } -.ui-icon-triangle-1-nw { background-position: -112px -16px; } -.ui-icon-triangle-2-n-s { background-position: -128px -16px; } -.ui-icon-triangle-2-e-w { background-position: -144px -16px; } -.ui-icon-arrow-1-n { background-position: 0 -32px; } -.ui-icon-arrow-1-ne { background-position: -16px -32px; } -.ui-icon-arrow-1-e { background-position: -32px -32px; } -.ui-icon-arrow-1-se { background-position: -48px -32px; } -.ui-icon-arrow-1-s { background-position: -64px -32px; } -.ui-icon-arrow-1-sw { background-position: -80px -32px; } -.ui-icon-arrow-1-w { background-position: -96px -32px; } -.ui-icon-arrow-1-nw { background-position: -112px -32px; } -.ui-icon-arrow-2-n-s { background-position: -128px -32px; } -.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; } -.ui-icon-arrow-2-e-w { background-position: -160px -32px; } -.ui-icon-arrow-2-se-nw { background-position: -176px -32px; } -.ui-icon-arrowstop-1-n { background-position: -192px -32px; } -.ui-icon-arrowstop-1-e { background-position: -208px -32px; } -.ui-icon-arrowstop-1-s { background-position: -224px -32px; } -.ui-icon-arrowstop-1-w { background-position: -240px -32px; } -.ui-icon-arrowthick-1-n { background-position: 0 -48px; } -.ui-icon-arrowthick-1-ne { background-position: -16px -48px; } -.ui-icon-arrowthick-1-e { background-position: -32px -48px; } -.ui-icon-arrowthick-1-se { background-position: -48px -48px; } -.ui-icon-arrowthick-1-s { background-position: -64px -48px; } -.ui-icon-arrowthick-1-sw { background-position: -80px -48px; } -.ui-icon-arrowthick-1-w { background-position: -96px -48px; } -.ui-icon-arrowthick-1-nw { background-position: -112px -48px; } -.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; } -.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; } -.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; } -.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; } -.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; } -.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; } -.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; } -.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; } -.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; } -.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; } -.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; } -.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; } -.ui-icon-arrowreturn-1-w { background-position: -64px -64px; } -.ui-icon-arrowreturn-1-n { background-position: -80px -64px; } -.ui-icon-arrowreturn-1-e { background-position: -96px -64px; } -.ui-icon-arrowreturn-1-s { background-position: -112px -64px; } -.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; } -.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; } -.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; } -.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; } -.ui-icon-arrow-4 { background-position: 0 -80px; } -.ui-icon-arrow-4-diag { background-position: -16px -80px; } -.ui-icon-extlink { background-position: -32px -80px; } -.ui-icon-newwin { background-position: -48px -80px; } -.ui-icon-refresh { background-position: -64px -80px; } -.ui-icon-shuffle { background-position: -80px -80px; } -.ui-icon-transfer-e-w { background-position: -96px -80px; } -.ui-icon-transferthick-e-w { background-position: -112px -80px; } -.ui-icon-folder-collapsed { background-position: 0 -96px; } -.ui-icon-folder-open { background-position: -16px -96px; } -.ui-icon-document { background-position: -32px -96px; } -.ui-icon-document-b { background-position: -48px -96px; } -.ui-icon-note { background-position: -64px -96px; } -.ui-icon-mail-closed { background-position: -80px -96px; } -.ui-icon-mail-open { background-position: -96px -96px; } -.ui-icon-suitcase { background-position: -112px -96px; } -.ui-icon-comment { background-position: -128px -96px; } -.ui-icon-person { background-position: -144px -96px; } -.ui-icon-print { background-position: -160px -96px; } -.ui-icon-trash { background-position: -176px -96px; } -.ui-icon-locked { background-position: -192px -96px; } -.ui-icon-unlocked { background-position: -208px -96px; } -.ui-icon-bookmark { background-position: -224px -96px; } -.ui-icon-tag { background-position: -240px -96px; } -.ui-icon-home { background-position: 0 -112px; } -.ui-icon-flag { background-position: -16px -112px; } -.ui-icon-calendar { background-position: -32px -112px; } -.ui-icon-cart { background-position: -48px -112px; } -.ui-icon-pencil { background-position: -64px -112px; } -.ui-icon-clock { background-position: -80px -112px; } -.ui-icon-disk { background-position: -96px -112px; } -.ui-icon-calculator { background-position: -112px -112px; } -.ui-icon-zoomin { background-position: -128px -112px; } -.ui-icon-zoomout { background-position: -144px -112px; } -.ui-icon-search { background-position: -160px -112px; } -.ui-icon-wrench { background-position: -176px -112px; } -.ui-icon-gear { background-position: -192px -112px; } -.ui-icon-heart { background-position: -208px -112px; } -.ui-icon-star { background-position: -224px -112px; } -.ui-icon-link { background-position: -240px -112px; } -.ui-icon-cancel { background-position: 0 -128px; } -.ui-icon-plus { background-position: -16px -128px; } -.ui-icon-plusthick { background-position: -32px -128px; } -.ui-icon-minus { background-position: -48px -128px; } -.ui-icon-minusthick { background-position: -64px -128px; } -.ui-icon-close { background-position: -80px -128px; } -.ui-icon-closethick { background-position: -96px -128px; } -.ui-icon-key { background-position: -112px -128px; } -.ui-icon-lightbulb { background-position: -128px -128px; } -.ui-icon-scissors { background-position: -144px -128px; } -.ui-icon-clipboard { background-position: -160px -128px; } -.ui-icon-copy { background-position: -176px -128px; } -.ui-icon-contact { background-position: -192px -128px; } -.ui-icon-image { background-position: -208px -128px; } -.ui-icon-video { background-position: -224px -128px; } -.ui-icon-script { background-position: -240px -128px; } -.ui-icon-alert { background-position: 0 -144px; } -.ui-icon-info { background-position: -16px -144px; } -.ui-icon-notice { background-position: -32px -144px; } -.ui-icon-help { background-position: -48px -144px; } -.ui-icon-check { background-position: -64px -144px; } -.ui-icon-bullet { background-position: -80px -144px; } -.ui-icon-radio-off { background-position: -96px -144px; } -.ui-icon-radio-on { background-position: -112px -144px; } -.ui-icon-pin-w { background-position: -128px -144px; } -.ui-icon-pin-s { background-position: -144px -144px; } -.ui-icon-play { background-position: 0 -160px; } -.ui-icon-pause { background-position: -16px -160px; } -.ui-icon-seek-next { background-position: -32px -160px; } -.ui-icon-seek-prev { background-position: -48px -160px; } -.ui-icon-seek-end { background-position: -64px -160px; } -.ui-icon-seek-start { background-position: -80px -160px; } -/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */ -.ui-icon-seek-first { background-position: -80px -160px; } -.ui-icon-stop { background-position: -96px -160px; } -.ui-icon-eject { background-position: -112px -160px; } -.ui-icon-volume-off { background-position: -128px -160px; } -.ui-icon-volume-on { background-position: -144px -160px; } -.ui-icon-power { background-position: 0 -176px; } -.ui-icon-signal-diag { background-position: -16px -176px; } -.ui-icon-signal { background-position: -32px -176px; } -.ui-icon-battery-0 { background-position: -48px -176px; } -.ui-icon-battery-1 { background-position: -64px -176px; } -.ui-icon-battery-2 { background-position: -80px -176px; } -.ui-icon-battery-3 { background-position: -96px -176px; } -.ui-icon-circle-plus { background-position: 0 -192px; } -.ui-icon-circle-minus { background-position: -16px -192px; } -.ui-icon-circle-close { background-position: -32px -192px; } -.ui-icon-circle-triangle-e { background-position: -48px -192px; } -.ui-icon-circle-triangle-s { background-position: -64px -192px; } -.ui-icon-circle-triangle-w { background-position: -80px -192px; } -.ui-icon-circle-triangle-n { background-position: -96px -192px; } -.ui-icon-circle-arrow-e { background-position: -112px -192px; } -.ui-icon-circle-arrow-s { background-position: -128px -192px; } -.ui-icon-circle-arrow-w { background-position: -144px -192px; } -.ui-icon-circle-arrow-n { background-position: -160px -192px; } -.ui-icon-circle-zoomin { background-position: -176px -192px; } -.ui-icon-circle-zoomout { background-position: -192px -192px; } -.ui-icon-circle-check { background-position: -208px -192px; } -.ui-icon-circlesmall-plus { background-position: 0 -208px; } -.ui-icon-circlesmall-minus { background-position: -16px -208px; } -.ui-icon-circlesmall-close { background-position: -32px -208px; } -.ui-icon-squaresmall-plus { background-position: -48px -208px; } -.ui-icon-squaresmall-minus { background-position: -64px -208px; } -.ui-icon-squaresmall-close { background-position: -80px -208px; } -.ui-icon-grip-dotted-vertical { background-position: 0 -224px; } -.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; } -.ui-icon-grip-solid-vertical { background-position: -32px -224px; } -.ui-icon-grip-solid-horizontal { background-position: -48px -224px; } -.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; } -.ui-icon-grip-diagonal-se { background-position: -80px -224px; } - -/* Misc visuals -----------------------------------*/ - -/* Corner radius */ -.ui-corner-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; -khtml-border-top-left-radius: 4px; border-top-left-radius: 4px; } -.ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; -khtml-border-top-right-radius: 4px; border-top-right-radius: 4px; } -.ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; -khtml-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; } -.ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br { -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; -khtml-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; } - -/* Overlays */ -.ui-widget-overlay { background: #666666 url(images/ui-bg_diagonals-thick_20_666666_40x40.png) 50% 50% repeat; opacity: .50; } -.ui-widget-shadow { margin: -5px 0 0 -5px; padding: 5px; background: #000000 url(images/ui-bg_flat_10_000000_40x100.png) 50% 50% repeat-x; opacity: .20; -moz-border-radius: 5px; -khtml-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; } -/* - * jQuery UI Autocomplete 1.8.16 - */ -.ui-autocomplete { position: absolute; cursor: default; } - -/* workarounds */ -* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */ - -/* - * jQuery UI Menu 1.8.16 - */ -.ui-menu { - list-style:none; - padding: 2px; - margin: 0; - display:block; - float: left; -} -.ui-menu .ui-menu { - margin-top: -3px; -} -.ui-menu .ui-menu-item { - margin:0; - padding: 0; - zoom: 1; - float: left; - clear: left; - width: 100%; -} -.ui-menu .ui-menu-item a { - text-decoration:none; - display:block; - padding:.2em .4em; - line-height:1.5; - zoom:1; -} -.ui-menu .ui-menu-item a.ui-state-hover, -.ui-menu .ui-menu-item a.ui-state-active { - font-weight: normal; - margin: -1px; -} -/* - * jQuery UI Tabs 1.8.16 - */ -.ui-tabs { position: relative; padding: .2em; zoom: 1; } /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */ -.ui-tabs .ui-tabs-nav { margin: 0; padding: .2em .2em 0; } -.ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 1px; margin: 0 .2em 1px 0; border-bottom: 0 !important; padding: 0; white-space: nowrap; } -.ui-tabs .ui-tabs-nav li a { float: left; padding: .5em 1em; text-decoration: none; } -.ui-tabs .ui-tabs-nav li.ui-tabs-selected { margin-bottom: 0; padding-bottom: 1px; } -.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; } -.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */ -.ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; } -.ui-tabs .ui-tabs-hide { display: none !important; } -/* - * jQuery UI Progressbar 1.8.16 - */ -.ui-progressbar { height:2em; text-align: left; } -.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; } diff --git a/media/img/activity.png b/media/img/activity.png deleted file mode 100644 index 62c95c7ee66a4cfafc1cf4d982b7447ea626de90..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3233 zcmV;S3|{kzP)4Tx07wm;mUmPX*B8g%%xo{TU6vwc>AklFq%OTkl_mFQv@x1^BM1TV}0C2duqR=S6Xn?LjUp6xrb&~O43j*Nv zEr418u3H3zGns$s|L;SQD-ufpfWpxLJ03rmi*g~#S@{x?OrJ!Vo{}kJ7$ajbnjp%m zGEV!%=70KpVow?KvV}a4moSaFCQKV= zXBIPnpP$8-NG!rR+)R#`$7JVZi#Wn10DSspSrkx`)s~4C+0n+?(b2-z5-tDd^^cpM zz5W?wz5V3zGUCskL5!X++LzcbT23thtSPiMTfS&1I{|204}j|3FPi>70OSh+Xzlyz zdl<5LNtZ}OE>>3g`T3RtKG#xK(9i3CI(+v0d-&=+OWAp!Ysd8Ar*foO5~i%E+?=c& zshF87;&Ay)i~kOm zCIB-Z!^JGdti+UJsxgN!t(Y#%b<8kk67vyD#cE*9urAm@Y#cTXn~yERR$}Y1E!Yd# zo7hq8Ya9;8z!~A3Z~?e@Tn26#t`xT$*Ni)h>&K1Yrto;Y8r}@=h7ZGY@Dh9xekcA2 z{tSKqKZ<`tAQQ9+wgf*y0zpVvOQ<9qCY&Y=5XJ~ILHOG0j2XwBQ%7jM`P2tv~{#P+6CGu9Y;5!2hua>CG_v;z4S?CC1rc%807-x z8s$^ULkxsr$OvR)G0GUn7`GVjR5Vq*RQM{JRGL%DRgX~5SKp(4L49HleU9rK?wsN|$L8GCfHh1tA~lw29MI^|n9|hJ z^w$(=?$kW5IibbS^3=-Es?a*EHLgw5cGnhYS7@Kne#%s4dNH$@Rm?8tq>hG8fR0pW zzfP~tjINRHeBHIW&AJctNO~;2RJ{tlPQ6KeZT(RF<@$~KcMXUJEQ54|9R}S7(}qTd zv4$HA+YFx=sTu_uEj4O1x^GN1_Ap*-Tx)#81ZToB$u!w*a?KPrbudjgtugI0gUuYx z1ZKO<`pvQC&gMe%TJu2*iiMX&o<*a@uqDGX#B!}=o8@yWeX9hktybMuAFUm%v#jf^ z@7XBX1lg>$>9G0T*3_13TVs2}j%w#;x5}>F?uEUXJ>Pzh{cQ)DL#V?BhfaqNj!uqZ z$0o;dCw-@6r(I5iEIKQkRm!^LjCJ;QUgdn!`K^nii^S!a%Wtk0u9>cfU7yS~n#-SC zH+RHM*Nx-0-)+d9>7MMq&wa>4$AjZh>+#4_&y(j_?>XjW;+5fb#Ot}YwYS*2#e16V z!d}5X>x20C`xN{1`YQR(_pSDQ=%?$K=GW*q>F?mb%>QfvHXt})YrtTjW*|4PA#gIt zDQHDdS1=_wD!4lMQHW`XIHV&K4h;(37J7f4!93x-wlEMD7`83!LAX));_x3Ma1r4V zH4%>^Z6cRPc1O{olA;bry^i*dE{nc5-*~=serJq)Okzw!%yg_zYWi`#ol25V;v^kU#wN!mA5MPH z3FFjqrcwe^cBM>m+1wr6XFN|{1#g`1#xLiOrMjh-r#?w@OWT$Wgg6&&5F%x&L(6hXP*!%2{VOVIa)adIsGCtQITk9vCHD^izmgw;`&@D zcVTY3gpU49^+=7S>!rha?s+wNZ}MaEj~6Hw2n%|am@e70WNfM5(r=exmT{MLF4tMU zX8G_6uNC`OLMu~NcCOM}Rk&(&wg2ivYe;J{*Zj2BdTsgISLt?eJQu}$~QLORDCnMIdyYynPb_W zEx0YhEw{FMY&}%2SiZD;WLxOA)(U1tamB0cN!u@1+E?z~LE0hRF;o>&)xJ}I=a!xC ztJAA*)_B)6@6y<{Y1i~_-tK`to_m`1YVIxB`);3L-|hYW`&(-bYby`n4&)tpTo+T< z{VnU;hI;k-lKKw^g$IWYMIP#EaB65ctZ}%k5pI+=jvq-pa_u{x@7kLzn)Wv{noEv? zqtc^Kzfb=D*0JDYoyS?nn|?6(VOI;SrMMMpUD7()mfkkh9^c-7BIrbChiga6kCs0k zJgIZC=9KcOveTr~g{NoFEIl)IR&;jaT-v#j&ZN$J=i|=b=!)p-y%2oi(nY_E=exbS z&s=i5bn>#xz3Ke>~2=f&N;yEFGz-^boBexUH6@}b7V+Mi8+ZXR+R zIyLMw-18{v(Y+Dw$g^K^e|bMz_?Y^*a!h-y;fd{&ljDBl*PbqTI{HlXY-Xb9SH)j< zJvV;-!*8Cy^-RW1j=m7TnEk!8^Og2}$Gxum?#{&p-(8Qh_daW_ zv(CBgZLQ@Dm;R>9571-K4*T#ER^bEe!hhoCQrvt89>EHD_%QT=;+`HDfKgD^j@8L; z=ZRTa7x|rn{uDn<`fSpra{qm}1`A*{m6)BPz6 zhAJ5k>4g~>f({7T!&pvE-p6fXKj0mlhiH-QF~M(89W;r)tW$^w=Q4{k2a)9g_EUHd zAwC-`st$gF{;X3-qhBfBg*KyTRV;sjv6UPv9?{k?vp+h8lo=P78?I9mEi-t-pXh1c zinqjnL*32XQzv=FKIqOEx9FRjKEX?fn;JV!Ov22gP2F{yjX72>%w;J#*YjX2I}YB- z7C1I_vO@4VIPZ~JtaI%0*iIb09xKpQ^D{p;J^VG?&V$%_6~FKg;^4gbH@R@B*qFN> z9^+-)Or775FB);MZ_7ry;;c?XJlGU&Qq|@ZnLtPTe4TwGoBFbeKWq@`2EPYiq18Nl z<0*(em~C&Msy=Ucly}t?h$HA*q&5?$#KUZpJ$?xN5MtHO!m;d9{0xql!Bc!ITZG1E zAkR4VdT0M3u0X5raIE!1^a>oqrn#@nI5zoU9lcv%$4Tx07wm;mUmPX*B8g%%xo{TU6vwc>AklFq%OTkl_mFQv@x1^BM1TV}0C2duqR=S6Xn?LjUp6xrb&~O43j*Nv zEr418u3H3zGns$s|L;SQD-ufpfWpxLJ03rmi*g~#S@{x?OrJ!Vo{}kJ7$ajbnjp%m zGEV!%=70KpVow?KvV}a4moSaFCQKV= zXBIPnpP$8-NG!rR+)R#`$7JVZi#Wn10DSspSrkx`)s~4C+0n+?(b2-z5-tDd^^cpM zz5W?wz5V3zGUCskL5!X++LzcbT23thtSPiMTfS&1I{|204}j|3FPi>70OSh+Xzlyz zdl<5LNtZ}OE>>3g`T3RtKG#xK(9i3CI(+v0d-&=+OWAp!Ysd8Ar*foO5~i%E+?=c& zshF87;&Ay)i~kOm zCIB-Z!^JGdti+UJsxgN!t(Y#%b<8kk67vyD#cE*9urAm@Y#cTXn~yERR$}Y1E!Yd# zo7hq8Ya9;8z!~A3Z~?e@Tn26#t`xT$*Ni)h>&K1Yrto;Y8r}@=h7ZGY@Dh9xekcA2 z{tSKqKZ<`tAQQ9+wgf*y0zpVvOQ<9qCY&Y=5XJ~ILHOG0j2XwBQ%7jM`P2tv~{#P+6CGu9Y;5!2hua>CG_v;z4S?CC1rc%807-x z8s$^ULkxsr$OvR)G0GUn7`GVjR5Vq*RQM{JRGL%DRgX~5SKp(4L49HleU9rK?wsN|$L8GCfHh1tA~lw29MI^|n9|hJ z^w$(=?$kW5IibbS^3=-Es?a*EHLgw5cGnhYS7@Kne#%s4dNH$@Rm?8tq>hG8fR0pW zzfP~tjINRHeBHIW&AJctNO~;2RJ{tlPQ6KeZT(RF<@$~KcMXUJEQ54|9R}S7(}qTd zv4$HA+YFx=sTu_uEj4O1x^GN1_Ap*-Tx)#81ZToB$u!w*a?KPrbudjgtugI0gUuYx z1ZKO<`pvQC&gMe%TJu2*iiMX&o<*a@uqDGX#B!}=o8@yWeX9hktybMuAFUm%v#jf^ z@7XBX1lg>$>9G0T*3_13TVs2}j%w#;x5}>F?uEUXJ>Pzh{cQ)DL#V?BhfaqNj!uqZ z$0o;dCw-@6r(I5iEIKQkRm!^LjCJ;QUgdn!`K^nii^S!a%Wtk0u9>cfU7yS~n#-SC zH+RHM*Nx-0-)+d9>7MMq&wa>4$AjZh>+#4_&y(j_?>XjW;+5fb#Ot}YwYS*2#e16V z!d}5X>x20C`xN{1`YQR(_pSDQ=%?$K=GW*q>F?mb%>QfvHXt})YrtTjW*|4PA#gIt zDQHDdS1=_wD!4lMQHW`XIHV&K4h;(37J7f4!93x-wlEMD7`83!LAX));_x3Ma1r4V zH4%>^Z6cRPc1O{olA;bry^i*dE{nc5-*~=serJq)Okzw!%yg_zYWi`#ol25V;v^kU#wN!mA5MPH z3FFjqrcwe^cBM>m+1wr6XFN|{1#g`1#xLiOrMjh-r#?w@OWT$Wgg6&&5F%x&L(6hXP*!%2{VOVIa)adIsGCtQITk9vCHD^izmgw;`&@D zcVTY3gpU49^+=7S>!rha?s+wNZ}MaEj~6Hw2n%|am@e70WNfM5(r=exmT{MLF4tMU zX8G_6uNC`OLMu~NcCOM}Rk&(&wg2ivYe;J{*Zj2BdTsgISLt?eJQu}$~QLORDCnMIdyYynPb_W zEx0YhEw{FMY&}%2SiZD;WLxOA)(U1tamB0cN!u@1+E?z~LE0hRF;o>&)xJ}I=a!xC ztJAA*)_B)6@6y<{Y1i~_-tK`to_m`1YVIxB`);3L-|hYW`&(-bYby`n4&)tpTo+T< z{VnU;hI;k-lKKw^g$IWYMIP#EaB65ctZ}%k5pI+=jvq-pa_u{x@7kLzn)Wv{noEv? zqtc^Kzfb=D*0JDYoyS?nn|?6(VOI;SrMMMpUD7()mfkkh9^c-7BIrbChiga6kCs0k zJgIZC=9KcOveTr~g{NoFEIl)IR&;jaT-v#j&ZN$J=i|=b=!)p-y%2oi(nY_E=exbS z&s=i5bn>#xz3Ke>~2=f&N;yEFGz-^boBexUH6@}b7V+Mi8+ZXR+R zIyLMw-18{v(Y+Dw$g^K^e|bMz_?Y^*a!h-y;fd{&ljDBl*PbqTI{HlXY-Xb9SH)j< zJvV;-!*8Cy^-RW1j=m7TnEk!fAU=-qDLw=q@osr9I zhdtZj^rhE?z$=Dw^+dx8*qG9~4E(YcqmR6%)Z!Cr@(0%W{3SET_- ztki#jI5U^hiI#iWdq8A}v;GuKW{D@M--AY@eq*lzQN-oF!hF}C{xII00000NkvXXu0mjf>bERE diff --git a/media/img/admin.png b/media/img/admin.png deleted file mode 100644 index 725d9db61e32fe0403472ee1b3512cd74c6c3f80..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3067 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 mAkkm-@ye>QA`S72#LPe9euu-x3-mYu0000X z-OvC3|IZgcag4hm>s~=Y!5aoGuhhhplsUO6DI(3`?5mb=Opq>qc}bOR+I;)^U!Ok- zZ4n5yp78za>+pKDq&Zy+g*6y19dGe%ir5%<_DGvZ$lU{MH=>1Nxx@H;uFap>&{^~Q z`T6;tm;Qfz?9P^#_pVpxK+3eLZ*L;q64rfER$JMWlaic#n`MixD8sxpW)Dj)SuF%Q Ol)=;0&t;ucLK6U(U0C7( diff --git a/media/img/clients.png b/media/img/clients.png deleted file mode 100644 index 19d5ceed0a1ce1611ced58335f7c8793eef45f34..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2847 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 diff --git a/media/img/folders.png b/media/img/folders.png deleted file mode 100644 index 787809bebe19dafe6609c4a6579593cd79fa9c61..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2941 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 vh5|U1Ky3geMd~I$sKHt diff --git a/media/img/go_link.png b/media/img/go_link.png deleted file mode 100644 index c55ba102a919a1d8f12200b3282cbde325ad2bcf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3299 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 diff --git a/media/img/groups_w.png b/media/img/groups_w.png deleted file mode 100644 index c61e03ffa09e34823fcba62008afbc01ade7abaa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3081 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 XLTYR6JpVDl00000NkvXXu0mjfH>v7^ diff --git a/media/img/li.gif b/media/img/li.gif deleted file mode 100644 index d991e8db2d04a13437b75da1a81e8ecb379f847b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 49 zcmZ?wbhEHbWMN=qXkcVWOH2Fz|G(l-7DfgJMg|=QAOOiYFmbR5wPoz8bz)?&1^^_H B3cLUS diff --git a/media/img/lib.png b/media/img/lib.png deleted file mode 100644 index e5767018e574d1395e91aed3ed0d6383b848c1c6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2810 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 diff --git a/media/img/links.png b/media/img/links.png deleted file mode 100644 index 8c68fa12414f30ef61b16dba85335138fb832335..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3239 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 Ze*pF-dN^Bq75@ML002ovPDHLkV1inBGtU43 diff --git a/media/img/links_w.png b/media/img/links_w.png deleted file mode 100644 index 8997904f3e4abd8a9824cf4a2329cd0ecc8d45cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3193 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 diff --git a/media/img/members.png b/media/img/members.png deleted file mode 100644 index 2b13bbab871848fcb8db63b2518b17d65105934e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2988 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 diff --git a/media/img/msgs_w.png b/media/img/msgs_w.png deleted file mode 100644 index 1efec970878c97e4e129ae5f63cb2757dc3a64ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3092 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 diff --git a/media/img/star.png b/media/img/star.png deleted file mode 100644 index caa2e3ac346ca8bec1d2ca4ca904a2d3a1a2d3ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3090 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 diff --git a/media/img/traffic_w.png b/media/img/traffic_w.png deleted file mode 100644 index 50d592c92ebe1160c26fe53c634af13864783a21..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 141 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 P00000NkvXXu0mjfm%w*$ diff --git a/media/js/jq.min.js b/media/js/jq.min.js index 2b33e28e93..c4eb362283 100644 --- a/media/js/jq.min.js +++ b/media/js/jq.min.js @@ -168,20 +168,16 @@ this._value()/this.options.max},_refreshValue:function(){var a=this.value(),c=th * */ jQuery.cookie = function (key, value, options) { - // key and value given, set cookie... if (arguments.length > 1 && (value === null || typeof value !== "object")) { options = jQuery.extend({}, options); - if (value === null) { options.expires = -1; } - if (typeof options.expires === 'number') { var days = options.expires, t = options.expires = new Date(); t.setDate(t.getDate() + days); } - return (document.cookie = [ encodeURIComponent(key), '=', options.raw ? String(value) : encodeURIComponent(String(value)), @@ -191,7 +187,6 @@ jQuery.cookie = function (key, value, options) { options.secure ? '; secure' : '' ].join('')); } - // key and possibly options given, get cookie... options = value || {}; var result, decode = options.raw ? function (s) { return s; } : decodeURIComponent; diff --git a/media/jstree_pre1.0_stable/jquery.jstree.js b/media/jstree_pre1.0_stable/jquery.jstree.js index 9b08b7cf2a..87d7ee9e75 100644 --- a/media/jstree_pre1.0_stable/jquery.jstree.js +++ b/media/jstree_pre1.0_stable/jquery.jstree.js @@ -1231,179 +1231,6 @@ })(jQuery); //*/ -/* - * jsTree CRRM plugin - * Handles creating/renaming/removing/moving nodes by user interaction. - */ -(function ($) { - $.jstree.plugin("crrm", { - __init : function () { - this.get_container() - .bind("move_node.jstree", $.proxy(function (e, data) { - if(this._get_settings().crrm.move.open_onmove) { - var t = this; - data.rslt.np.parentsUntil(".jstree").andSelf().filter(".jstree-closed").each(function () { - t.open_node(this, false, true); - }); - } - }, this)); - }, - defaults : { - input_width_limit : 200, - move : { - always_copy : false, // false, true or "multitree" - open_onmove : true, - default_position : "last", - check_move : function (m) { return true; } - } - }, - _fn : { - _show_input : function (obj, callback) { - obj = this._get_node(obj); - var rtl = this._get_settings().core.rtl, - w = this._get_settings().crrm.input_width_limit, - w1 = obj.children("ins").width(), - w2 = obj.find("> a:visible > ins").width() * obj.find("> a:visible > ins").length, - t = this.get_text(obj), - h1 = $("
    ", { css : { "position" : "absolute", "top" : "-200px", "left" : (rtl ? "0px" : "-1000px"), "visibility" : "hidden" } }).appendTo("body"), - h2 = obj.css("position","relative").append( - $("", { - "value" : t, - "class" : "jstree-rename-input", - // "size" : t.length, - "css" : { - "padding" : "0", - "border" : "1px solid silver", - "position" : "absolute", - "left" : (rtl ? "auto" : (w1 + w2 + 4) + "px"), - "right" : (rtl ? (w1 + w2 + 4) + "px" : "auto"), - "top" : "0px", - "height" : (this.data.core.li_height - 2) + "px", - "lineHeight" : (this.data.core.li_height - 2) + "px", - "width" : "150px" // will be set a bit further down - }, - "blur" : $.proxy(function () { - var i = obj.children(".jstree-rename-input"), - v = i.val(); - if(v === "") { v = t; } - h1.remove(); - i.remove(); // rollback purposes - this.set_text(obj,t); // rollback purposes - this.rename_node(obj, v); - callback.call(this, obj, v, t); - obj.css("position",""); - }, this), - "keyup" : function (event) { - var key = event.keyCode || event.which; - if(key == 27) { this.value = t; this.blur(); return; } - else if(key == 13) { this.blur(); return; } - else { - h2.width(Math.min(h1.text("pW" + this.value).width(),w)); - } - }, - "keypress" : function(event) { - var key = event.keyCode || event.which; - if(key == 13) { return false; } - } - }) - ).children(".jstree-rename-input"); - this.set_text(obj, ""); - h1.css({ - fontFamily : h2.css('fontFamily') || '', - fontSize : h2.css('fontSize') || '', - fontWeight : h2.css('fontWeight') || '', - fontStyle : h2.css('fontStyle') || '', - fontStretch : h2.css('fontStretch') || '', - fontVariant : h2.css('fontVariant') || '', - letterSpacing : h2.css('letterSpacing') || '', - wordSpacing : h2.css('wordSpacing') || '' - }); - h2.width(Math.min(h1.text("pW" + h2[0].value).width(),w))[0].select(); - }, - rename : function (obj) { - obj = this._get_node(obj); - this.__rollback(); - var f = this.__callback; - this._show_input(obj, function (obj, new_name, old_name) { - f.call(this, { "obj" : obj, "new_name" : new_name, "old_name" : old_name }); - }); - }, - create : function (obj, position, js, callback, skip_rename) { - var t, _this = this; - obj = this._get_node(obj); - if(!obj) { obj = -1; } - this.__rollback(); - t = this.create_node(obj, position, js, function (t) { - var p = this._get_parent(t), - pos = $(t).index(); - if(callback) { callback.call(this, t); } - if(p.length && p.hasClass("jstree-closed")) { this.open_node(p, false, true); } - if(!skip_rename) { - this._show_input(t, function (obj, new_name, old_name) { - _this.__callback({ "obj" : obj, "name" : new_name, "parent" : p, "position" : pos }); - }); - } - else { _this.__callback({ "obj" : t, "name" : this.get_text(t), "parent" : p, "position" : pos }); } - }); - return t; - }, - remove : function (obj) { - obj = this._get_node(obj, true); - var p = this._get_parent(obj), prev = this._get_prev(obj); - this.__rollback(); - obj = this.delete_node(obj); - if(obj !== false) { this.__callback({ "obj" : obj, "prev" : prev, "parent" : p }); } - }, - check_move : function () { - if(!this.__call_old()) { return false; } - var s = this._get_settings().crrm.move; - if(!s.check_move.call(this, this._get_move())) { return false; } - return true; - }, - move_node : function (obj, ref, position, is_copy, is_prepared, skip_check) { - var s = this._get_settings().crrm.move; - if(!is_prepared) { - if(typeof position === "undefined") { position = s.default_position; } - if(position === "inside" && !s.default_position.match(/^(before|after)$/)) { position = s.default_position; } - return this.__call_old(true, obj, ref, position, is_copy, false, skip_check); - } - // if the move is already prepared - if(s.always_copy === true || (s.always_copy === "multitree" && obj.rt.get_index() !== obj.ot.get_index() )) { - is_copy = true; - } - this.__call_old(true, obj, ref, position, is_copy, true, skip_check); - }, - - cut : function (obj) { - obj = this._get_node(obj, true); - if(!obj || !obj.length) { return false; } - this.data.crrm.cp_nodes = false; - this.data.crrm.ct_nodes = obj; - this.__callback({ "obj" : obj }); - }, - copy : function (obj) { - obj = this._get_node(obj, true); - if(!obj || !obj.length) { return false; } - this.data.crrm.ct_nodes = false; - this.data.crrm.cp_nodes = obj; - this.__callback({ "obj" : obj }); - }, - paste : function (obj) { - obj = this._get_node(obj); - if(!obj || !obj.length) { return false; } - var nodes = this.data.crrm.ct_nodes ? this.data.crrm.ct_nodes : this.data.crrm.cp_nodes; - if(!this.data.crrm.ct_nodes && !this.data.crrm.cp_nodes) { return false; } - if(this.data.crrm.ct_nodes) { this.move_node(this.data.crrm.ct_nodes, obj); this.data.crrm.ct_nodes = false; } - if(this.data.crrm.cp_nodes) { this.move_node(this.data.crrm.cp_nodes, obj, false, true); } - this.__callback({ "obj" : obj, "nodes" : nodes }); - } - } - }); - // include the crr plugin by default - // $.jstree.defaults.plugins.push("crrm"); -})(jQuery); -//*/ - /* * jsTree themes plugin * Handles loading and setting themes, as well as detecting path to themes, etc. @@ -1482,147 +1309,6 @@ })(jQuery); //*/ -/* - * jsTree hotkeys plugin - * Enables keyboard navigation for all tree instances - * Depends on the jstree ui & jquery hotkeys plugins - */ -(function ($) { - var bound = []; - function exec(i, event) { - var f = $.jstree._focused(), tmp; - if(f && f.data && f.data.hotkeys && f.data.hotkeys.enabled) { - tmp = f._get_settings().hotkeys[i]; - if(tmp) { return tmp.call(f, event); } - } - } - $.jstree.plugin("hotkeys", { - __init : function () { - if(typeof $.hotkeys === "undefined") { throw "jsTree hotkeys: jQuery hotkeys plugin not included."; } - if(!this.data.ui) { throw "jsTree hotkeys: jsTree UI plugin not included."; } - $.each(this._get_settings().hotkeys, function (i, v) { - if(v !== false && $.inArray(i, bound) == -1) { - $(document).bind("keydown", i, function (event) { return exec(i, event); }); - bound.push(i); - } - }); - this.get_container() - .bind("lock.jstree", $.proxy(function () { - if(this.data.hotkeys.enabled) { this.data.hotkeys.enabled = false; this.data.hotkeys.revert = true; } - }, this)) - .bind("unlock.jstree", $.proxy(function () { - if(this.data.hotkeys.revert) { this.data.hotkeys.enabled = true; } - }, this)); - this.enable_hotkeys(); - }, - defaults : { - "up" : function () { - var o = this.data.ui.hovered || this.data.ui.last_selected || -1; - this.hover_node(this._get_prev(o)); - return false; - }, - "ctrl+up" : function () { - var o = this.data.ui.hovered || this.data.ui.last_selected || -1; - this.hover_node(this._get_prev(o)); - return false; - }, - "shift+up" : function () { - var o = this.data.ui.hovered || this.data.ui.last_selected || -1; - this.hover_node(this._get_prev(o)); - return false; - }, - "down" : function () { - var o = this.data.ui.hovered || this.data.ui.last_selected || -1; - this.hover_node(this._get_next(o)); - return false; - }, - "ctrl+down" : function () { - var o = this.data.ui.hovered || this.data.ui.last_selected || -1; - this.hover_node(this._get_next(o)); - return false; - }, - "shift+down" : function () { - var o = this.data.ui.hovered || this.data.ui.last_selected || -1; - this.hover_node(this._get_next(o)); - return false; - }, - "left" : function () { - var o = this.data.ui.hovered || this.data.ui.last_selected; - if(o) { - if(o.hasClass("jstree-open")) { this.close_node(o); } - else { this.hover_node(this._get_prev(o)); } - } - return false; - }, - "ctrl+left" : function () { - var o = this.data.ui.hovered || this.data.ui.last_selected; - if(o) { - if(o.hasClass("jstree-open")) { this.close_node(o); } - else { this.hover_node(this._get_prev(o)); } - } - return false; - }, - "shift+left" : function () { - var o = this.data.ui.hovered || this.data.ui.last_selected; - if(o) { - if(o.hasClass("jstree-open")) { this.close_node(o); } - else { this.hover_node(this._get_prev(o)); } - } - return false; - }, - "right" : function () { - var o = this.data.ui.hovered || this.data.ui.last_selected; - if(o && o.length) { - if(o.hasClass("jstree-closed")) { this.open_node(o); } - else { this.hover_node(this._get_next(o)); } - } - return false; - }, - "ctrl+right" : function () { - var o = this.data.ui.hovered || this.data.ui.last_selected; - if(o && o.length) { - if(o.hasClass("jstree-closed")) { this.open_node(o); } - else { this.hover_node(this._get_next(o)); } - } - return false; - }, - "shift+right" : function () { - var o = this.data.ui.hovered || this.data.ui.last_selected; - if(o && o.length) { - if(o.hasClass("jstree-closed")) { this.open_node(o); } - else { this.hover_node(this._get_next(o)); } - } - return false; - }, - "space" : function () { - if(this.data.ui.hovered) { this.data.ui.hovered.children("a:eq(0)").click(); } - return false; - }, - "ctrl+space" : function (event) { - event.type = "click"; - if(this.data.ui.hovered) { this.data.ui.hovered.children("a:eq(0)").trigger(event); } - return false; - }, - "shift+space" : function (event) { - event.type = "click"; - if(this.data.ui.hovered) { this.data.ui.hovered.children("a:eq(0)").trigger(event); } - return false; - }, - "f2" : function () { this.rename(this.data.ui.hovered || this.data.ui.last_selected); }, - "del" : function () { this.remove(this.data.ui.hovered || this._get_node(null)); } - }, - _fn : { - enable_hotkeys : function () { - this.data.hotkeys.enabled = true; - }, - disable_hotkeys : function () { - this.data.hotkeys.enabled = false; - } - } - }); -})(jQuery); -//*/ - /* * jsTree JSON plugin * The JSON data store. Datastores are build by overriding the `load_node` and `_is_loaded` functions. @@ -1920,824 +1606,6 @@ })(jQuery); //*/ -/* - * jsTree languages plugin - * Adds support for multiple language versions in one tree - * This basically allows for many titles coexisting in one node, but only one of them being visible at any given time - * This is useful for maintaining the same structure in many languages (hence the name of the plugin) - */ -(function ($) { - $.jstree.plugin("languages", { - __init : function () { this._load_css(); }, - defaults : [], - _fn : { - set_lang : function (i) { - var langs = this._get_settings().languages, - st = false, - selector = ".jstree-" + this.get_index() + ' a'; - if(!$.isArray(langs) || langs.length === 0) { return false; } - if($.inArray(i,langs) == -1) { - if(!!langs[i]) { i = langs[i]; } - else { return false; } - } - if(i == this.data.languages.current_language) { return true; } - st = $.vakata.css.get_css(selector + "." + this.data.languages.current_language, false, this.data.languages.language_css); - if(st !== false) { st.style.display = "none"; } - st = $.vakata.css.get_css(selector + "." + i, false, this.data.languages.language_css); - if(st !== false) { st.style.display = ""; } - this.data.languages.current_language = i; - this.__callback(i); - return true; - }, - get_lang : function () { - return this.data.languages.current_language; - }, - _get_string : function (key, lang) { - var langs = this._get_settings().languages, - s = this._get_settings().core.strings; - if($.isArray(langs) && langs.length) { - lang = (lang && $.inArray(lang,langs) != -1) ? lang : this.data.languages.current_language; - } - if(s[lang] && s[lang][key]) { return s[lang][key]; } - if(s[key]) { return s[key]; } - return key; - }, - get_text : function (obj, lang) { - obj = this._get_node(obj) || this.data.ui.last_selected; - if(!obj.size()) { return false; } - var langs = this._get_settings().languages, - s = this._get_settings().core.html_titles; - if($.isArray(langs) && langs.length) { - lang = (lang && $.inArray(lang,langs) != -1) ? lang : this.data.languages.current_language; - obj = obj.children("a." + lang); - } - else { obj = obj.children("a:eq(0)"); } - if(s) { - obj = obj.clone(); - obj.children("INS").remove(); - return obj.html(); - } - else { - obj = obj.contents().filter(function() { return this.nodeType == 3; })[0]; - return obj.nodeValue; - } - }, - set_text : function (obj, val, lang) { - obj = this._get_node(obj) || this.data.ui.last_selected; - if(!obj.size()) { return false; } - var langs = this._get_settings().languages, - s = this._get_settings().core.html_titles, - tmp; - if($.isArray(langs) && langs.length) { - lang = (lang && $.inArray(lang,langs) != -1) ? lang : this.data.languages.current_language; - obj = obj.children("a." + lang); - } - else { obj = obj.children("a:eq(0)"); } - if(s) { - tmp = obj.children("INS").clone(); - obj.html(val).prepend(tmp); - this.__callback({ "obj" : obj, "name" : val, "lang" : lang }); - return true; - } - else { - obj = obj.contents().filter(function() { return this.nodeType == 3; })[0]; - this.__callback({ "obj" : obj, "name" : val, "lang" : lang }); - return (obj.nodeValue = val); - } - }, - _load_css : function () { - var langs = this._get_settings().languages, - str = "/* languages css */", - selector = ".jstree-" + this.get_index() + ' a', - ln; - if($.isArray(langs) && langs.length) { - this.data.languages.current_language = langs[0]; - for(ln = 0; ln < langs.length; ln++) { - str += selector + "." + langs[ln] + " {"; - if(langs[ln] != this.data.languages.current_language) { str += " display:none; "; } - str += " } "; - } - this.data.languages.language_css = $.vakata.css.add_sheet({ 'str' : str, 'title' : "jstree-languages" }); - } - }, - create_node : function (obj, position, js, callback) { - var t = this.__call_old(true, obj, position, js, function (t) { - var langs = this._get_settings().languages, - a = t.children("a"), - ln; - if($.isArray(langs) && langs.length) { - for(ln = 0; ln < langs.length; ln++) { - if(!a.is("." + langs[ln])) { - t.append(a.eq(0).clone().removeClass(langs.join(" ")).addClass(langs[ln])); - } - } - a.not("." + langs.join(", .")).remove(); - } - if(callback) { callback.call(this, t); } - }); - return t; - } - } - }); -})(jQuery); -//*/ - -/* - * jsTree cookies plugin - * Stores the currently opened/selected nodes in a cookie and then restores them - * Depends on the jquery.cookie plugin - */ -(function ($) { - $.jstree.plugin("cookies", { - __init : function () { - if(typeof $.cookie === "undefined") { throw "jsTree cookie: jQuery cookie plugin not included."; } - - var s = this._get_settings().cookies, - tmp; - if(!!s.save_loaded) { - tmp = $.cookie(s.save_loaded); - if(tmp && tmp.length) { this.data.core.to_load = tmp.split(","); } - } - if(!!s.save_opened) { - tmp = $.cookie(s.save_opened); - if(tmp && tmp.length) { this.data.core.to_open = tmp.split(","); } - } - if(!!s.save_selected) { - tmp = $.cookie(s.save_selected); - if(tmp && tmp.length && this.data.ui) { this.data.ui.to_select = tmp.split(","); } - } - this.get_container() - .one( ( this.data.ui ? "reselect" : "reopen" ) + ".jstree", $.proxy(function () { - this.get_container() - .bind("open_node.jstree close_node.jstree select_node.jstree deselect_node.jstree", $.proxy(function (e) { - if(this._get_settings().cookies.auto_save) { this.save_cookie((e.handleObj.namespace + e.handleObj.type).replace("jstree","")); } - }, this)); - }, this)); - }, - defaults : { - save_loaded : "jstree_load", - save_opened : "jstree_open", - save_selected : "jstree_select", - auto_save : true, - cookie_options : {} - }, - _fn : { - save_cookie : function (c) { - if(this.data.core.refreshing) { return; } - var s = this._get_settings().cookies; - if(!c) { // if called manually and not by event - if(s.save_loaded) { - this.save_loaded(); - $.cookie(s.save_loaded, this.data.core.to_load.join(","), s.cookie_options); - } - if(s.save_opened) { - this.save_opened(); - $.cookie(s.save_opened, this.data.core.to_open.join(","), s.cookie_options); - } - if(s.save_selected && this.data.ui) { - this.save_selected(); - $.cookie(s.save_selected, this.data.ui.to_select.join(","), s.cookie_options); - } - return; - } - switch(c) { - case "open_node": - case "close_node": - if(!!s.save_opened) { - this.save_opened(); - $.cookie(s.save_opened, this.data.core.to_open.join(","), s.cookie_options); - } - if(!!s.save_loaded) { - this.save_loaded(); - $.cookie(s.save_loaded, this.data.core.to_load.join(","), s.cookie_options); - } - break; - case "select_node": - case "deselect_node": - if(!!s.save_selected && this.data.ui) { - this.save_selected(); - $.cookie(s.save_selected, this.data.ui.to_select.join(","), s.cookie_options); - } - break; - } - } - } - }); - // include cookies by default - // $.jstree.defaults.plugins.push("cookies"); -})(jQuery); -//*/ - -/* - * jsTree sort plugin - * Sorts items alphabetically (or using any other function) - */ -(function ($) { - $.jstree.plugin("sort", { - __init : function () { - this.get_container() - .bind("load_node.jstree", $.proxy(function (e, data) { - var obj = this._get_node(data.rslt.obj); - obj = obj === -1 ? this.get_container().children("ul") : obj.children("ul"); - this.sort(obj); - }, this)) - .bind("rename_node.jstree create_node.jstree create.jstree", $.proxy(function (e, data) { - this.sort(data.rslt.obj.parent()); - }, this)) - .bind("move_node.jstree", $.proxy(function (e, data) { - var m = data.rslt.np == -1 ? this.get_container() : data.rslt.np; - this.sort(m.children("ul")); - }, this)); - }, - defaults : function (a, b) { return this.get_text(a) > this.get_text(b) ? 1 : -1; }, - _fn : { - sort : function (obj) { - var s = this._get_settings().sort, - t = this; - obj.append($.makeArray(obj.children("li")).sort($.proxy(s, t))); - obj.find("> li > ul").each(function() { t.sort($(this)); }); - this.clean_node(obj); - } - } - }); -})(jQuery); -//*/ - -/* - * jsTree DND plugin - * Drag and drop plugin for moving/copying nodes - */ -(function ($) { - var o = false, - r = false, - m = false, - ml = false, - sli = false, - sti = false, - dir1 = false, - dir2 = false, - last_pos = false; - $.vakata.dnd = { - is_down : false, - is_drag : false, - helper : false, - scroll_spd : 10, - init_x : 0, - init_y : 0, - threshold : 5, - helper_left : 5, - helper_top : 10, - user_data : {}, - - drag_start : function (e, data, html) { - if($.vakata.dnd.is_drag) { $.vakata.drag_stop({}); } - try { - e.currentTarget.unselectable = "on"; - e.currentTarget.onselectstart = function() { return false; }; - if(e.currentTarget.style) { e.currentTarget.style.MozUserSelect = "none"; } - } catch(err) { } - $.vakata.dnd.init_x = e.pageX; - $.vakata.dnd.init_y = e.pageY; - $.vakata.dnd.user_data = data; - $.vakata.dnd.is_down = true; - $.vakata.dnd.helper = $("
    ").html(html); //.fadeTo(10,0.25); - $(document).bind("mousemove", $.vakata.dnd.drag); - $(document).bind("mouseup", $.vakata.dnd.drag_stop); - return false; - }, - drag : function (e) { - if(!$.vakata.dnd.is_down) { return; } - if(!$.vakata.dnd.is_drag) { - if(Math.abs(e.pageX - $.vakata.dnd.init_x) > 5 || Math.abs(e.pageY - $.vakata.dnd.init_y) > 5) { - $.vakata.dnd.helper.appendTo("body"); - $.vakata.dnd.is_drag = true; - $(document).triggerHandler("drag_start.vakata", { "event" : e, "data" : $.vakata.dnd.user_data }); - } - else { return; } - } - - // maybe use a scrolling parent element instead of document? - if(e.type === "mousemove") { // thought of adding scroll in order to move the helper, but mouse poisition is n/a - var d = $(document), t = d.scrollTop(), l = d.scrollLeft(); - if(e.pageY - t < 20) { - if(sti && dir1 === "down") { clearInterval(sti); sti = false; } - if(!sti) { dir1 = "up"; sti = setInterval(function () { $(document).scrollTop($(document).scrollTop() - $.vakata.dnd.scroll_spd); }, 150); } - } - else { - if(sti && dir1 === "up") { clearInterval(sti); sti = false; } - } - if($(window).height() - (e.pageY - t) < 20) { - if(sti && dir1 === "up") { clearInterval(sti); sti = false; } - if(!sti) { dir1 = "down"; sti = setInterval(function () { $(document).scrollTop($(document).scrollTop() + $.vakata.dnd.scroll_spd); }, 150); } - } - else { - if(sti && dir1 === "down") { clearInterval(sti); sti = false; } - } - - if(e.pageX - l < 20) { - if(sli && dir2 === "right") { clearInterval(sli); sli = false; } - if(!sli) { dir2 = "left"; sli = setInterval(function () { $(document).scrollLeft($(document).scrollLeft() - $.vakata.dnd.scroll_spd); }, 150); } - } - else { - if(sli && dir2 === "left") { clearInterval(sli); sli = false; } - } - if($(window).width() - (e.pageX - l) < 20) { - if(sli && dir2 === "left") { clearInterval(sli); sli = false; } - if(!sli) { dir2 = "right"; sli = setInterval(function () { $(document).scrollLeft($(document).scrollLeft() + $.vakata.dnd.scroll_spd); }, 150); } - } - else { - if(sli && dir2 === "right") { clearInterval(sli); sli = false; } - } - } - - $.vakata.dnd.helper.css({ left : (e.pageX + $.vakata.dnd.helper_left) + "px", top : (e.pageY + $.vakata.dnd.helper_top) + "px" }); - $(document).triggerHandler("drag.vakata", { "event" : e, "data" : $.vakata.dnd.user_data }); - }, - drag_stop : function (e) { - if(sli) { clearInterval(sli); } - if(sti) { clearInterval(sti); } - $(document).unbind("mousemove", $.vakata.dnd.drag); - $(document).unbind("mouseup", $.vakata.dnd.drag_stop); - $(document).triggerHandler("drag_stop.vakata", { "event" : e, "data" : $.vakata.dnd.user_data }); - $.vakata.dnd.helper.remove(); - $.vakata.dnd.init_x = 0; - $.vakata.dnd.init_y = 0; - $.vakata.dnd.user_data = {}; - $.vakata.dnd.is_down = false; - $.vakata.dnd.is_drag = false; - } - }; - $(function() { - var css_string = '#vakata-dragged { display:block; margin:0 0 0 0; padding:4px 4px 4px 24px; position:absolute; top:-2000px; line-height:16px; z-index:10000; } '; - $.vakata.css.add_sheet({ str : css_string, title : "vakata" }); - }); - - $.jstree.plugin("dnd", { - __init : function () { - this.data.dnd = { - active : false, - after : false, - inside : false, - before : false, - off : false, - prepared : false, - w : 0, - to1 : false, - to2 : false, - cof : false, - cw : false, - ch : false, - i1 : false, - i2 : false, - mto : false - }; - this.get_container() - .bind("mouseenter.jstree", $.proxy(function (e) { - if($.vakata.dnd.is_drag && $.vakata.dnd.user_data.jstree) { - if(this.data.themes) { - m.attr("class", "jstree-" + this.data.themes.theme); - if(ml) { ml.attr("class", "jstree-" + this.data.themes.theme); } - $.vakata.dnd.helper.attr("class", "jstree-dnd-helper jstree-" + this.data.themes.theme); - } - //if($(e.currentTarget).find("> ul > li").length === 0) { - if(e.currentTarget === e.target && $.vakata.dnd.user_data.obj && $($.vakata.dnd.user_data.obj).length && $($.vakata.dnd.user_data.obj).parents(".jstree:eq(0)")[0] !== e.target) { // node should not be from the same tree - var tr = $.jstree._reference(e.target), dc; - if(tr.data.dnd.foreign) { - dc = tr._get_settings().dnd.drag_check.call(this, { "o" : o, "r" : tr.get_container(), is_root : true }); - if(dc === true || dc.inside === true || dc.before === true || dc.after === true) { - $.vakata.dnd.helper.children("ins").attr("class","jstree-ok"); - } - } - else { - tr.prepare_move(o, tr.get_container(), "last"); - if(tr.check_move()) { - $.vakata.dnd.helper.children("ins").attr("class","jstree-ok"); - } - } - } - } - }, this)) - .bind("mouseup.jstree", $.proxy(function (e) { - //if($.vakata.dnd.is_drag && $.vakata.dnd.user_data.jstree && $(e.currentTarget).find("> ul > li").length === 0) { - if($.vakata.dnd.is_drag && $.vakata.dnd.user_data.jstree && e.currentTarget === e.target && $.vakata.dnd.user_data.obj && $($.vakata.dnd.user_data.obj).length && $($.vakata.dnd.user_data.obj).parents(".jstree:eq(0)")[0] !== e.target) { // node should not be from the same tree - var tr = $.jstree._reference(e.currentTarget), dc; - if(tr.data.dnd.foreign) { - dc = tr._get_settings().dnd.drag_check.call(this, { "o" : o, "r" : tr.get_container(), is_root : true }); - if(dc === true || dc.inside === true || dc.before === true || dc.after === true) { - tr._get_settings().dnd.drag_finish.call(this, { "o" : o, "r" : tr.get_container(), is_root : true }); - } - } - else { - tr.move_node(o, tr.get_container(), "last", e[tr._get_settings().dnd.copy_modifier + "Key"]); - } - } - }, this)) - .bind("mouseleave.jstree", $.proxy(function (e) { - if(e.relatedTarget && e.relatedTarget.id && e.relatedTarget.id === "jstree-marker-line") { - return false; - } - if($.vakata.dnd.is_drag && $.vakata.dnd.user_data.jstree) { - if(this.data.dnd.i1) { clearInterval(this.data.dnd.i1); } - if(this.data.dnd.i2) { clearInterval(this.data.dnd.i2); } - if(this.data.dnd.to1) { clearTimeout(this.data.dnd.to1); } - if(this.data.dnd.to2) { clearTimeout(this.data.dnd.to2); } - if($.vakata.dnd.helper.children("ins").hasClass("jstree-ok")) { - $.vakata.dnd.helper.children("ins").attr("class","jstree-invalid"); - } - } - }, this)) - .bind("mousemove.jstree", $.proxy(function (e) { - if($.vakata.dnd.is_drag && $.vakata.dnd.user_data.jstree) { - var cnt = this.get_container()[0]; - - // Horizontal scroll - if(e.pageX + 24 > this.data.dnd.cof.left + this.data.dnd.cw) { - if(this.data.dnd.i1) { clearInterval(this.data.dnd.i1); } - this.data.dnd.i1 = setInterval($.proxy(function () { this.scrollLeft += $.vakata.dnd.scroll_spd; }, cnt), 100); - } - else if(e.pageX - 24 < this.data.dnd.cof.left) { - if(this.data.dnd.i1) { clearInterval(this.data.dnd.i1); } - this.data.dnd.i1 = setInterval($.proxy(function () { this.scrollLeft -= $.vakata.dnd.scroll_spd; }, cnt), 100); - } - else { - if(this.data.dnd.i1) { clearInterval(this.data.dnd.i1); } - } - - // Vertical scroll - if(e.pageY + 24 > this.data.dnd.cof.top + this.data.dnd.ch) { - if(this.data.dnd.i2) { clearInterval(this.data.dnd.i2); } - this.data.dnd.i2 = setInterval($.proxy(function () { this.scrollTop += $.vakata.dnd.scroll_spd; }, cnt), 100); - } - else if(e.pageY - 24 < this.data.dnd.cof.top) { - if(this.data.dnd.i2) { clearInterval(this.data.dnd.i2); } - this.data.dnd.i2 = setInterval($.proxy(function () { this.scrollTop -= $.vakata.dnd.scroll_spd; }, cnt), 100); - } - else { - if(this.data.dnd.i2) { clearInterval(this.data.dnd.i2); } - } - - } - }, this)) - .bind("scroll.jstree", $.proxy(function (e) { - if($.vakata.dnd.is_drag && $.vakata.dnd.user_data.jstree && m && ml) { - m.hide(); - ml.hide(); - } - }, this)) - .delegate("a", "mousedown.jstree", $.proxy(function (e) { - if(e.which === 1) { - this.start_drag(e.currentTarget, e); - return false; - } - }, this)) - .delegate("a", "mouseenter.jstree", $.proxy(function (e) { - if($.vakata.dnd.is_drag && $.vakata.dnd.user_data.jstree) { - this.dnd_enter(e.currentTarget); - } - }, this)) - .delegate("a", "mousemove.jstree", $.proxy(function (e) { - if($.vakata.dnd.is_drag && $.vakata.dnd.user_data.jstree) { - if(!r || !r.length || r.children("a")[0] !== e.currentTarget) { - this.dnd_enter(e.currentTarget); - } - if(typeof this.data.dnd.off.top === "undefined") { this.data.dnd.off = $(e.target).offset(); } - this.data.dnd.w = (e.pageY - (this.data.dnd.off.top || 0)) % this.data.core.li_height; - if(this.data.dnd.w < 0) { this.data.dnd.w += this.data.core.li_height; } - this.dnd_show(); - } - }, this)) - .delegate("a", "mouseleave.jstree", $.proxy(function (e) { - if($.vakata.dnd.is_drag && $.vakata.dnd.user_data.jstree) { - if(e.relatedTarget && e.relatedTarget.id && e.relatedTarget.id === "jstree-marker-line") { - return false; - } - if(m) { m.hide(); } - if(ml) { ml.hide(); } - /* - var ec = $(e.currentTarget).closest("li"), - er = $(e.relatedTarget).closest("li"); - if(er[0] !== ec.prev()[0] && er[0] !== ec.next()[0]) { - if(m) { m.hide(); } - if(ml) { ml.hide(); } - } - */ - this.data.dnd.mto = setTimeout( - (function (t) { return function () { t.dnd_leave(e); }; })(this), - 0); - } - }, this)) - .delegate("a", "mouseup.jstree", $.proxy(function (e) { - if($.vakata.dnd.is_drag && $.vakata.dnd.user_data.jstree) { - this.dnd_finish(e); - } - }, this)); - - $(document) - .bind("drag_stop.vakata", $.proxy(function () { - if(this.data.dnd.to1) { clearTimeout(this.data.dnd.to1); } - if(this.data.dnd.to2) { clearTimeout(this.data.dnd.to2); } - if(this.data.dnd.i1) { clearInterval(this.data.dnd.i1); } - if(this.data.dnd.i2) { clearInterval(this.data.dnd.i2); } - this.data.dnd.after = false; - this.data.dnd.before = false; - this.data.dnd.inside = false; - this.data.dnd.off = false; - this.data.dnd.prepared = false; - this.data.dnd.w = false; - this.data.dnd.to1 = false; - this.data.dnd.to2 = false; - this.data.dnd.i1 = false; - this.data.dnd.i2 = false; - this.data.dnd.active = false; - this.data.dnd.foreign = false; - if(m) { m.css({ "top" : "-2000px" }); } - if(ml) { ml.css({ "top" : "-2000px" }); } - }, this)) - .bind("drag_start.vakata", $.proxy(function (e, data) { - if(data.data.jstree) { - var et = $(data.event.target); - if(et.closest(".jstree").hasClass("jstree-" + this.get_index())) { - this.dnd_enter(et); - } - } - }, this)); - /* - .bind("keydown.jstree-" + this.get_index() + " keyup.jstree-" + this.get_index(), $.proxy(function(e) { - if($.vakata.dnd.is_drag && $.vakata.dnd.user_data.jstree && !this.data.dnd.foreign) { - var h = $.vakata.dnd.helper.children("ins"); - if(e[this._get_settings().dnd.copy_modifier + "Key"] && h.hasClass("jstree-ok")) { - h.parent().html(h.parent().html().replace(/ \(Copy\)$/, "") + " (Copy)"); - } - else { - h.parent().html(h.parent().html().replace(/ \(Copy\)$/, "")); - } - } - }, this)); */ - - - - var s = this._get_settings().dnd; - if(s.drag_target) { - $(document) - .delegate(s.drag_target, "mousedown.jstree-" + this.get_index(), $.proxy(function (e) { - o = e.target; - $.vakata.dnd.drag_start(e, { jstree : true, obj : e.target }, "" + $(e.target).text() ); - if(this.data.themes) { - if(m) { m.attr("class", "jstree-" + this.data.themes.theme); } - if(ml) { ml.attr("class", "jstree-" + this.data.themes.theme); } - $.vakata.dnd.helper.attr("class", "jstree-dnd-helper jstree-" + this.data.themes.theme); - } - $.vakata.dnd.helper.children("ins").attr("class","jstree-invalid"); - var cnt = this.get_container(); - this.data.dnd.cof = cnt.offset(); - this.data.dnd.cw = parseInt(cnt.width(),10); - this.data.dnd.ch = parseInt(cnt.height(),10); - this.data.dnd.foreign = true; - e.preventDefault(); - }, this)); - } - if(s.drop_target) { - $(document) - .delegate(s.drop_target, "mouseenter.jstree-" + this.get_index(), $.proxy(function (e) { - if(this.data.dnd.active && this._get_settings().dnd.drop_check.call(this, { "o" : o, "r" : $(e.target), "e" : e })) { - $.vakata.dnd.helper.children("ins").attr("class","jstree-ok"); - } - }, this)) - .delegate(s.drop_target, "mouseleave.jstree-" + this.get_index(), $.proxy(function (e) { - if(this.data.dnd.active) { - $.vakata.dnd.helper.children("ins").attr("class","jstree-invalid"); - } - }, this)) - .delegate(s.drop_target, "mouseup.jstree-" + this.get_index(), $.proxy(function (e) { - if(this.data.dnd.active && $.vakata.dnd.helper.children("ins").hasClass("jstree-ok")) { - this._get_settings().dnd.drop_finish.call(this, { "o" : o, "r" : $(e.target), "e" : e }); - } - }, this)); - } - }, - defaults : { - copy_modifier : "ctrl", - check_timeout : 100, - open_timeout : 500, - drop_target : ".jstree-drop", - drop_check : function (data) { return true; }, - drop_finish : $.noop, - drag_target : ".jstree-draggable", - drag_finish : $.noop, - drag_check : function (data) { return { after : false, before : false, inside : true }; } - }, - _fn : { - dnd_prepare : function () { - if(!r || !r.length) { return; } - this.data.dnd.off = r.offset(); - if(this._get_settings().core.rtl) { - this.data.dnd.off.right = this.data.dnd.off.left + r.width(); - } - if(this.data.dnd.foreign) { - var a = this._get_settings().dnd.drag_check.call(this, { "o" : o, "r" : r }); - this.data.dnd.after = a.after; - this.data.dnd.before = a.before; - this.data.dnd.inside = a.inside; - this.data.dnd.prepared = true; - return this.dnd_show(); - } - this.prepare_move(o, r, "before"); - this.data.dnd.before = this.check_move(); - this.prepare_move(o, r, "after"); - this.data.dnd.after = this.check_move(); - if(this._is_loaded(r)) { - this.prepare_move(o, r, "inside"); - this.data.dnd.inside = this.check_move(); - } - else { - this.data.dnd.inside = false; - } - this.data.dnd.prepared = true; - return this.dnd_show(); - }, - dnd_show : function () { - if(!this.data.dnd.prepared) { return; } - var o = ["before","inside","after"], - r = false, - rtl = this._get_settings().core.rtl, - pos; - if(this.data.dnd.w < this.data.core.li_height/3) { o = ["before","inside","after"]; } - else if(this.data.dnd.w <= this.data.core.li_height*2/3) { - o = this.data.dnd.w < this.data.core.li_height/2 ? ["inside","before","after"] : ["inside","after","before"]; - } - else { o = ["after","inside","before"]; } - $.each(o, $.proxy(function (i, val) { - if(this.data.dnd[val]) { - $.vakata.dnd.helper.children("ins").attr("class","jstree-ok"); - r = val; - return false; - } - }, this)); - if(r === false) { $.vakata.dnd.helper.children("ins").attr("class","jstree-invalid"); } - - pos = rtl ? (this.data.dnd.off.right - 18) : (this.data.dnd.off.left + 10); - switch(r) { - case "before": - m.css({ "left" : pos + "px", "top" : (this.data.dnd.off.top - 6) + "px" }).show(); - if(ml) { ml.css({ "left" : (pos + 8) + "px", "top" : (this.data.dnd.off.top - 1) + "px" }).show(); } - break; - case "after": - m.css({ "left" : pos + "px", "top" : (this.data.dnd.off.top + this.data.core.li_height - 6) + "px" }).show(); - if(ml) { ml.css({ "left" : (pos + 8) + "px", "top" : (this.data.dnd.off.top + this.data.core.li_height - 1) + "px" }).show(); } - break; - case "inside": - m.css({ "left" : pos + ( rtl ? -4 : 4) + "px", "top" : (this.data.dnd.off.top + this.data.core.li_height/2 - 5) + "px" }).show(); - if(ml) { ml.hide(); } - break; - default: - m.hide(); - if(ml) { ml.hide(); } - break; - } - last_pos = r; - return r; - }, - dnd_open : function () { - this.data.dnd.to2 = false; - this.open_node(r, $.proxy(this.dnd_prepare,this), true); - }, - dnd_finish : function (e) { - if(this.data.dnd.foreign) { - if(this.data.dnd.after || this.data.dnd.before || this.data.dnd.inside) { - this._get_settings().dnd.drag_finish.call(this, { "o" : o, "r" : r, "p" : last_pos }); - } - } - else { - this.dnd_prepare(); - this.move_node(o, r, last_pos, e[this._get_settings().dnd.copy_modifier + "Key"]); - } - o = false; - r = false; - m.hide(); - if(ml) { ml.hide(); } - }, - dnd_enter : function (obj) { - if(this.data.dnd.mto) { - clearTimeout(this.data.dnd.mto); - this.data.dnd.mto = false; - } - var s = this._get_settings().dnd; - this.data.dnd.prepared = false; - r = this._get_node(obj); - if(s.check_timeout) { - // do the calculations after a minimal timeout (users tend to drag quickly to the desired location) - if(this.data.dnd.to1) { clearTimeout(this.data.dnd.to1); } - this.data.dnd.to1 = setTimeout($.proxy(this.dnd_prepare, this), s.check_timeout); - } - else { - this.dnd_prepare(); - } - if(s.open_timeout) { - if(this.data.dnd.to2) { clearTimeout(this.data.dnd.to2); } - if(r && r.length && r.hasClass("jstree-closed")) { - // if the node is closed - open it, then recalculate - this.data.dnd.to2 = setTimeout($.proxy(this.dnd_open, this), s.open_timeout); - } - } - else { - if(r && r.length && r.hasClass("jstree-closed")) { - this.dnd_open(); - } - } - }, - dnd_leave : function (e) { - this.data.dnd.after = false; - this.data.dnd.before = false; - this.data.dnd.inside = false; - $.vakata.dnd.helper.children("ins").attr("class","jstree-invalid"); - m.hide(); - if(ml) { ml.hide(); } - if(r && r[0] === e.target.parentNode) { - if(this.data.dnd.to1) { - clearTimeout(this.data.dnd.to1); - this.data.dnd.to1 = false; - } - if(this.data.dnd.to2) { - clearTimeout(this.data.dnd.to2); - this.data.dnd.to2 = false; - } - } - }, - start_drag : function (obj, e) { - o = this._get_node(obj); - if(this.data.ui && this.is_selected(o)) { o = this._get_node(null, true); } - var dt = o.length > 1 ? this._get_string("multiple_selection") : this.get_text(o), - cnt = this.get_container(); - if(!this._get_settings().core.html_titles) { dt = dt.replace(//ig,">"); } - $.vakata.dnd.drag_start(e, { jstree : true, obj : o }, "" + dt ); - if(this.data.themes) { - if(m) { m.attr("class", "jstree-" + this.data.themes.theme); } - if(ml) { ml.attr("class", "jstree-" + this.data.themes.theme); } - $.vakata.dnd.helper.attr("class", "jstree-dnd-helper jstree-" + this.data.themes.theme); - } - this.data.dnd.cof = cnt.offset(); - this.data.dnd.cw = parseInt(cnt.width(),10); - this.data.dnd.ch = parseInt(cnt.height(),10); - this.data.dnd.active = true; - } - } - }); - $(function() { - var css_string = '' + - '#vakata-dragged ins { display:block; text-decoration:none; width:16px; height:16px; margin:0 0 0 0; padding:0; position:absolute; top:4px; left:4px; ' + - ' -moz-border-radius:4px; border-radius:4px; -webkit-border-radius:4px; ' + - '} ' + - '#vakata-dragged .jstree-ok { background:green; } ' + - '#vakata-dragged .jstree-invalid { background:red; } ' + - '#jstree-marker { padding:0; margin:0; font-size:12px; overflow:hidden; height:12px; width:8px; position:absolute; top:-30px; z-index:10001; background-repeat:no-repeat; display:none; background-color:transparent; text-shadow:1px 1px 1px white; color:black; line-height:10px; } ' + - '#jstree-marker-line { padding:0; margin:0; line-height:0%; font-size:1px; overflow:hidden; height:1px; width:100px; position:absolute; top:-30px; z-index:10000; background-repeat:no-repeat; display:none; background-color:#456c43; ' + - ' cursor:pointer; border:1px solid #eeeeee; border-left:0; -moz-box-shadow: 0px 0px 2px #666; -webkit-box-shadow: 0px 0px 2px #666; box-shadow: 0px 0px 2px #666; ' + - ' -moz-border-radius:1px; border-radius:1px; -webkit-border-radius:1px; ' + - '}' + - ''; - $.vakata.css.add_sheet({ str : css_string, title : "jstree" }); - m = $("
    ").attr({ id : "jstree-marker" }).hide().html("»") - .bind("mouseleave mouseenter", function (e) { - m.hide(); - ml.hide(); - e.preventDefault(); - e.stopImmediatePropagation(); - return false; - }) - .appendTo("body"); - ml = $("
    ").attr({ id : "jstree-marker-line" }).hide() - .bind("mouseup", function (e) { - if(r && r.length) { - r.children("a").trigger(e); - e.preventDefault(); - e.stopImmediatePropagation(); - return false; - } - }) - .bind("mouseleave", function (e) { - var rt = $(e.relatedTarget); - if(rt.is(".jstree") || rt.closest(".jstree").length === 0) { - if(r && r.length) { - r.children("a").trigger(e); - m.hide(); - ml.hide(); - e.preventDefault(); - e.stopImmediatePropagation(); - return false; - } - } - }) - .appendTo("body"); - $(document).bind("drag_start.vakata", function (e, data) { - if(data.data.jstree) { m.show(); if(ml) { ml.show(); } } - }); - $(document).bind("drag_stop.vakata", function (e, data) { - if(data.data.jstree) { m.hide(); if(ml) { ml.hide(); } } - }); - }); -})(jQuery); -//*/ - /* * jsTree checkbox plugin * Inserts checkboxes in front of every node @@ -2976,523 +1844,6 @@ })(jQuery); //*/ -/* - * jsTree XML plugin - * The XML data store. Datastores are build by overriding the `load_node` and `_is_loaded` functions. - */ -(function ($) { - $.vakata.xslt = function (xml, xsl, callback) { - var rs = "", xm, xs, processor, support; - // TODO: IE9 no XSLTProcessor, no document.recalc - if(document.recalc) { - xm = document.createElement('xml'); - xs = document.createElement('xml'); - xm.innerHTML = xml; - xs.innerHTML = xsl; - $("body").append(xm).append(xs); - setTimeout( (function (xm, xs, callback) { - return function () { - callback.call(null, xm.transformNode(xs.XMLDocument)); - setTimeout( (function (xm, xs) { return function () { $(xm).remove(); $(xs).remove(); }; })(xm, xs), 200); - }; - })(xm, xs, callback), 100); - return true; - } - if(typeof window.DOMParser !== "undefined" && typeof window.XMLHttpRequest !== "undefined" && typeof window.XSLTProcessor === "undefined") { - xml = new DOMParser().parseFromString(xml, "text/xml"); - xsl = new DOMParser().parseFromString(xsl, "text/xml"); - // alert(xml.transformNode()); - // callback.call(null, new XMLSerializer().serializeToString(rs)); - - } - if(typeof window.DOMParser !== "undefined" && typeof window.XMLHttpRequest !== "undefined" && typeof window.XSLTProcessor !== "undefined") { - processor = new XSLTProcessor(); - support = $.isFunction(processor.transformDocument) ? (typeof window.XMLSerializer !== "undefined") : true; - if(!support) { return false; } - xml = new DOMParser().parseFromString(xml, "text/xml"); - xsl = new DOMParser().parseFromString(xsl, "text/xml"); - if($.isFunction(processor.transformDocument)) { - rs = document.implementation.createDocument("", "", null); - processor.transformDocument(xml, xsl, rs, null); - callback.call(null, new XMLSerializer().serializeToString(rs)); - return true; - } - else { - processor.importStylesheet(xsl); - rs = processor.transformToFragment(xml, document); - callback.call(null, $("
    ").append(rs).html()); - return true; - } - } - return false; - }; - var xsl = { - 'nest' : '<' + '?xml version="1.0" encoding="utf-8" ?>' + - '' + - '' + - '' + - ' ' + - ' ' + - ' ' + - '' + - '' + - ' ' + - ' ' + - '' + - '', - - 'flat' : '<' + '?xml version="1.0" encoding="utf-8" ?>' + - '' + - '' + - '' + - '
      ' + - ' ' + /* the last `or` may be removed */ - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - '
    ' + - '
    ' + - '' + - ' ' + - ' ' + - ' ' + - '
  • ' + - ' ' + - ' jstree-last ' + - ' ' + - ' jstree-open ' + - ' jstree-closed ' + - ' jstree-leaf ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - '  ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' #' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' jstree-icon ' + - ' ' + - ' ' + - ' background:url() center center no-repeat;' + - '  ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - '
      ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - ' ' + - '
    ' + - '
    ' + - '
  • ' + - '
    ' + - '
    ' - }, - escape_xml = function(string) { - return string - .toString() - .replace(/&/g, '&') - .replace(//g, '>') - .replace(/"/g, '"') - .replace(/'/g, '''); - }; - $.jstree.plugin("xml_data", { - defaults : { - data : false, - ajax : false, - xsl : "flat", - clean_node : false, - correct_state : true, - get_skip_empty : false, - get_include_preamble : true - }, - _fn : { - load_node : function (obj, s_call, e_call) { var _this = this; this.load_node_xml(obj, function () { _this.__callback({ "obj" : _this._get_node(obj) }); s_call.call(this); }, e_call); }, - _is_loaded : function (obj) { - var s = this._get_settings().xml_data; - obj = this._get_node(obj); - return obj == -1 || !obj || (!s.ajax && !$.isFunction(s.data)) || obj.is(".jstree-open, .jstree-leaf") || obj.children("ul").children("li").size() > 0; - }, - load_node_xml : function (obj, s_call, e_call) { - var s = this.get_settings().xml_data, - error_func = function () {}, - success_func = function () {}; - - obj = this._get_node(obj); - if(obj && obj !== -1) { - if(obj.data("jstree-is-loading")) { return; } - else { obj.data("jstree-is-loading",true); } - } - switch(!0) { - case (!s.data && !s.ajax): throw "Neither data nor ajax settings supplied."; - case ($.isFunction(s.data)): - s.data.call(this, obj, $.proxy(function (d) { - this.parse_xml(d, $.proxy(function (d) { - if(d) { - d = d.replace(/ ?xmlns="[^"]*"/ig, ""); - if(d.length > 10) { - d = $(d); - if(obj === -1 || !obj) { this.get_container().children("ul").empty().append(d.children()); } - else { obj.children("a.jstree-loading").removeClass("jstree-loading"); obj.append(d); obj.removeData("jstree-is-loading"); } - if(s.clean_node) { this.clean_node(obj); } - if(s_call) { s_call.call(this); } - } - else { - if(obj && obj !== -1) { - obj.children("a.jstree-loading").removeClass("jstree-loading"); - obj.removeData("jstree-is-loading"); - if(s.correct_state) { - this.correct_state(obj); - if(s_call) { s_call.call(this); } - } - } - else { - if(s.correct_state) { - this.get_container().children("ul").empty(); - if(s_call) { s_call.call(this); } - } - } - } - } - }, this)); - }, this)); - break; - case (!!s.data && !s.ajax) || (!!s.data && !!s.ajax && (!obj || obj === -1)): - if(!obj || obj == -1) { - this.parse_xml(s.data, $.proxy(function (d) { - if(d) { - d = d.replace(/ ?xmlns="[^"]*"/ig, ""); - if(d.length > 10) { - d = $(d); - this.get_container().children("ul").empty().append(d.children()); - if(s.clean_node) { this.clean_node(obj); } - if(s_call) { s_call.call(this); } - } - } - else { - if(s.correct_state) { - this.get_container().children("ul").empty(); - if(s_call) { s_call.call(this); } - } - } - }, this)); - } - break; - case (!s.data && !!s.ajax) || (!!s.data && !!s.ajax && obj && obj !== -1): - error_func = function (x, t, e) { - var ef = this.get_settings().xml_data.ajax.error; - if(ef) { ef.call(this, x, t, e); } - if(obj !== -1 && obj.length) { - obj.children("a.jstree-loading").removeClass("jstree-loading"); - obj.removeData("jstree-is-loading"); - if(t === "success" && s.correct_state) { this.correct_state(obj); } - } - else { - if(t === "success" && s.correct_state) { this.get_container().children("ul").empty(); } - } - if(e_call) { e_call.call(this); } - }; - success_func = function (d, t, x) { - d = x.responseText; - var sf = this.get_settings().xml_data.ajax.success; - if(sf) { d = sf.call(this,d,t,x) || d; } - if(d === "" || (d && d.toString && d.toString().replace(/^[\s\n]+$/,"") === "")) { - return error_func.call(this, x, t, ""); - } - this.parse_xml(d, $.proxy(function (d) { - if(d) { - d = d.replace(/ ?xmlns="[^"]*"/ig, ""); - if(d.length > 10) { - d = $(d); - if(obj === -1 || !obj) { this.get_container().children("ul").empty().append(d.children()); } - else { obj.children("a.jstree-loading").removeClass("jstree-loading"); obj.append(d); obj.removeData("jstree-is-loading"); } - if(s.clean_node) { this.clean_node(obj); } - if(s_call) { s_call.call(this); } - } - else { - if(obj && obj !== -1) { - obj.children("a.jstree-loading").removeClass("jstree-loading"); - obj.removeData("jstree-is-loading"); - if(s.correct_state) { - this.correct_state(obj); - if(s_call) { s_call.call(this); } - } - } - else { - if(s.correct_state) { - this.get_container().children("ul").empty(); - if(s_call) { s_call.call(this); } - } - } - } - } - }, this)); - }; - s.ajax.context = this; - s.ajax.error = error_func; - s.ajax.success = success_func; - if(!s.ajax.dataType) { s.ajax.dataType = "xml"; } - if($.isFunction(s.ajax.url)) { s.ajax.url = s.ajax.url.call(this, obj); } - if($.isFunction(s.ajax.data)) { s.ajax.data = s.ajax.data.call(this, obj); } - $.ajax(s.ajax); - break; - } - }, - parse_xml : function (xml, callback) { - var s = this._get_settings().xml_data; - $.vakata.xslt(xml, xsl[s.xsl], callback); - }, - get_xml : function (tp, obj, li_attr, a_attr, is_callback) { - var result = "", - s = this._get_settings(), - _this = this, - tmp1, tmp2, li, a, lang; - if(!tp) { tp = "flat"; } - if(!is_callback) { is_callback = 0; } - obj = this._get_node(obj); - if(!obj || obj === -1) { obj = this.get_container().find("> ul > li"); } - li_attr = $.isArray(li_attr) ? li_attr : [ "id", "class" ]; - if(!is_callback && this.data.types && $.inArray(s.types.type_attr, li_attr) === -1) { li_attr.push(s.types.type_attr); } - - a_attr = $.isArray(a_attr) ? a_attr : [ ]; - - if(!is_callback) { - if(s.xml_data.get_include_preamble) { - result += '<' + '?xml version="1.0" encoding="UTF-8"?' + '>'; - } - result += ""; - } - obj.each(function () { - result += ""; - result += ""; - }); - result += ""; - tmp2 = li[0].id || true; - li = li.find("> ul > li"); - if(li.length) { tmp2 = _this.get_xml(tp, li, li_attr, a_attr, tmp2); } - else { tmp2 = ""; } - if(tp == "nest") { result += tmp2; } - result += ""; - if(tp == "flat") { result += tmp2; } - }); - if(!is_callback) { result += ""; } - return result; - } - } - }); -})(jQuery); -//*/ - -/* - * jsTree search plugin - * Enables both sync and async search on the tree - * DOES NOT WORK WITH JSON PROGRESSIVE RENDER - */ -(function ($) { - $.expr[':'].jstree_contains = function(a,i,m){ - return (a.textContent || a.innerText || "").toLowerCase().indexOf(m[3].toLowerCase())>=0; - }; - $.expr[':'].jstree_title_contains = function(a,i,m) { - return (a.getAttribute("title") || "").toLowerCase().indexOf(m[3].toLowerCase())>=0; - }; - $.jstree.plugin("search", { - __init : function () { - this.data.search.str = ""; - this.data.search.result = $(); - if(this._get_settings().search.show_only_matches) { - this.get_container() - .bind("search.jstree", function (e, data) { - $(this).children("ul").find("li").hide().removeClass("jstree-last"); - data.rslt.nodes.parentsUntil(".jstree").andSelf().show() - .filter("ul").each(function () { $(this).children("li:visible").eq(-1).addClass("jstree-last"); }); - }) - .bind("clear_search.jstree", function () { - $(this).children("ul").find("li").css("display","").end().end().jstree("clean_node", -1); - }); - } - }, - defaults : { - ajax : false, - search_method : "jstree_contains", // for case insensitive - jstree_contains - show_only_matches : false - }, - _fn : { - search : function (str, skip_async) { - if($.trim(str) === "") { this.clear_search(); return; } - var s = this.get_settings().search, - t = this, - error_func = function () { }, - success_func = function () { }; - this.data.search.str = str; - - if(!skip_async && s.ajax !== false && this.get_container_ul().find("li.jstree-closed:not(:has(ul)):eq(0)").length > 0) { - this.search.supress_callback = true; - error_func = function () { }; - success_func = function (d, t, x) { - var sf = this.get_settings().search.ajax.success; - if(sf) { d = sf.call(this,d,t,x) || d; } - this.data.search.to_open = d; - this._search_open(); - }; - s.ajax.context = this; - s.ajax.error = error_func; - s.ajax.success = success_func; - if($.isFunction(s.ajax.url)) { s.ajax.url = s.ajax.url.call(this, str); } - if($.isFunction(s.ajax.data)) { s.ajax.data = s.ajax.data.call(this, str); } - if(!s.ajax.data) { s.ajax.data = { "search_string" : str }; } - if(!s.ajax.dataType || /^json/.exec(s.ajax.dataType)) { s.ajax.dataType = "json"; } - $.ajax(s.ajax); - return; - } - if(this.data.search.result.length) { this.clear_search(); } - this.data.search.result = this.get_container().find("a" + (this.data.languages ? "." + this.get_lang() : "" ) + ":" + (s.search_method) + "(" + this.data.search.str + ")"); - this.data.search.result.addClass("jstree-search").parent().parents(".jstree-closed").each(function () { - t.open_node(this, false, true); - }); - this.__callback({ nodes : this.data.search.result, str : str }); - }, - clear_search : function (str) { - this.data.search.result.removeClass("jstree-search"); - this.__callback(this.data.search.result); - this.data.search.result = $(); - }, - _search_open : function (is_callback) { - var _this = this, - done = true, - current = [], - remaining = []; - if(this.data.search.to_open.length) { - $.each(this.data.search.to_open, function (i, val) { - if(val == "#") { return true; } - if($(val).length && $(val).is(".jstree-closed")) { current.push(val); } - else { remaining.push(val); } - }); - if(current.length) { - this.data.search.to_open = remaining; - $.each(current, function (i, val) { - _this.open_node(val, function () { _this._search_open(true); }); - }); - done = false; - } - } - if(done) { this.search(this.data.search.str, true); } - } - } - }); -})(jQuery); -//*/ - /* * jsTree types plugin * Adds support types of nodes @@ -3704,555 +2055,4 @@ })(jQuery); //*/ -/* - * jsTree HTML plugin - * The HTML data store. Datastores are build by replacing the `load_node` and `_is_loaded` functions. - */ -(function ($) { - $.jstree.plugin("html_data", { - __init : function () { - // this used to use html() and clean the whitespace, but this way any attached data was lost - this.data.html_data.original_container_html = this.get_container().find(" > ul > li").clone(true); - // remove white space from LI node - otherwise nodes appear a bit to the right - this.data.html_data.original_container_html.find("li").andSelf().contents().filter(function() { return this.nodeType == 3; }).remove(); - }, - defaults : { - data : false, - ajax : false, - correct_state : true - }, - _fn : { - load_node : function (obj, s_call, e_call) { var _this = this; this.load_node_html(obj, function () { _this.__callback({ "obj" : _this._get_node(obj) }); s_call.call(this); }, e_call); }, - _is_loaded : function (obj) { - obj = this._get_node(obj); - return obj == -1 || !obj || (!this._get_settings().html_data.ajax && !$.isFunction(this._get_settings().html_data.data)) || obj.is(".jstree-open, .jstree-leaf") || obj.children("ul").children("li").size() > 0; - }, - load_node_html : function (obj, s_call, e_call) { - var d, - s = this.get_settings().html_data, - error_func = function () {}, - success_func = function () {}; - obj = this._get_node(obj); - if(obj && obj !== -1) { - if(obj.data("jstree-is-loading")) { return; } - else { obj.data("jstree-is-loading",true); } - } - switch(!0) { - case ($.isFunction(s.data)): - s.data.call(this, obj, $.proxy(function (d) { - if(d && d !== "" && d.toString && d.toString().replace(/^[\s\n]+$/,"") !== "") { - d = $(d); - if(!d.is("ul")) { d = $("
      ").append(d); } - if(obj == -1 || !obj) { this.get_container().children("ul").empty().append(d.children()).find("li, a").filter(function () { return !this.firstChild || !this.firstChild.tagName || this.firstChild.tagName !== "INS"; }).prepend(" ").end().filter("a").children("ins:first-child").not(".jstree-icon").addClass("jstree-icon"); } - else { obj.children("a.jstree-loading").removeClass("jstree-loading"); obj.append(d).children("ul").find("li, a").filter(function () { return !this.firstChild || !this.firstChild.tagName || this.firstChild.tagName !== "INS"; }).prepend(" ").end().filter("a").children("ins:first-child").not(".jstree-icon").addClass("jstree-icon"); obj.removeData("jstree-is-loading"); } - this.clean_node(obj); - if(s_call) { s_call.call(this); } - } - else { - if(obj && obj !== -1) { - obj.children("a.jstree-loading").removeClass("jstree-loading"); - obj.removeData("jstree-is-loading"); - if(s.correct_state) { - this.correct_state(obj); - if(s_call) { s_call.call(this); } - } - } - else { - if(s.correct_state) { - this.get_container().children("ul").empty(); - if(s_call) { s_call.call(this); } - } - } - } - }, this)); - break; - case (!s.data && !s.ajax): - if(!obj || obj == -1) { - this.get_container() - .children("ul").empty() - .append(this.data.html_data.original_container_html) - .find("li, a").filter(function () { return !this.firstChild || !this.firstChild.tagName || this.firstChild.tagName !== "INS"; }).prepend(" ").end() - .filter("a").children("ins:first-child").not(".jstree-icon").addClass("jstree-icon"); - this.clean_node(); - } - if(s_call) { s_call.call(this); } - break; - case (!!s.data && !s.ajax) || (!!s.data && !!s.ajax && (!obj || obj === -1)): - if(!obj || obj == -1) { - d = $(s.data); - if(!d.is("ul")) { d = $("
        ").append(d); } - this.get_container() - .children("ul").empty().append(d.children()) - .find("li, a").filter(function () { return !this.firstChild || !this.firstChild.tagName || this.firstChild.tagName !== "INS"; }).prepend(" ").end() - .filter("a").children("ins:first-child").not(".jstree-icon").addClass("jstree-icon"); - this.clean_node(); - } - if(s_call) { s_call.call(this); } - break; - case (!s.data && !!s.ajax) || (!!s.data && !!s.ajax && obj && obj !== -1): - obj = this._get_node(obj); - error_func = function (x, t, e) { - var ef = this.get_settings().html_data.ajax.error; - if(ef) { ef.call(this, x, t, e); } - if(obj != -1 && obj.length) { - obj.children("a.jstree-loading").removeClass("jstree-loading"); - obj.removeData("jstree-is-loading"); - if(t === "success" && s.correct_state) { this.correct_state(obj); } - } - else { - if(t === "success" && s.correct_state) { this.get_container().children("ul").empty(); } - } - if(e_call) { e_call.call(this); } - }; - success_func = function (d, t, x) { - var sf = this.get_settings().html_data.ajax.success; - if(sf) { d = sf.call(this,d,t,x) || d; } - if(d === "" || (d && d.toString && d.toString().replace(/^[\s\n]+$/,"") === "")) { - return error_func.call(this, x, t, ""); - } - if(d) { - d = $(d); - if(!d.is("ul")) { d = $("
          ").append(d); } - if(obj == -1 || !obj) { this.get_container().children("ul").empty().append(d.children()).find("li, a").filter(function () { return !this.firstChild || !this.firstChild.tagName || this.firstChild.tagName !== "INS"; }).prepend(" ").end().filter("a").children("ins:first-child").not(".jstree-icon").addClass("jstree-icon"); } - else { obj.children("a.jstree-loading").removeClass("jstree-loading"); obj.append(d).children("ul").find("li, a").filter(function () { return !this.firstChild || !this.firstChild.tagName || this.firstChild.tagName !== "INS"; }).prepend(" ").end().filter("a").children("ins:first-child").not(".jstree-icon").addClass("jstree-icon"); obj.removeData("jstree-is-loading"); } - this.clean_node(obj); - if(s_call) { s_call.call(this); } - } - else { - if(obj && obj !== -1) { - obj.children("a.jstree-loading").removeClass("jstree-loading"); - obj.removeData("jstree-is-loading"); - if(s.correct_state) { - this.correct_state(obj); - if(s_call) { s_call.call(this); } - } - } - else { - if(s.correct_state) { - this.get_container().children("ul").empty(); - if(s_call) { s_call.call(this); } - } - } - } - }; - s.ajax.context = this; - s.ajax.error = error_func; - s.ajax.success = success_func; - if(!s.ajax.dataType) { s.ajax.dataType = "html"; } - if($.isFunction(s.ajax.url)) { s.ajax.url = s.ajax.url.call(this, obj); } - if($.isFunction(s.ajax.data)) { s.ajax.data = s.ajax.data.call(this, obj); } - $.ajax(s.ajax); - break; - } - } - } - }); - // include the HTML data plugin by default - $.jstree.defaults.plugins.push("html_data"); -})(jQuery); -//*/ - -/* - * jsTree themeroller plugin - * Adds support for jQuery UI themes. Include this at the end of your plugins list, also make sure "themes" is not included. - */ -(function ($) { - $.jstree.plugin("themeroller", { - __init : function () { - var s = this._get_settings().themeroller; - this.get_container() - .addClass("ui-widget-content") - .addClass("jstree-themeroller") - .delegate("a","mouseenter.jstree", function (e) { - if(!$(e.currentTarget).hasClass("jstree-loading")) { - $(this).addClass(s.item_h); - } - }) - .delegate("a","mouseleave.jstree", function () { - $(this).removeClass(s.item_h); - }) - .bind("init.jstree", $.proxy(function (e, data) { - data.inst.get_container().find("> ul > li > .jstree-loading > ins").addClass("ui-icon-refresh"); - this._themeroller(data.inst.get_container().find("> ul > li")); - }, this)) - .bind("open_node.jstree create_node.jstree", $.proxy(function (e, data) { - this._themeroller(data.rslt.obj); - }, this)) - .bind("loaded.jstree refresh.jstree", $.proxy(function (e) { - this._themeroller(); - }, this)) - .bind("close_node.jstree", $.proxy(function (e, data) { - this._themeroller(data.rslt.obj); - }, this)) - .bind("delete_node.jstree", $.proxy(function (e, data) { - this._themeroller(data.rslt.parent); - }, this)) - .bind("correct_state.jstree", $.proxy(function (e, data) { - data.rslt.obj - .children("ins.jstree-icon").removeClass(s.opened + " " + s.closed + " ui-icon").end() - .find("> a > ins.ui-icon") - .filter(function() { - return this.className.toString() - .replace(s.item_clsd,"").replace(s.item_open,"").replace(s.item_leaf,"") - .indexOf("ui-icon-") === -1; - }).removeClass(s.item_open + " " + s.item_clsd).addClass(s.item_leaf || "jstree-no-icon"); - }, this)) - .bind("select_node.jstree", $.proxy(function (e, data) { - data.rslt.obj.children("a").addClass(s.item_a); - }, this)) - .bind("deselect_node.jstree deselect_all.jstree", $.proxy(function (e, data) { - this.get_container() - .find("a." + s.item_a).removeClass(s.item_a).end() - .find("a.jstree-clicked").addClass(s.item_a); - }, this)) - .bind("dehover_node.jstree", $.proxy(function (e, data) { - data.rslt.obj.children("a").removeClass(s.item_h); - }, this)) - .bind("hover_node.jstree", $.proxy(function (e, data) { - this.get_container() - .find("a." + s.item_h).not(data.rslt.obj).removeClass(s.item_h); - data.rslt.obj.children("a").addClass(s.item_h); - }, this)) - .bind("move_node.jstree", $.proxy(function (e, data) { - this._themeroller(data.rslt.o); - this._themeroller(data.rslt.op); - }, this)); - }, - __destroy : function () { - var s = this._get_settings().themeroller, - c = [ "ui-icon" ]; - $.each(s, function (i, v) { - v = v.split(" "); - if(v.length) { c = c.concat(v); } - }); - this.get_container() - .removeClass("ui-widget-content") - .find("." + c.join(", .")).removeClass(c.join(" ")); - }, - _fn : { - _themeroller : function (obj) { - var s = this._get_settings().themeroller; - obj = !obj || obj == -1 ? this.get_container_ul() : this._get_node(obj).parent(); - obj - .find("li.jstree-closed") - .children("ins.jstree-icon").removeClass(s.opened).addClass("ui-icon " + s.closed).end() - .children("a").addClass(s.item) - .children("ins.jstree-icon").addClass("ui-icon") - .filter(function() { - return this.className.toString() - .replace(s.item_clsd,"").replace(s.item_open,"").replace(s.item_leaf,"") - .indexOf("ui-icon-") === -1; - }).removeClass(s.item_leaf + " " + s.item_open).addClass(s.item_clsd || "jstree-no-icon") - .end() - .end() - .end() - .end() - .find("li.jstree-open") - .children("ins.jstree-icon").removeClass(s.closed).addClass("ui-icon " + s.opened).end() - .children("a").addClass(s.item) - .children("ins.jstree-icon").addClass("ui-icon") - .filter(function() { - return this.className.toString() - .replace(s.item_clsd,"").replace(s.item_open,"").replace(s.item_leaf,"") - .indexOf("ui-icon-") === -1; - }).removeClass(s.item_leaf + " " + s.item_clsd).addClass(s.item_open || "jstree-no-icon") - .end() - .end() - .end() - .end() - .find("li.jstree-leaf") - .children("ins.jstree-icon").removeClass(s.closed + " ui-icon " + s.opened).end() - .children("a").addClass(s.item) - .children("ins.jstree-icon").addClass("ui-icon") - .filter(function() { - return this.className.toString() - .replace(s.item_clsd,"").replace(s.item_open,"").replace(s.item_leaf,"") - .indexOf("ui-icon-") === -1; - }).removeClass(s.item_clsd + " " + s.item_open).addClass(s.item_leaf || "jstree-no-icon"); - } - }, - defaults : { - "opened" : "ui-icon-triangle-1-se", - "closed" : "ui-icon-triangle-1-e", - "item" : "ui-state-default", - "item_h" : "ui-state-hover", - "item_a" : "ui-state-active", - "item_open" : "ui-icon-folder-open", - "item_clsd" : "ui-icon-folder-collapsed", - "item_leaf" : "ui-icon-document" - } - }); - $(function() { - var css_string = '' + - '.jstree-themeroller .ui-icon { overflow:visible; } ' + - '.jstree-themeroller a { padding:0 2px; } ' + - '.jstree-themeroller .jstree-no-icon { display:none; }'; - $.vakata.css.add_sheet({ str : css_string, title : "jstree" }); - }); -})(jQuery); -//*/ - -/* - * jsTree unique plugin - * Forces different names amongst siblings (still a bit experimental) - * NOTE: does not check language versions (it will not be possible to have nodes with the same title, even in different languages) - */ -(function ($) { - $.jstree.plugin("unique", { - __init : function () { - this.get_container() - .bind("before.jstree", $.proxy(function (e, data) { - var nms = [], res = true, p, t; - if(data.func == "move_node") { - // obj, ref, position, is_copy, is_prepared, skip_check - if(data.args[4] === true) { - if(data.args[0].o && data.args[0].o.length) { - data.args[0].o.children("a").each(function () { nms.push($(this).text().replace(/^\s+/g,"")); }); - res = this._check_unique(nms, data.args[0].np.find("> ul > li").not(data.args[0].o), "move_node"); - } - } - } - if(data.func == "create_node") { - // obj, position, js, callback, is_loaded - if(data.args[4] || this._is_loaded(data.args[0])) { - p = this._get_node(data.args[0]); - if(data.args[1] && (data.args[1] === "before" || data.args[1] === "after")) { - p = this._get_parent(data.args[0]); - if(!p || p === -1) { p = this.get_container(); } - } - if(typeof data.args[2] === "string") { nms.push(data.args[2]); } - else if(!data.args[2] || !data.args[2].data) { nms.push(this._get_string("new_node")); } - else { nms.push(data.args[2].data); } - res = this._check_unique(nms, p.find("> ul > li"), "create_node"); - } - } - if(data.func == "rename_node") { - // obj, val - nms.push(data.args[1]); - t = this._get_node(data.args[0]); - p = this._get_parent(t); - if(!p || p === -1) { p = this.get_container(); } - res = this._check_unique(nms, p.find("> ul > li").not(t), "rename_node"); - } - if(!res) { - e.stopPropagation(); - return false; - } - }, this)); - }, - defaults : { - error_callback : $.noop - }, - _fn : { - _check_unique : function (nms, p, func) { - var cnms = []; - p.children("a").each(function () { cnms.push($(this).text().replace(/^\s+/g,"")); }); - if(!cnms.length || !nms.length) { return true; } - cnms = cnms.sort().join(",,").replace(/(,|^)([^,]+)(,,\2)+(,|$)/g,"$1$2$4").replace(/,,+/g,",").replace(/,$/,"").split(","); - if((cnms.length + nms.length) != cnms.concat(nms).sort().join(",,").replace(/(,|^)([^,]+)(,,\2)+(,|$)/g,"$1$2$4").replace(/,,+/g,",").replace(/,$/,"").split(",").length) { - this._get_settings().unique.error_callback.call(null, nms, p, func); - return false; - } - return true; - }, - check_move : function () { - if(!this.__call_old()) { return false; } - var p = this._get_move(), nms = []; - if(p.o && p.o.length) { - p.o.children("a").each(function () { nms.push($(this).text().replace(/^\s+/g,"")); }); - return this._check_unique(nms, p.np.find("> ul > li").not(p.o), "check_move"); - } - return true; - } - } - }); -})(jQuery); -//*/ - -/* - * jsTree wholerow plugin - * Makes select and hover work on the entire width of the node - * MAY BE HEAVY IN LARGE DOM - */ -(function ($) { - $.jstree.plugin("wholerow", { - __init : function () { - if(!this.data.ui) { throw "jsTree wholerow: jsTree UI plugin not included."; } - this.data.wholerow.html = false; - this.data.wholerow.to = false; - this.get_container() - .bind("init.jstree", $.proxy(function (e, data) { - this._get_settings().core.animation = 0; - }, this)) - .bind("open_node.jstree create_node.jstree clean_node.jstree loaded.jstree", $.proxy(function (e, data) { - this._prepare_wholerow_span( data && data.rslt && data.rslt.obj ? data.rslt.obj : -1 ); - }, this)) - .bind("search.jstree clear_search.jstree reopen.jstree after_open.jstree after_close.jstree create_node.jstree delete_node.jstree clean_node.jstree", $.proxy(function (e, data) { - if(this.data.to) { clearTimeout(this.data.to); } - this.data.to = setTimeout( (function (t, o) { return function() { t._prepare_wholerow_ul(o); }; })(this, data && data.rslt && data.rslt.obj ? data.rslt.obj : -1), 0); - }, this)) - .bind("deselect_all.jstree", $.proxy(function (e, data) { - this.get_container().find(" > .jstree-wholerow .jstree-clicked").removeClass("jstree-clicked " + (this.data.themeroller ? this._get_settings().themeroller.item_a : "" )); - }, this)) - .bind("select_node.jstree deselect_node.jstree ", $.proxy(function (e, data) { - data.rslt.obj.each(function () { - var ref = data.inst.get_container().find(" > .jstree-wholerow li:visible:eq(" + ( parseInt((($(this).offset().top - data.inst.get_container().offset().top + data.inst.get_container()[0].scrollTop) / data.inst.data.core.li_height),10)) + ")"); - // ref.children("a")[e.type === "select_node" ? "addClass" : "removeClass"]("jstree-clicked"); - ref.children("a").attr("class",data.rslt.obj.children("a").attr("class")); - }); - }, this)) - .bind("hover_node.jstree dehover_node.jstree", $.proxy(function (e, data) { - this.get_container().find(" > .jstree-wholerow .jstree-hovered").removeClass("jstree-hovered " + (this.data.themeroller ? this._get_settings().themeroller.item_h : "" )); - if(e.type === "hover_node") { - var ref = this.get_container().find(" > .jstree-wholerow li:visible:eq(" + ( parseInt(((data.rslt.obj.offset().top - this.get_container().offset().top + this.get_container()[0].scrollTop) / this.data.core.li_height),10)) + ")"); - // ref.children("a").addClass("jstree-hovered"); - ref.children("a").attr("class",data.rslt.obj.children(".jstree-hovered").attr("class")); - } - }, this)) - .delegate(".jstree-wholerow-span, ins.jstree-icon, li", "click.jstree", function (e) { - var n = $(e.currentTarget); - if(e.target.tagName === "A" || (e.target.tagName === "INS" && n.closest("li").is(".jstree-open, .jstree-closed"))) { return; } - n.closest("li").children("a:visible:eq(0)").click(); - e.stopImmediatePropagation(); - }) - .delegate("li", "mouseover.jstree", $.proxy(function (e) { - e.stopImmediatePropagation(); - if($(e.currentTarget).children(".jstree-hovered, .jstree-clicked").length) { return false; } - this.hover_node(e.currentTarget); - return false; - }, this)) - .delegate("li", "mouseleave.jstree", $.proxy(function (e) { - if($(e.currentTarget).children("a").hasClass("jstree-hovered").length) { return; } - this.dehover_node(e.currentTarget); - }, this)); - if(is_ie7 || is_ie6) { - $.vakata.css.add_sheet({ str : ".jstree-" + this.get_index() + " { position:relative; } ", title : "jstree" }); - } - }, - defaults : { - }, - __destroy : function () { - this.get_container().children(".jstree-wholerow").remove(); - this.get_container().find(".jstree-wholerow-span").remove(); - }, - _fn : { - _prepare_wholerow_span : function (obj) { - obj = !obj || obj == -1 ? this.get_container().find("> ul > li") : this._get_node(obj); - if(obj === false) { return; } // added for removing root nodes - obj.each(function () { - $(this).find("li").andSelf().each(function () { - var $t = $(this); - if($t.children(".jstree-wholerow-span").length) { return true; } - $t.prepend(" "); - }); - }); - }, - _prepare_wholerow_ul : function () { - var o = this.get_container().children("ul").eq(0), h = o.html(); - o.addClass("jstree-wholerow-real"); - if(this.data.wholerow.last_html !== h) { - this.data.wholerow.last_html = h; - this.get_container().children(".jstree-wholerow").remove(); - this.get_container().append( - o.clone().removeClass("jstree-wholerow-real") - .wrapAll("
          ").parent() - .width(o.parent()[0].scrollWidth) - .css("top", (o.height() + ( is_ie7 ? 5 : 0)) * -1 ) - .find("li[id]").each(function () { this.removeAttribute("id"); }).end() - ); - } - } - } - }); - $(function() { - var css_string = '' + - '.jstree .jstree-wholerow-real { position:relative; z-index:1; } ' + - '.jstree .jstree-wholerow-real li { cursor:pointer; } ' + - '.jstree .jstree-wholerow-real a { border-left-color:transparent !important; border-right-color:transparent !important; } ' + - '.jstree .jstree-wholerow { position:relative; z-index:0; height:0; } ' + - '.jstree .jstree-wholerow ul, .jstree .jstree-wholerow li { width:100%; } ' + - '.jstree .jstree-wholerow, .jstree .jstree-wholerow ul, .jstree .jstree-wholerow li, .jstree .jstree-wholerow a { margin:0 !important; padding:0 !important; } ' + - '.jstree .jstree-wholerow, .jstree .jstree-wholerow ul, .jstree .jstree-wholerow li { background:transparent !important; }' + - '.jstree .jstree-wholerow ins, .jstree .jstree-wholerow span, .jstree .jstree-wholerow input { display:none !important; }' + - '.jstree .jstree-wholerow a, .jstree .jstree-wholerow a:hover { text-indent:-9999px; !important; width:100%; padding:0 !important; border-right-width:0px !important; border-left-width:0px !important; } ' + - '.jstree .jstree-wholerow-span { position:absolute; left:0; margin:0px; padding:0; height:18px; border-width:0; padding:0; z-index:0; }'; - if(is_ff2) { - css_string += '' + - '.jstree .jstree-wholerow a { display:block; height:18px; margin:0; padding:0; border:0; } ' + - '.jstree .jstree-wholerow-real a { border-color:transparent !important; } '; - } - if(is_ie7 || is_ie6) { - css_string += '' + - '.jstree .jstree-wholerow, .jstree .jstree-wholerow li, .jstree .jstree-wholerow ul, .jstree .jstree-wholerow a { margin:0; padding:0; line-height:18px; } ' + - '.jstree .jstree-wholerow a { display:block; height:18px; line-height:18px; overflow:hidden; } '; - } - $.vakata.css.add_sheet({ str : css_string, title : "jstree" }); - }); -})(jQuery); -//*/ - -/* -* jsTree model plugin -* This plugin gets jstree to use a class model to retrieve data, creating great dynamism -*/ -(function ($) { - var nodeInterface = ["getChildren","getChildrenCount","getAttr","getName","getProps"], - validateInterface = function(obj, inter) { - var valid = true; - obj = obj || {}; - inter = [].concat(inter); - $.each(inter, function (i, v) { - if(!$.isFunction(obj[v])) { valid = false; return false; } - }); - return valid; - }; - $.jstree.plugin("model", { - __init : function () { - if(!this.data.json_data) { throw "jsTree model: jsTree json_data plugin not included."; } - this._get_settings().json_data.data = function (n, b) { - var obj = (n == -1) ? this._get_settings().model.object : n.data("jstree_model"); - if(!validateInterface(obj, nodeInterface)) { return b.call(null, false); } - if(this._get_settings().model.async) { - obj.getChildren($.proxy(function (data) { - this.model_done(data, b); - }, this)); - } - else { - this.model_done(obj.getChildren(), b); - } - }; - }, - defaults : { - object : false, - id_prefix : false, - async : false - }, - _fn : { - model_done : function (data, callback) { - var ret = [], - s = this._get_settings(), - _this = this; - - if(!$.isArray(data)) { data = [data]; } - $.each(data, function (i, nd) { - var r = nd.getProps() || {}; - r.attr = nd.getAttr() || {}; - if(nd.getChildrenCount()) { r.state = "closed"; } - r.data = nd.getName(); - if(!$.isArray(r.data)) { r.data = [r.data]; } - if(_this.data.types && $.isFunction(nd.getType)) { - r.attr[s.types.type_attr] = nd.getType(); - } - if(r.attr.id && s.model.id_prefix) { r.attr.id = s.model.id_prefix + r.attr.id; } - if(!r.metadata) { r.metadata = { }; } - r.metadata.jstree_model = nd; - ret.push(r); - }); - callback.call(null, ret); - } - } - }); -})(jQuery); -//*/ - })(); diff --git a/seahub/message/templates/message/all_msg_list.html b/seahub/message/templates/message/all_msg_list.html index 1b26d6d207..ab563cc30a 100644 --- a/seahub/message/templates/message/all_msg_list.html +++ b/seahub/message/templates/message/all_msg_list.html @@ -3,6 +3,7 @@ {% block sub_title %}{% trans "Messages" %}{% if total_unread > 0%}({{total_unread}}){%endif%} - {% endblock %} {% block extra_style %} + @@ -55,6 +56,7 @@ {% endblock %} {% block extra_script %}{{block.super}} + - {% block extra_script %}{% endblock %} - +{% include 'snippets/font_icon_support_for_some_browsers.html' %} diff --git a/seahub/templates/repo.html b/seahub/templates/repo.html index 89f74ab2ce..a2c43e3f33 100644 --- a/seahub/templates/repo.html +++ b/seahub/templates/repo.html @@ -4,6 +4,7 @@ {% block sub_title %}{{repo.name}} - {% endblock %} {% block extra_style %} +