edgarj 0.01.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/MIT-LICENSE +20 -0
- data/README.rdoc +23 -0
- data/Rakefile +40 -0
- data/app/assets/javascripts/edgarj/base.js +49 -0
- data/app/assets/javascripts/edgarj/menu.js +39 -0
- data/app/assets/javascripts/edgarj/operator_selection.js +133 -0
- data/app/assets/stylesheets/edgarj/base.css +304 -0
- data/app/assets/stylesheets/edgarj/menu.css +65 -0
- data/app/controllers/edgarj/authentication_mixin.rb.sample +30 -0
- data/app/controllers/edgarj/controller_mixin_common.rb +80 -0
- data/app/controllers/edgarj/controller_mixin_for_app.rb +71 -0
- data/app/controllers/edgarj/edgarj_controller.rb +535 -0
- data/app/controllers/edgarj/model_permissions_controller.rb +8 -0
- data/app/controllers/edgarj/permission_mixin.rb +84 -0
- data/app/controllers/edgarj/popup_controller.rb +128 -0
- data/app/controllers/edgarj/rescue_mixin.rb +37 -0
- data/app/controllers/edgarj/user_group_users_controller.rb +8 -0
- data/app/controllers/edgarj/user_groups_controller.rb +9 -0
- data/app/controllers/edgarj/user_groups_popup_controller.rb +8 -0
- data/app/helpers/edgarj/assoc_helper.rb +369 -0
- data/app/helpers/edgarj/common_helper.rb +37 -0
- data/app/helpers/edgarj/edgarj_helper.rb +20 -0
- data/app/helpers/edgarj/field_helper.rb +397 -0
- data/app/helpers/edgarj/form_drawer.rb +322 -0
- data/app/helpers/edgarj/list_drawer.rb +169 -0
- data/app/helpers/edgarj/menu_helper.rb +92 -0
- data/app/helpers/edgarj/model_permissions_helper.rb +9 -0
- data/app/helpers/edgarj/popup_helper.rb +40 -0
- data/app/helpers/edgarj/search_helper.rb +14 -0
- data/app/helpers/edgarj/sessions_helper.rb +9 -0
- data/app/helpers/edgarj/user_group_users_helper.rb +9 -0
- data/app/helpers/edgarj/user_groups_helper.rb +9 -0
- data/app/helpers/edgarj/user_groups_popup_helper.rb +9 -0
- data/app/models/edgarj/drawer/base.rb +234 -0
- data/app/models/edgarj/drawer/normal.rb +6 -0
- data/app/models/edgarj/drawer/popup.rb +47 -0
- data/app/models/edgarj/drawer.rb +13 -0
- data/app/models/edgarj/model_permission.rb +41 -0
- data/app/models/edgarj/page_info.rb +47 -0
- data/app/models/edgarj/search.rb +81 -0
- data/app/models/edgarj/search_form.rb +255 -0
- data/app/models/edgarj/search_popup.rb +44 -0
- data/app/models/edgarj/sssn.rb +120 -0
- data/app/models/edgarj/user_group.rb +67 -0
- data/app/models/edgarj/user_group_user.rb +18 -0
- data/app/models/edgarj.rb +5 -0
- data/app/views/edgarj/edgarj/_form.html.erb +25 -0
- data/app/views/edgarj/edgarj/_list.html.erb +52 -0
- data/app/views/edgarj/edgarj/_message_popup.html.erb +15 -0
- data/app/views/edgarj/edgarj/_search_form.html.erb +64 -0
- data/app/views/edgarj/edgarj/_search_operator.html.erb +17 -0
- data/app/views/edgarj/edgarj/_search_operator_selection.html.erb +12 -0
- data/app/views/edgarj/edgarj/clear.js.erb +1 -0
- data/app/views/edgarj/edgarj/create.js.erb +4 -0
- data/app/views/edgarj/edgarj/destroy.js.erb +2 -0
- data/app/views/edgarj/edgarj/index.html.erb +37 -0
- data/app/views/edgarj/edgarj/index.js.erb +1 -0
- data/app/views/edgarj/edgarj/message_popup.js.erb +3 -0
- data/app/views/edgarj/edgarj/page_info_save.js.erb +1 -0
- data/app/views/edgarj/edgarj/search.js.erb +4 -0
- data/app/views/edgarj/edgarj/search_clear.js.erb +1 -0
- data/app/views/edgarj/edgarj/show.js.erb +1 -0
- data/app/views/edgarj/edgarj/top.html.erb +4 -0
- data/app/views/edgarj/edgarj/update.js.erb +4 -0
- data/app/views/edgarj/popup/_index.html.erb +16 -0
- data/app/views/edgarj/popup/_list.html.erb +42 -0
- data/app/views/edgarj/popup/_message_popup.html.erb +15 -0
- data/app/views/edgarj/popup/_search.html.erb +42 -0
- data/app/views/edgarj/popup/_search_save_popup.html.erb +16 -0
- data/app/views/edgarj/popup/index.js.erb +5 -0
- data/app/views/edgarj/popup/message_popup.js.erb +3 -0
- data/app/views/edgarj/popup/page_info_save.js.erb +1 -0
- data/app/views/edgarj/popup/search.js.erb +15 -0
- data/app/views/edgarj/popup/view_status_save.js.erb +1 -0
- data/config/routes.rb +15 -0
- data/config/settings.yml +5 -0
- data/db/migrate/20131118084600_create_edgar_sssns.rb +14 -0
- data/db/migrate/20131123124730_create_edgar_page_infos.rb +15 -0
- data/db/migrate/20140116062252_create_edgar_user_groups.rb +18 -0
- data/db/migrate/20140116062327_create_edgar_user_group_users.rb +10 -0
- data/db/migrate/20140206222308_create_edgar_model_permissions.rb +14 -0
- data/db/migrate/20141209053055_rename_edgar_to_edgarj.rb +17 -0
- data/lib/core_ext/active_record.rb +123 -0
- data/lib/core_ext/resources.rb +71 -0
- data/lib/edgarj/engine.rb +64 -0
- data/lib/edgarj/enum_cache.rb +46 -0
- data/lib/edgarj/templates/rails/helper/helper.rb +10 -0
- data/lib/edgarj/templates/test_unit/scaffold/functional_test.rb +575 -0
- data/lib/edgarj/version.rb +3 -0
- data/lib/edgarj.rb +14 -0
- data/lib/generators/edgarj/popup_scaffold/USAGE +6 -0
- data/lib/generators/edgarj/popup_scaffold/popup_scaffold_generator.rb +35 -0
- data/lib/generators/edgarj/popup_scaffold/templates/controller.rb +13 -0
- data/lib/generators/edgarj/popup_scaffold/templates/functional_test.rb +197 -0
- data/lib/generators/edgarj/popup_scaffold/templates/helper.rb +9 -0
- data/lib/generators/edgarj/scaffold/USAGE +17 -0
- data/lib/generators/edgarj/scaffold/scaffold_generator.rb +40 -0
- data/lib/generators/edgarj/scaffold/templates/controller.rb +13 -0
- data/lib/tasks/edgarj_tasks.rake +32 -0
- data/lib/tasks/pakcage.rake +18 -0
- data/locale/en.yml +94 -0
- data/locale/ja.yml +100 -0
- data/test/dummy/README.rdoc +28 -0
- data/test/dummy/Rakefile +6 -0
- data/test/dummy/app/assets/javascripts/application.js +21 -0
- data/test/dummy/app/assets/javascripts/authors.js +2 -0
- data/test/dummy/app/assets/stylesheets/application.css +16 -0
- data/test/dummy/app/assets/stylesheets/authors.css +4 -0
- data/test/dummy/app/assets/stylesheets/scaffold.css +56 -0
- data/test/dummy/app/controllers/application_controller.rb +15 -0
- data/test/dummy/app/controllers/authors_controller.rb +6 -0
- data/test/dummy/app/controllers/authors_popup_controller.rb +6 -0
- data/test/dummy/app/controllers/books_controller.rb +6 -0
- data/test/dummy/app/controllers/dummy_auth_mixin.rb +36 -0
- data/test/dummy/app/decorators/models/edgarj/user_group_decorator.rb +1 -0
- data/test/dummy/app/helpers/application_helper.rb +3 -0
- data/test/dummy/app/helpers/authors_helper.rb +7 -0
- data/test/dummy/app/helpers/authors_popup_helper.rb +7 -0
- data/test/dummy/app/helpers/books_helper.rb +7 -0
- data/test/dummy/app/models/author.rb +32 -0
- data/test/dummy/app/models/book.rb +5 -0
- data/test/dummy/app/models/user.rb +13 -0
- data/test/dummy/app/views/layouts/application.html.erb +32 -0
- data/test/dummy/app/views/layouts/login.html.erb +20 -0
- data/test/dummy/bin/bundle +3 -0
- data/test/dummy/bin/rails +4 -0
- data/test/dummy/bin/rake +4 -0
- data/test/dummy/config/application.rb +59 -0
- data/test/dummy/config/boot.rb +10 -0
- data/test/dummy/config/database.yml +15 -0
- data/test/dummy/config/edgarj/menu_config.rb +28 -0
- data/test/dummy/config/environment.rb +5 -0
- data/test/dummy/config/environments/development.rb +42 -0
- data/test/dummy/config/environments/production.rb +79 -0
- data/test/dummy/config/environments/test.rb +34 -0
- data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
- data/test/dummy/config/initializers/inflections.rb +16 -0
- data/test/dummy/config/initializers/mime_types.rb +5 -0
- data/test/dummy/config/initializers/secret_token.rb +12 -0
- data/test/dummy/config/initializers/session_store.rb +3 -0
- data/test/dummy/config/initializers/strong_parameter.rb +3 -0
- data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/test/dummy/config/locales/en.yml +26 -0
- data/test/dummy/config/routes.rb +60 -0
- data/test/dummy/config.ru +4 -0
- data/test/dummy/db/migrate/20131107120635_create_authors.rb +9 -0
- data/test/dummy/db/migrate/20131218011851_create_books.rb +10 -0
- data/test/dummy/db/migrate/20140201000000_add_user_group_id_to_authors.rb +5 -0
- data/test/dummy/db/migrate/20140807065420_create_users.rb +10 -0
- data/test/dummy/db/schema.rb +93 -0
- data/test/dummy/public/404.html +58 -0
- data/test/dummy/public/422.html +58 -0
- data/test/dummy/public/500.html +57 -0
- data/test/dummy/public/favicon.ico +0 -0
- data/test/dummy/script/rails +6 -0
- data/test/dummy/test/functional/authors_controller_test.rb +631 -0
- data/test/dummy/test/functional/books_controller_test.rb +516 -0
- data/test/dummy/test/helpers/authors_helper_test.rb +4 -0
- data/test/dummy/test/unit/author_test.rb +7 -0
- data/test/dummy/test/unit/book_test.rb +7 -0
- data/test/edgar_test.rb +7 -0
- data/test/fixtures/authors.yml +32 -0
- data/test/fixtures/books.yml +56 -0
- data/test/fixtures/edgarj/model_permissions.yml +97 -0
- data/test/fixtures/edgarj/page_infos.yml +84 -0
- data/test/fixtures/edgarj/sssns.yml +38 -0
- data/test/fixtures/edgarj/user_group_users.yml +114 -0
- data/test/fixtures/edgarj/user_groups.yml +95 -0
- data/test/fixtures/users.yml +49 -0
- data/test/functional/edgarj/edgarj_controller_test.rb +24 -0
- data/test/functional/edgarj/model_permissions_controller_test.rb +554 -0
- data/test/functional/edgarj/user_group_users_controller_test.rb +567 -0
- data/test/integration/navigation_test.rb +10 -0
- data/test/support/edgarj/controller_supporter.rb +23 -0
- data/test/test_helper.rb +23 -0
- data/test/unit/edgarj/model_permission_test.rb +27 -0
- data/test/unit/edgarj/page_info_test.rb +7 -0
- data/test/unit/edgarj/sssn_test.rb +10 -0
- data/test/unit/edgarj/user_group_test.rb +32 -0
- data/test/unit/edgarj/user_group_user_test.rb +9 -0
- data/test/unit/helpers/edgarj/model_permissions_helper_test.rb +6 -0
- data/test/unit/helpers/edgarj/user_group_users_helper_test.rb +6 -0
- metadata +456 -0
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA1:
|
|
3
|
+
metadata.gz: 00eea19bd167d8b2f717d892ffa5ff4aea5a99c2
|
|
4
|
+
data.tar.gz: 430cd11bd6fdf1e0040af77758db8c9524b0d5f0
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: 12f3effb419be2931d31fc187eeec8d72fb5221312fab44cb6475c4e810f9880532db1b1ad5861a9f9d8ae6d67688f7b54301f3a264cc7be3cb4b9f2a6d5a28b
|
|
7
|
+
data.tar.gz: 4c1f5639e68ef78609787039d953d96dd2316c15b4f259fcc989787b3b412a1aedec7e2fdc8e89096214660714426c831d5ba840ff0330b832a16a92507e7742
|
data/MIT-LICENSE
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
Copyright 2014 Fuminori IDO
|
|
2
|
+
|
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
|
4
|
+
a copy of this software and associated documentation files (the
|
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
|
9
|
+
the following conditions:
|
|
10
|
+
|
|
11
|
+
The above copyright notice and this permission notice shall be
|
|
12
|
+
included in all copies or substantial portions of the Software.
|
|
13
|
+
|
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.rdoc
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
= Edgarj
|
|
2
|
+
|
|
3
|
+
Edgarj is an Ajax-based scaffold with:
|
|
4
|
+
|
|
5
|
+
* QBE(Query By Example) search form.
|
|
6
|
+
* column sort on record list.
|
|
7
|
+
* popup view & controller for 'belongs_to' relation table to pick up a
|
|
8
|
+
parent record.
|
|
9
|
+
* csv download.
|
|
10
|
+
* user-role based access control.
|
|
11
|
+
* Following levels of customization:
|
|
12
|
+
1. select columns and its order on view for list, form, and search-form
|
|
13
|
+
1. overwrite partial-template for each list, form, and search-form
|
|
14
|
+
|
|
15
|
+
== Prerequisites
|
|
16
|
+
|
|
17
|
+
* Rails 3.2 (because of our projects' rails version consistency).
|
|
18
|
+
* external 'User' model.
|
|
19
|
+
|
|
20
|
+
== KNOWN BUGS
|
|
21
|
+
|
|
22
|
+
* "rake scaffold" (not "rake edgarj:scaffold") generates
|
|
23
|
+
WRONG functional test, which uses Edgarj's functional test template.
|
data/Rakefile
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
#!/usr/bin/env rake
|
|
2
|
+
begin
|
|
3
|
+
require 'bundler/setup'
|
|
4
|
+
rescue LoadError
|
|
5
|
+
puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
|
|
6
|
+
end
|
|
7
|
+
begin
|
|
8
|
+
require 'rdoc/task'
|
|
9
|
+
rescue LoadError
|
|
10
|
+
require 'rdoc/rdoc'
|
|
11
|
+
require 'rake/rdoctask'
|
|
12
|
+
RDoc::Task = Rake::RDocTask
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
RDoc::Task.new(:rdoc) do |rdoc|
|
|
16
|
+
rdoc.rdoc_dir = 'rdoc'
|
|
17
|
+
rdoc.title = 'Edgarj'
|
|
18
|
+
rdoc.options << '--line-numbers'
|
|
19
|
+
rdoc.rdoc_files.include('README.rdoc')
|
|
20
|
+
rdoc.rdoc_files.include('lib/**/*.rb')
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
APP_RAKEFILE = File.expand_path("../test/dummy/Rakefile", __FILE__)
|
|
24
|
+
load 'rails/tasks/engine.rake'
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
Bundler::GemHelper.install_tasks
|
|
29
|
+
|
|
30
|
+
require 'rake/testtask'
|
|
31
|
+
|
|
32
|
+
Rake::TestTask.new(:test) do |t|
|
|
33
|
+
t.libs << 'lib'
|
|
34
|
+
t.libs << 'test'
|
|
35
|
+
t.pattern = 'test/**/*_test.rb'
|
|
36
|
+
t.verbose = false
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
task :default => :test
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
var Edgarj = {
|
|
2
|
+
};
|
|
3
|
+
|
|
4
|
+
Edgarj.Popup = {
|
|
5
|
+
/*
|
|
6
|
+
JavaScript version of Edgarj::PopupHelper::PopupField.
|
|
7
|
+
|
|
8
|
+
This constructor returns exactly the same value as helper does.
|
|
9
|
+
|
|
10
|
+
= SEE ALSO
|
|
11
|
+
Edgarj::PopupHelper::PopupField:: same logic at ruby server side
|
|
12
|
+
*/
|
|
13
|
+
Field: function(id_target){
|
|
14
|
+
this.id_target = $('#' + id_target);
|
|
15
|
+
this.label_target = $('#' + '__edgarj_label_target_for_' + id_target);
|
|
16
|
+
this.label_hidden_field = $('#' + '__edgarj_label_hidden_field_for_' + id_target);
|
|
17
|
+
this.clear_link = $('#' + this.label_target.attr('id') + '_clear_link');
|
|
18
|
+
},
|
|
19
|
+
|
|
20
|
+
/*
|
|
21
|
+
clear popup button and hidden field
|
|
22
|
+
|
|
23
|
+
= INPUTS
|
|
24
|
+
id_target:: id target DOM
|
|
25
|
+
*/
|
|
26
|
+
clear: function(id_target){
|
|
27
|
+
//var pf = new Edgarj.Popup.Field(id_target);
|
|
28
|
+
var pf = new this.Field(id_target);
|
|
29
|
+
pf.id_target.val('');
|
|
30
|
+
pf.label_target.text('');
|
|
31
|
+
pf.label_hidden_field.val('');
|
|
32
|
+
pf.clear_link.hide();
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
Edgarj.OperatorSelection = {
|
|
37
|
+
/*
|
|
38
|
+
set selected operator 'op' into both target label and hidden field
|
|
39
|
+
on search-form.
|
|
40
|
+
*/
|
|
41
|
+
on_select: function(target, op){
|
|
42
|
+
// guess hidden field from target label
|
|
43
|
+
var hidden_dom = target.id.replace(/_label$/, ""),
|
|
44
|
+
hidden = $('#' + hidden_dom);
|
|
45
|
+
|
|
46
|
+
hidden.val(op);
|
|
47
|
+
$(target).text(op);
|
|
48
|
+
}
|
|
49
|
+
};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/*
|
|
2
|
+
inspired from http://javascript-array.com/scripts/jquery_simple_drop_down_menu/
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
Edgarj.Menu = {
|
|
6
|
+
timeout: 500,
|
|
7
|
+
closetimer: 0,
|
|
8
|
+
ddmenuitem: 0,
|
|
9
|
+
|
|
10
|
+
cancel_timer: function(){
|
|
11
|
+
if(Edgarj.Menu.closetimer){
|
|
12
|
+
window.clearTimeout(Edgarj.Menu.closetimer);
|
|
13
|
+
Edgarj.Menu.closetimer = null;
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
|
|
17
|
+
open: function(){
|
|
18
|
+
Edgarj.Menu.cancel_timer();
|
|
19
|
+
Edgarj.Menu.close();
|
|
20
|
+
Edgarj.Menu.ddmenuitem = $(this).find('ul').eq(0).css('visibility', 'visible');
|
|
21
|
+
},
|
|
22
|
+
|
|
23
|
+
close: function(){
|
|
24
|
+
if(Edgarj.Menu.ddmenuitem){
|
|
25
|
+
Edgarj.Menu.ddmenuitem.css('visibility', 'hidden');
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
|
|
29
|
+
timer: function(){
|
|
30
|
+
Edgarj.Menu.closetimer = window.setTimeout(Edgarj.Menu.close, Edgarj.Menu.timeout);
|
|
31
|
+
},
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
$(document).ready(function(){
|
|
35
|
+
$('#edgarj_menu > li').bind('mouseover', Edgarj.Menu.open);
|
|
36
|
+
$('#edgarj_menu > li').bind('mouseout', Edgarj.Menu.timer);
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
document.onclick = Edgarj.Menu.close;
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
/*
|
|
2
|
+
Operator selection menu
|
|
3
|
+
|
|
4
|
+
Inspired by Chris Domigan's ContextMenu
|
|
5
|
+
(http://www.trendskitchens.co.nz/jquery/contextmenu/)
|
|
6
|
+
|
|
7
|
+
This is MIT LICENSE.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
(function($) {
|
|
11
|
+
var menu, shadow, trigger, content, hash, currentTarget;
|
|
12
|
+
var defaults = {
|
|
13
|
+
menuStyle: {
|
|
14
|
+
listStyle: 'none',
|
|
15
|
+
padding: '1px',
|
|
16
|
+
margin: '0px',
|
|
17
|
+
backgroundColor: '#fff',
|
|
18
|
+
border: '1px solid #999',
|
|
19
|
+
width: '100px'
|
|
20
|
+
},
|
|
21
|
+
itemStyle: {
|
|
22
|
+
margin: '0px',
|
|
23
|
+
color: '#000',
|
|
24
|
+
display: 'block',
|
|
25
|
+
cursor: 'default',
|
|
26
|
+
padding: '3px',
|
|
27
|
+
border: '1px solid #fff',
|
|
28
|
+
backgroundColor: 'transparent'
|
|
29
|
+
},
|
|
30
|
+
itemHoverStyle: {
|
|
31
|
+
border: '1px solid #0a246a',
|
|
32
|
+
backgroundColor: '#b6bdd2'
|
|
33
|
+
},
|
|
34
|
+
eventPosX: 'pageX',
|
|
35
|
+
eventPosY: 'pageY',
|
|
36
|
+
shadow : true,
|
|
37
|
+
onContextMenu: null,
|
|
38
|
+
onShowMenu: null
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
$.fn.contextMenu = function(id, options) {
|
|
42
|
+
if (!menu) { // Create singleton menu
|
|
43
|
+
menu = $('<div id="jqContextMenu"></div>')
|
|
44
|
+
.hide()
|
|
45
|
+
.css({position:'absolute', zIndex:'500'})
|
|
46
|
+
.appendTo('body')
|
|
47
|
+
.bind('click', function(e) {
|
|
48
|
+
e.stopPropagation();
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
if (!shadow) {
|
|
52
|
+
shadow = $('<div></div>')
|
|
53
|
+
.css({backgroundColor:'#000',position:'absolute',opacity:0.2,zIndex:499})
|
|
54
|
+
.appendTo('body')
|
|
55
|
+
.hide();
|
|
56
|
+
}
|
|
57
|
+
hash = hash || [];
|
|
58
|
+
hash.push({
|
|
59
|
+
id : id,
|
|
60
|
+
menuStyle: $.extend({}, defaults.menuStyle, options.menuStyle || {}),
|
|
61
|
+
itemStyle: $.extend({}, defaults.itemStyle, options.itemStyle || {}),
|
|
62
|
+
itemHoverStyle: $.extend({}, defaults.itemHoverStyle, options.itemHoverStyle || {}),
|
|
63
|
+
bindings: options.bindings || {},
|
|
64
|
+
shadow: options.shadow || options.shadow === false ? options.shadow : defaults.shadow,
|
|
65
|
+
onContextMenu: options.onContextMenu || defaults.onContextMenu,
|
|
66
|
+
onShowMenu: options.onShowMenu || defaults.onShowMenu,
|
|
67
|
+
eventPosX: options.eventPosX || defaults.eventPosX,
|
|
68
|
+
eventPosY: options.eventPosY || defaults.eventPosY
|
|
69
|
+
});
|
|
70
|
+
|
|
71
|
+
var index = hash.length - 1;
|
|
72
|
+
$(this).bind('click', function(e) {
|
|
73
|
+
// Check if onContextMenu() defined
|
|
74
|
+
var bShowContext = (!!hash[index].onContextMenu) ? hash[index].onContextMenu(e) : true;
|
|
75
|
+
if (bShowContext) display(index, this, e, options);
|
|
76
|
+
return false;
|
|
77
|
+
});
|
|
78
|
+
return this;
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
function display(index, trigger, e, options) {
|
|
82
|
+
var cur = hash[index];
|
|
83
|
+
content = $('#'+cur.id).find('ul:first').clone(true);
|
|
84
|
+
content.css(cur.menuStyle).find('li').css(cur.itemStyle).hover(
|
|
85
|
+
function() {
|
|
86
|
+
$(this).css(cur.itemHoverStyle);
|
|
87
|
+
},
|
|
88
|
+
function(){
|
|
89
|
+
$(this).css(cur.itemStyle);
|
|
90
|
+
}
|
|
91
|
+
).find('img').css({verticalAlign:'middle',paddingRight:'2px'});
|
|
92
|
+
|
|
93
|
+
// Send the content to the menu
|
|
94
|
+
menu.html(content);
|
|
95
|
+
|
|
96
|
+
// if there's an onShowMenu, run it now -- must run after content has been added
|
|
97
|
+
// if you try to alter the content variable before the menu.html(), IE6 has issues
|
|
98
|
+
// updating the content
|
|
99
|
+
if (!!cur.onShowMenu) menu = cur.onShowMenu(e, menu);
|
|
100
|
+
|
|
101
|
+
$.each(cur.bindings, function(id, func) {
|
|
102
|
+
$('#'+id, menu).bind('click', function(e) {
|
|
103
|
+
hide();
|
|
104
|
+
func(trigger, currentTarget);
|
|
105
|
+
});
|
|
106
|
+
});
|
|
107
|
+
|
|
108
|
+
menu.css({'left':e[cur.eventPosX],'top':e[cur.eventPosY]}).show();
|
|
109
|
+
if (cur.shadow) shadow.css({width:menu.width(),height:menu.height(),left:e.pageX+2,top:e.pageY+2}).show();
|
|
110
|
+
$(document).one('click', hide);
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
function hide() {
|
|
114
|
+
menu.hide();
|
|
115
|
+
shadow.hide();
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
// Apply defaults
|
|
119
|
+
$.contextMenu = {
|
|
120
|
+
defaults : function(userDefaults) {
|
|
121
|
+
$.each(userDefaults, function(i, val) {
|
|
122
|
+
if (typeof val == 'object' && defaults[i]) {
|
|
123
|
+
$.extend(defaults[i], val);
|
|
124
|
+
}
|
|
125
|
+
else defaults[i] = val;
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
};
|
|
129
|
+
})(jQuery);
|
|
130
|
+
|
|
131
|
+
$(function(){
|
|
132
|
+
$('div.contextMenu').hide();
|
|
133
|
+
});
|
|
@@ -0,0 +1,304 @@
|
|
|
1
|
+
h3 {
|
|
2
|
+
color: #000;
|
|
3
|
+
padding-left: 5px;
|
|
4
|
+
border-left: 10px solid #248;
|
|
5
|
+
border-bottom: 1px solid #248;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
pre {
|
|
9
|
+
background-color: #eee;
|
|
10
|
+
padding: 10px;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
/* Edgarj list */
|
|
14
|
+
div#edgarj_list table, div#edgarj_popup_list table {
|
|
15
|
+
border-collapse: separate;
|
|
16
|
+
border-spacing: 0px;
|
|
17
|
+
empty-cells: show;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
div#edgarj_list th, div#edgarj_list td,
|
|
21
|
+
div#edgarj_popup_list th, div#edgarj_popup_list td {
|
|
22
|
+
margin: 1px;
|
|
23
|
+
border: 0px;
|
|
24
|
+
padding: 1px 5px 1px 5px;
|
|
25
|
+
font-size: 80%;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
div#edgarj_list th {
|
|
29
|
+
border-top: 1px solid #fca;
|
|
30
|
+
border-left: 1px solid #fca;
|
|
31
|
+
border-right: 1px solid #842;
|
|
32
|
+
border-bottom: 1px solid #842;
|
|
33
|
+
background-color: #c94;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
div#edgarj_popup_list th {
|
|
37
|
+
border-top: 1px solid #abd;
|
|
38
|
+
border-left: 1px solid #abd;
|
|
39
|
+
border-right: 1px solid #347;
|
|
40
|
+
border-bottom: 1px solid #347;
|
|
41
|
+
background-color: #6ad;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
div#edgarj_list table.list tr:hover, div#edgarj_popup_list table.list tr:hover {
|
|
45
|
+
background-color: #8fc;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/* form by <table> */
|
|
49
|
+
form {
|
|
50
|
+
margin: 0em;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
div#edgarj_form {
|
|
54
|
+
margin-top: 5px;
|
|
55
|
+
background-color: #f0e8b8;
|
|
56
|
+
padding: 5px;
|
|
57
|
+
border: 1px solid;
|
|
58
|
+
border-color: #eef #668 #668 #eef;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
div#edgarj_search_form {
|
|
62
|
+
margin-top: 5px;
|
|
63
|
+
background-color: #cfc;
|
|
64
|
+
padding: 5px;
|
|
65
|
+
border: 1px solid;
|
|
66
|
+
border-color: #efe #686 #686 #efe;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/* hyper-link in Edgarj list, form, and search_form */
|
|
70
|
+
div#edgarj_list a { color: #000; }
|
|
71
|
+
div#edgarj_list a:visited { color: #000; }
|
|
72
|
+
div#edgarj_list a:hover { color: #eee; background-color:#08c; }
|
|
73
|
+
div#edgarj_form a { color: #000; }
|
|
74
|
+
div#edgarj_form a:visited { color: #000; }
|
|
75
|
+
div#edgarj_form a:hover { color: #eee; background-color:#08c; }
|
|
76
|
+
div#edgarj_search_form a { color: #000; }
|
|
77
|
+
div#edgarj_search_form a:visited { color: #000; }
|
|
78
|
+
div#edgarj_search_form a:hover { color: #eee; background-color:#08c; }
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
/* List's two-ton color */
|
|
82
|
+
tr.list_line0 {
|
|
83
|
+
background-color: #ffffd0;
|
|
84
|
+
}
|
|
85
|
+
tr.list_line1 {
|
|
86
|
+
background-color: #f0f0f0;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
/* login */
|
|
90
|
+
/* List's two-ton color */
|
|
91
|
+
.login tr th {
|
|
92
|
+
background-color: #fff;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
/* error related */
|
|
96
|
+
.fieldWithErrors {
|
|
97
|
+
padding: 2px;
|
|
98
|
+
background-color: red;
|
|
99
|
+
display: table;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
#errorExplanation {
|
|
103
|
+
width: 400px;
|
|
104
|
+
border: 2px solid red;
|
|
105
|
+
padding: 7px;
|
|
106
|
+
padding-bottom: 12px;
|
|
107
|
+
margin-bottom: 20px;
|
|
108
|
+
background-color: #f0f0f0;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
#errorExplanation h2 {
|
|
112
|
+
text-align: left;
|
|
113
|
+
font-weight: bold;
|
|
114
|
+
padding: 5px 5px 5px 15px;
|
|
115
|
+
font-size: 12px;
|
|
116
|
+
margin: -7px;
|
|
117
|
+
background-color: #c00;
|
|
118
|
+
color: #fff;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
#errorExplanation p {
|
|
122
|
+
color: #333;
|
|
123
|
+
margin-bottom: 0;
|
|
124
|
+
padding: 5px;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
#errorExplanation ul li {
|
|
128
|
+
font-size: 12px;
|
|
129
|
+
list-style: square;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
td#login {
|
|
133
|
+
color: #333;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
.edgarj_title {
|
|
137
|
+
text-decoration: none;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
/*---------------------------------------------------------------
|
|
141
|
+
ContextMenu
|
|
142
|
+
---------------------------------------------------------------*/
|
|
143
|
+
#control_edgarj_operator_select {
|
|
144
|
+
border: 1px solid #666;
|
|
145
|
+
background-color: #eee;
|
|
146
|
+
/*
|
|
147
|
+
min-width:150px;
|
|
148
|
+
*/
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
#control_edgarj_operator_select ul {
|
|
152
|
+
list-style: none;
|
|
153
|
+
padding: 0;
|
|
154
|
+
margin: 0;
|
|
155
|
+
cursor: pointer;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
#control_edgarj_operator_select ul li {
|
|
159
|
+
text-align: left;
|
|
160
|
+
padding: 3px 10px 3px 5px;
|
|
161
|
+
margin: 0;
|
|
162
|
+
cursor: pointer;
|
|
163
|
+
text-decoration: none;
|
|
164
|
+
color: #333;
|
|
165
|
+
border-top: 1px solid #fff;
|
|
166
|
+
border-left: 1px solid #fff;
|
|
167
|
+
border-bottom: 1px solid #999;
|
|
168
|
+
border-right: 1px solid #999;
|
|
169
|
+
/*
|
|
170
|
+
font-size:12px;
|
|
171
|
+
font-weight:bold;
|
|
172
|
+
font-family:"Lucida Grande",Verdana;
|
|
173
|
+
*/
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
#control_edgarj_operator_select ul li.selected,
|
|
177
|
+
#control_edgarj_operator_select ul li:hover {
|
|
178
|
+
color: #fff;
|
|
179
|
+
background-color: #3875d7;
|
|
180
|
+
cursor: pointer;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
#control_edgarj_operator_select ul li.selected:hover {
|
|
184
|
+
color: #333;
|
|
185
|
+
background-color: #eee;
|
|
186
|
+
cursor: pointer;
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
#control_edgarj_operator_select ul li.disabled,
|
|
190
|
+
#control_edgarj_operator_select ul li:hover.disabled {
|
|
191
|
+
background-color: #eee;
|
|
192
|
+
color: #999;
|
|
193
|
+
cursor: pointer;
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
div.search_operator {
|
|
197
|
+
padding: 3px;
|
|
198
|
+
margin: 3px;
|
|
199
|
+
border-top: 1px solid #cfc; /* background-color should be same as
|
|
200
|
+
div#edgarj_search_form's */
|
|
201
|
+
border-left: 1px solid #cfc;
|
|
202
|
+
border-right: 1px solid #cfc;
|
|
203
|
+
border-bottom: 1px solid #cfc;
|
|
204
|
+
cursor: pointer;
|
|
205
|
+
}
|
|
206
|
+
div.search_operator:hover {
|
|
207
|
+
padding: 3px;
|
|
208
|
+
margin: 3px;
|
|
209
|
+
border-top: 1px solid #ddd;
|
|
210
|
+
border-left: 1px solid #ddd;
|
|
211
|
+
border-right: 1px solid #888;
|
|
212
|
+
border-bottom: 1px solid #888;
|
|
213
|
+
cursor: pointer;
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
|
|
217
|
+
/*---------------------------------------------------------------
|
|
218
|
+
For Top page
|
|
219
|
+
---------------------------------------------------------------*/
|
|
220
|
+
table.top_list {
|
|
221
|
+
border-collapse: separate;
|
|
222
|
+
border-spacing: 0px;
|
|
223
|
+
empty-cells: show;
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
table.top_list th, table.top_list td {
|
|
227
|
+
margin: 1px;
|
|
228
|
+
border: 0px;
|
|
229
|
+
padding: 1px 5px 1px 5px;
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
table.top_list th {
|
|
233
|
+
border-top: 1px solid #fca;
|
|
234
|
+
border-left: 1px solid #fca;
|
|
235
|
+
border-right: 1px solid #842;
|
|
236
|
+
border-bottom: 1px solid #842;
|
|
237
|
+
background-color: #c94;
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
|
|
241
|
+
/*---------------------------------------------------------------
|
|
242
|
+
Topic path
|
|
243
|
+
---------------------------------------------------------------*/
|
|
244
|
+
#page_title {
|
|
245
|
+
width: 8em;
|
|
246
|
+
}
|
|
247
|
+
#topic_path {
|
|
248
|
+
padding-left: 30px;
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
/*---------------------------------------------------------------
|
|
252
|
+
flash message
|
|
253
|
+
---------------------------------------------------------------*/
|
|
254
|
+
div#edgarj_message_error {
|
|
255
|
+
color: #a00;
|
|
256
|
+
}
|
|
257
|
+
div#edgarj_message_notice {
|
|
258
|
+
color: #0e0;
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
/*---------------------------------------------------------------
|
|
262
|
+
error message
|
|
263
|
+
---------------------------------------------------------------*/
|
|
264
|
+
.field_with_errors {
|
|
265
|
+
padding: 2px;
|
|
266
|
+
background-color: red;
|
|
267
|
+
display: table;
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
div.error_explanation {
|
|
271
|
+
border: 2px solid red;
|
|
272
|
+
padding: 7px;
|
|
273
|
+
padding-bottom: 0;
|
|
274
|
+
background-color: #f0f0f0;}
|
|
275
|
+
|
|
276
|
+
div.error_explanation h2 {
|
|
277
|
+
text-align: left;
|
|
278
|
+
font-weight: bold;
|
|
279
|
+
padding: 5px 5px 5px 15px;
|
|
280
|
+
font-size: 12px;
|
|
281
|
+
margin: -7px;
|
|
282
|
+
margin-bottom: 0px;
|
|
283
|
+
background-color: #c00;
|
|
284
|
+
color: #fff;}
|
|
285
|
+
|
|
286
|
+
div.error_explanation ul {
|
|
287
|
+
padding-left: 10px;}
|
|
288
|
+
|
|
289
|
+
div.error_explanation ul li {
|
|
290
|
+
font-size: 12px;
|
|
291
|
+
list-style: square;}
|
|
292
|
+
|
|
293
|
+
|
|
294
|
+
/*---------------------------------------------------------------
|
|
295
|
+
fix jquery issue
|
|
296
|
+
|
|
297
|
+
http://forum.jquery.com/topic/jquery-ui-ui-resizable-handle-missing-for-dialog-widget
|
|
298
|
+
---------------------------------------------------------------*/
|
|
299
|
+
.ui-resizable-handle {
|
|
300
|
+
position: absolute;
|
|
301
|
+
font-size: 0.1px;
|
|
302
|
+
z-index: 99999;
|
|
303
|
+
display: block;
|
|
304
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
#edgarj_menu
|
|
2
|
+
{ margin: 0;
|
|
3
|
+
background: #842;
|
|
4
|
+
padding: 0}
|
|
5
|
+
|
|
6
|
+
#edgarj_menu li
|
|
7
|
+
{ float: left;
|
|
8
|
+
list-style: none;
|
|
9
|
+
font: 12px Tahoma, Arial}
|
|
10
|
+
|
|
11
|
+
#edgarj_menu li a
|
|
12
|
+
{ display: block;
|
|
13
|
+
background: #842;
|
|
14
|
+
padding: 3px 10px;
|
|
15
|
+
text-decoration: none;
|
|
16
|
+
text-align: center;
|
|
17
|
+
border-top: 1px solid #842;
|
|
18
|
+
border-left: 1px solid #842;
|
|
19
|
+
border-right: 1px solid #842;
|
|
20
|
+
border-bottom: 1px solid #842;
|
|
21
|
+
width: 70px;
|
|
22
|
+
color: #EAFFED;
|
|
23
|
+
white-space: nowrap}
|
|
24
|
+
|
|
25
|
+
#edgarj_menu li a:hover
|
|
26
|
+
{ background: #942;
|
|
27
|
+
border-top: 1px solid #fdb;
|
|
28
|
+
border-left: 1px solid #fdb;
|
|
29
|
+
border-right: 1px solid #321;
|
|
30
|
+
border-bottom: 1px solid #321;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
#edgarj_menu li ul
|
|
34
|
+
{ margin: 0;
|
|
35
|
+
padding: 0;
|
|
36
|
+
background: #ccc;
|
|
37
|
+
position: absolute;
|
|
38
|
+
visibility: hidden;
|
|
39
|
+
border-top: 1px solid #ccc;
|
|
40
|
+
border-left: 1px solid #eee;
|
|
41
|
+
border-right: 1px solid #888;
|
|
42
|
+
border-bottom: 1px solid #888;}
|
|
43
|
+
|
|
44
|
+
#edgarj_menu li ul li
|
|
45
|
+
{ float: none;
|
|
46
|
+
background: #ccc;
|
|
47
|
+
display: inline}
|
|
48
|
+
|
|
49
|
+
#edgarj_menu li ul li a
|
|
50
|
+
{ width: auto;
|
|
51
|
+
background: #ccc;
|
|
52
|
+
text-align: left;
|
|
53
|
+
border-top: 1px solid #ccc;
|
|
54
|
+
border-left: 1px solid #ccc;
|
|
55
|
+
border-right: 1px solid #ccc;
|
|
56
|
+
border-bottom: 1px solid #ccc;
|
|
57
|
+
color: #000}
|
|
58
|
+
|
|
59
|
+
#edgarj_menu li ul li a:hover
|
|
60
|
+
{ background: #eee;
|
|
61
|
+
border-top: 1px solid #fff;
|
|
62
|
+
border-left: 1px solid #fff;
|
|
63
|
+
border-right: 1px solid #aaa;
|
|
64
|
+
border-bottom: 1px solid #aaa;
|
|
65
|
+
}
|