Compare commits

..

242 Commits

Author SHA1 Message Date
Deon George
caf89ff4e5 Basic layout and login functioning 2013-03-20 11:04:09 +11:00
Deon George
e084621082 Initial application work 2013-03-20 11:04:09 +11:00
Deon George
181cc4ca20 Customisations to KH 2013-03-20 11:04:09 +11:00
Deon George
a8f534b463 Added KH 3.3.0 - extra modules 2013-03-19 15:57:30 +11:00
Deon George
b140dbb1b6 Added Dojo 1.7.2 2013-03-19 15:55:33 +11:00
Deon George
2e134ea609 Added KH 3.3.0 2013-03-19 15:55:33 +11:00
Deon George
715f7efe9b Version Change 2013-03-19 15:55:32 +11:00
Nic Bernstein
5ba2cf67e9 SF Bug #1008 getContainerPath doesn't properly traverse to baseDN and back & #1009 - return_ldap_hash should not return container object in result set 2013-03-19 15:55:32 +11:00
Deon George
cfbee19721 Release 1.2.3 2012-10-01 16:54:14 +10:00
Deon George
092db24f99 Update template to show multiselect values 2012-10-01 16:47:53 +10:00
Deon George
927e515df3 Language update from launchpad for 1.2.3 (also see #30) 2012-09-06 13:00:06 +10:00
Deon George
bbedf18b7e SF Bug #3531956 - Search / Show Attributes must be lowercase 2012-09-05 22:44:46 +10:00
Deon George
f1ed59a35e SF Bug #3518548 - Missing attributes on some custom forms 2012-09-05 22:18:31 +10:00
Deon George
55fa21af26 SF Bug #3513210 - Export to VCARD only exports the last entry in the list 2012-09-05 21:57:17 +10:00
Deon George
f28d535948 SF Bug #3510648 - Cannot copy between servers 2012-09-05 21:54:42 +10:00
Deon George
2f70eb41b3 SF Bug #3510114 - Unable to check passwords when samba hashes are in lowercase 2012-09-05 21:25:50 +10:00
Deon George
6b9834a054 SF Bug #3452416 - templates <order> non-functional 2012-09-05 20:23:17 +10:00
Deon George
caf24e3662 SF Bug #3427748 - value id is ignored in select attribute 2012-09-05 20:02:14 +10:00
Roland Gruber
c4b6695beb SF Bug #3448530 - Treat krbExtraData and krbPrincipalKey as binary 2012-09-04 15:09:24 +10:00
Deon George
74434e5ca3 SF Bug #3497660 - XSS flaws via 'export', 'add_value_form' and 'dn' variables 2012-09-03 07:16:34 +10:00
Deon George
88d41216f9 SF Bug #3426575 - clicking 'logout' does not unset _SESSION['ACTIVITY'] 2012-09-03 06:19:19 +10:00
Paweł Tomulik
09c5e3a8da SF Feature #3555472 - User-friendly items in entry chooser window. 2012-09-01 11:43:14 +10:00
Jean-Philippe Ghibaudo
21959715c3 SF Feature #3509651 - Add support for SHA512 with OpenLDAP 2012-09-01 11:31:38 +10:00
Roland Gruber
3690ad16f0 SF Patch #3469148 - Display mass edit actions as buttons 2012-08-29 22:01:43 +10:00
Deon George
7dc8d57d69 SF Bug #3477910 - XSS vulnerability in query 2012-01-24 12:38:47 +11:00
Deon George
dece0f496f Release 1.2.2 2011-10-27 13:07:09 +11:00
Deon George
d58f011fbb Language Translation merge from launchpad 2011-10-27 13:06:53 +11:00
Deon George
696c266eee Additional fix for SF Feature #3387473 2011-10-27 12:55:24 +11:00
Caleb Callaway
2d018aad7b SF Feature #3387473 - Support for schema discovery using OpenLDAP's cn=config DN 2011-10-13 08:18:10 +11:00
Deon George
cddf783c27 Add an alert when RFC3866 tags are being used 2011-10-06 16:16:27 +11:00
Deon George
1e1fcabb3d SF Bug #3398344 - Import LDIF overwrites entries 2011-10-06 14:29:35 +11:00
Roland Gruber
d8ab7fc2f0 SF Patch #3391547 - Option for minmal mode 2011-10-06 12:31:12 +11:00
Roland Gruber
56830f1fa4 SF Patch #3391389 - Option to initially open the tree 2011-10-06 12:22:55 +11:00
Roland Gruber
6c8b623788 SF Patch #3391371 - Fix for schema link deactivation 2011-10-06 11:57:06 +11:00
Roland Gruber
7fc4f0c7e4 SF Patch #3391039 - Remove eval commands from PHP code 2011-10-06 11:43:40 +11:00
Deon George
059b83befb SF Bug #3391046 - Loading entries with many attributes is very slow 2011-10-06 11:06:43 +11:00
Deon George
4089ffa9fe SF Bug #3392644 - Cannot authenticate if password starts or ends with spaces 2011-10-06 10:40:41 +11:00
Deon George
c57a927311 Disable supplied modifiction templates, it confused too many people 2011-10-06 09:35:58 +11:00
Deon George
d5744b055a SF Bug #3370546 - AjaxEnabled create and delete entry fails on IE9 2011-10-06 09:12:54 +11:00
Deon George
76e6dad13e SF Bug #3417184 - PHP Code Injection Vulnerability 2011-10-06 09:03:20 +11:00
Deon George
5d4245f93a SF Bug #3395004 - config.php.example refers to lang/en.php 2011-09-08 22:51:02 +10:00
Deon George
80d027d569 SF Bug #3373466 - Unable to define force_may attributes 2011-09-08 22:30:35 +10:00
Deon George
64668e882b Remove XSS vulnerabilty in debug code 2011-07-27 07:30:06 +10:00
Felix Chelu
caeba72171 SF Bug #3355722 - Issue in MultiList attribute type 2011-07-07 23:45:21 +10:00
Deon George
07827304b7 SF Bug #3355732 - Cosmetic issue in functions.php -> get_icon() 2011-07-07 23:12:23 +10:00
Deon George
446faf78fb FIX SASL configuration example 2011-06-21 13:45:19 +10:00
Deon George
afa4a95b37 Fix SASL implementation - enabled GSSAPI 2011-06-20 20:34:55 +10:00
Deon George
5987194dec SF Bug #3304785 - posixGroup creation template uses cn instead of uid 2011-05-20 23:58:48 +10:00
Deon George
ddb5ed0346 Enabled hiding base DNs that users dont have access to 2011-05-20 23:53:39 +10:00
Deon George
7649b9b826 SF Feature #3298820 - Only custom templates 2011-05-14 10:42:12 +10:00
Deon George
43ae011c0e Release 1.2.1.1 2011-05-11 19:40:18 +10:00
Deon George
92acf6f158 Fix an E_WARNING when using Mass Delete 2011-05-04 10:23:01 +10:00
Deon George
6c93c1fc72 Fix deletion special char DNs, and refresh tree on delete 2011-05-04 00:02:33 +10:00
Deon George
66e24fb86c SF Feature #2997986 - DTD stuff 2011-05-03 23:14:16 +10:00
Deon George
a2828b2cf0 SF Feature #3294932 - Hiding not used templates 2011-05-03 20:49:16 +10:00
Deon George
3919825000 SF Bug #3294924 - Template Selects dosen't work properly 2011-05-01 11:39:54 +10:00
Deon George
6eb6641454 SF Bug #3294980 - Template rdn (in lowercase) 2011-04-30 10:41:15 +10:00
Deon George
41c2821395 Release 1.2.1 2011-04-29 21:20:47 +10:00
Deon George
caebef364a Translation import from launchpad 2011-04-29 18:15:05 +10:00
Deon George
1121dd01df SF Feature #2879726 - sort the server select list 2011-04-29 14:08:07 +10:00
Dmitry Bakshaev
775e6f40d4 SF Feature #2900545 - blowfish using mcrypt 2011-04-29 13:31:17 +10:00
Deon George
e083f5f8b5 SF Feature #2931999 - Upload file and view for "picture" fields 2011-04-29 13:25:57 +10:00
Deon George
c97d4afe17 SF Feature #3108047 - Add support for smbk5pwd overlay K5KEY "encryption" type 2011-04-29 13:04:44 +10:00
Deon George
62d645123c Addition for commit a35298 2011-04-29 13:04:10 +10:00
Marcel van Dorp
880a86f666 SF Feature #3122736 - HTTP authentication realm 2011-04-29 12:46:49 +10:00
Deon George
a35298e7f3 SF Bug #3036033 - Error if CN begins with a % sign 2011-04-29 12:08:38 +10:00
Deon George
2ea1fc6314 SF Bug #3003777 - Multivalue attributes with hundred of values hangs on modify 2011-04-29 00:19:53 +10:00
Deon George
c23db377c2 Updates to sample configuration for the confirm operations 2011-04-28 23:20:45 +10:00
Deon George
1f9308dc4d Fixes for jpegPhoto attributes during copy operations 2011-04-28 23:20:06 +10:00
Deon George
db241f1c98 Fix for when JS not loaded in time for TemplateRender 2011-04-28 17:38:14 +10:00
Deon George
b6500224d3 Minor cosmetic updates 2011-04-28 11:53:40 +10:00
Deon George
75640ccc3e SF Bug #2987374 - autofill problem on samba passwords 2011-04-28 00:22:00 +10:00
Deon George
bf8ac5306e SF Bug #3139097 - Argument for PickList sorting does not work 2011-04-27 23:27:31 +10:00
Deon George
d5c8d42adc SF Bug #3004012 - password sync for sambaSamAccount template broken. 2011-04-27 23:09:43 +10:00
Deon George
9e9960bc3d SF Bug #3003779 - Unable to check password for NT and LN samba hashed 2011-04-27 21:53:47 +10:00
Deon George
4cf6b17ba3 SF Bug #3141226 - Password change/encrypted upon modification 2011-04-27 17:28:45 +10:00
Deon George
04e41f7272 SF Bug #3292533 - Non standard schema 2011-04-27 16:57:55 +10:00
Deon George
6e5ec75b55 SF Bug #3077852 - Default template being used after modificaiton of entry 2011-04-27 00:02:05 +10:00
Deon George
97eff7383c SF Bug #3276528 - Problem with + and , signs in dn 2011-04-26 23:21:19 +10:00
Deon George
fc5885b0d9 SF Bug #3288434 - Security bug 2011-04-26 22:35:43 +10:00
Deon George
c28a609799 Updated demo configuration 2011-04-26 21:41:44 +10:00
Deon George
ea4ae7f831 SF Bug #3161571 - Error 0x02 A protocol error was detected 2011-04-26 12:06:33 +10:00
Deon George
be623ce3f5 SF Bug #3136564 - Undefined variable: result (E_NOTICE) 2011-04-26 11:40:35 +10:00
Deon George
aa8a353c38 SF Bug #2997552 - Unable to verify password using SMD5 scheme 2011-04-26 11:27:32 +10:00
Deon George
ed7f899361 Fix JS error created by f713af 2011-04-26 10:15:41 +10:00
Deon George
2cf20fcf44 SF Bug #2981355 - rawurldecode killing complex passwords 2011-04-26 10:10:43 +10:00
Deon George
cc860371d6 SF Bug #2958882 - Single quote in french translation causes error 2011-04-26 00:35:40 +10:00
Deon George
7aba733961 Enabled cookie as a valid auth_type 2011-04-26 00:11:23 +10:00
Deon George
c5f045756e SF Bug #2980701 - Creation templates get used for modification post creation 2011-04-26 00:10:58 +10:00
Dan Duvall
b3874bf958 Implemented better SASL/GSSAPI authentication.
Implemented a 'sasl' auth_type for better control over authentication
flow specific to SASL.

Implemented 'sasl_dn_regex' and 'sasl_dn_replacement' config variables
for mapping from a SASL authentication ID to a bind DN, a necessary step
when using GSSAPI/Kerberos where there is no explicit bind DN provided.

Fixed setting of Kerberos credentials cache location in environment
variable. The location is derived from either an already set
environement variable or the SERVER variable set by the Apache
mod_auth_kerb module.
See http://modauthkerb.sourceforge.net/configure.html
2010-11-16 22:14:24 +11:00
Deon George
7980d1c131 SF Patch #2974901 - enable modify member form to use netgroups 2010-11-16 22:05:18 +11:00
Patrick MONNERAT
43f31912b6 SF Patch #2990856 - Add parent class attribute 2010-11-16 20:55:11 +11:00
Patrick MONNERAT
ab0717e0e3 SF Patch #3054517 - Suppress PHP 5.3 E_DEPRECATED exceptions 2010-11-16 20:47:07 +11:00
Deon George
f9c56bc4ff SF Bug #2997703 - SourceForge logo should load from HTTPS when using HTTPS 2010-11-16 20:27:37 +11:00
Deon George
6fdab2c308 SF Bug #2958613 - password_checker.php md5crypt explode() function bug 2010-11-16 20:21:38 +11:00
Deon George
c3a286cfee SF Bug #3033924 - typo in fnctions.php breaking smd5 2010-11-16 20:06:39 +11:00
Deon George
e77d39deb5 Suppress create base when base DN is not level 1 2010-11-16 19:43:54 +11:00
Deon George
34e5bbb545 Fix sambaGroupMapping template 2010-05-17 22:08:52 +10:00
Deon George
7d17676fd7 Enabled create_base 2010-03-18 13:25:53 +11:00
Deon George
1c467a6115 New feature: Copy a DN and edit values before creation 2010-03-18 13:24:04 +11:00
Deon George
2e8e9625d6 AJAX work on create/update 2010-03-15 09:37:37 +11:00
Deon George
f713afc8d1 HTML Validation work 2010-03-15 09:37:35 +11:00
Deon George
1b55c84f06 Added launchpad import 2010-03-15 09:37:05 +11:00
Deon George
206c142b99 Language files import from launchpad 2010-03-15 09:14:44 +11:00
Deon George
e4f5c22e18 SF Bug #2959415 - Misspelling 'Retieving' 2010-03-15 08:30:18 +11:00
Deon George
0f782569e9 SF Bug #2969826 - XSS found in cmd.php 2010-03-14 23:57:16 +11:00
Deon George
7b4d11f1f5 Addition to Fix template engine rending attributes with multiselect configured 2010-03-14 23:57:15 +11:00
Deon George
a1c714bdb8 Fix template engine rending attributes with multiselect configured 2010-02-23 12:11:15 +11:00
Deon George
ac1d121b0d SF Bug #2922727 - PLA ignores login attr 2010-02-20 09:10:14 +11:00
Deon George
9dbf53acf3 Fix template engine to accept server,custom_attrs 2010-02-13 09:45:45 +11:00
Deon George
5080e204cf Release 1.2.0.5 2010-01-30 16:21:20 +11:00
Deon George
b46941f7fd Merge translations from launchpad for PLA 1.2.0.5 2010-01-30 16:19:36 +11:00
Deon George
03d1166103 Fix the multiple unnecessary 'attribute is required' popups 2010-01-30 15:59:03 +11:00
Deon George
676a675c7c SF Bug #2901854 - E_WARNING: implode(): Invalid arguments passed 2010-01-30 15:10:00 +11:00
Deon George
4598d3ae39 SF Patch #2919169 - SASL bind 2010-01-30 14:57:10 +11:00
Cristian Rigamonti
2416230c61 SF Patch #2901666 - Add localisation for hint elements in templates 2010-01-30 14:41:57 +11:00
Deon George
d90fe5a6fa Enabled configuring template to ask for more than 1 attribute value 2010-01-30 12:24:46 +11:00
Deon George
ec8902a223 Added default noleaf setting to supplied templates 2010-01-30 11:02:54 +11:00
Deon George
2090e7c34a Added default sort of PickList attributes to supplied templates 2010-01-30 10:58:06 +11:00
Deon George
2393c5d5e3 Trim _REQUEST vars mainly to avoid null terminated strings 2009-12-23 09:03:13 +11:00
Deon George
efd1860a91 SF Bug #2554402 - template autofill command not work on appearance,date_attrs 2009-11-21 12:11:45 +11:00
Deon George
23a2da1f26 SF Bug #2898426 - Can't update own password 2009-11-21 11:17:53 +11:00
Deon George
d4483f961f SF Bug #2885907 - samba domain sid blank 2009-11-21 11:04:37 +11:00
Deon George
b1139658bf Change the multilist key to cn 2009-11-21 10:39:09 +11:00
Deon George
f8cacb7dd0 Change default size_limit to 0, enabled setting of time_limit (default 0) 2009-11-21 10:36:23 +11:00
Deon George
ee35f81ce5 Release 1.2.0.4 2009-09-20 11:49:27 +10:00
Deon George
088ebf4a2b Changed to use ldap_modify 2009-09-20 11:44:28 +10:00
Deon George
a6dc80616b Fix rendering of js_calendar on add_attr, when no previous DateAttributes existed 2009-09-20 11:44:26 +10:00
Deon George
9196bb9e41 SF Feature #2846546 - Add URL to config/config.php.example 2009-09-20 11:44:26 +10:00
Deon George
7121f560e9 SF Bug #2859242 - Call to undefined function syslog_notice() 2009-09-20 11:44:25 +10:00
Deon George
e7466c948b SF Bug #2859221 - Problem between diffrent browsers and utf-8 2009-09-20 11:44:24 +10:00
Deon George
f0a6d312ab Enable control of creating children in templates 2009-09-20 11:44:23 +10:00
Deon George
d062308f32 Added javascript for search form 2009-09-09 08:08:10 +10:00
Deon George
352a87fee8 Auto run query for unique attributes when link is clicked 2009-09-08 15:41:32 +10:00
Deon George
242d06673a SF Bug #2853633 - activating hooks gives error undefined constant DEBUG_ENABLE 2009-09-08 15:38:49 +10:00
Deon George
a3ac658756 Release 1.2.0.3 2009-09-07 00:39:38 +10:00
Deon George
e83aba595c Merge translations from launchpad for PLA 1.2.0.3 2009-09-07 00:39:06 +10:00
Deon George
3ffe6878f3 Minor updates 2009-09-07 00:13:58 +10:00
Deon George
02e9f8477a Suppress more template warnings 2009-08-30 12:11:18 +10:00
Ethan Moore
259179a1b3 Enable SASL (GSSAPI) 2009-08-29 12:19:10 +10:00
Deon George
96bad27d64 Fix: clear passwords were being encoded with blowfish by default 2009-08-29 00:11:24 +10:00
Deon George
c69cd68fcb SF Bug #2828378 - fallback_dn config option no longer works in 1.2.0 2009-08-29 00:11:23 +10:00
Deon George
9cb27e3a70 Miscellaneous minor updates 2009-08-29 00:11:23 +10:00
Deon George
52fbd24b2c Merge PickList and MultiList functions (also fixes SF Bug #2844714) 2009-08-28 20:06:13 +10:00
Deon George
f83a922589 SF Bug #2845986 - Missing config/config.php file not detected in 1.2.0.2 2009-08-28 17:18:08 +10:00
Deon George
3e446fddf4 SF Bug #2845904 - session.autostart breaks 2009-08-28 17:01:15 +10:00
Deon George
bdb423d0d3 SF Bug #2844186 - fail to add and edit entries (delete work fine) 2009-08-28 16:31:19 +10:00
Deon George
2c99cc9016 Fix export only exports 500 entries 2009-08-28 15:03:24 +10:00
Deon George
b93b92f430 Rework javascript 2009-08-22 21:30:50 +10:00
Deon George
26fa2ba2c5 Only sort children after reading additional entries 2009-08-22 13:30:30 +10:00
Deon George
76ddeccf8c Release 1.2.0.2 2009-08-21 23:42:44 +10:00
Deon George
1336fc21b6 Merge translations from launchpad for PLA 1.2.0.2 2009-08-21 23:40:21 +10:00
Deon George
356f319291 Fix up calls with ldap_read 2009-08-21 18:32:52 +10:00
Deon George
6e6a7a6e4e Multiple fixes, changes and enhancements
* mass edit selection,
* child search during edit,
* attr login with bind_id,
* performance fix broke ldapservers that dont have havesubordinate attrs),
* enable "login,class",
* enable "login,base".
2009-08-21 15:02:12 +10:00
Deon George
95aedef718 Remove CVS tags 2009-08-20 12:25:48 +10:00
Deon George
b0f9fa8806 Fix URL to favicon 2009-08-20 09:25:34 +10:00
Deon George
ec482c70fe Fix list address 2009-08-19 22:30:19 +10:00
Deon George
9fda881a8e Add size_limit to default search 2009-08-19 22:26:33 +10:00
Deon George
46c100660b Fix query default sorting and query form when no templates 2009-08-19 22:18:00 +10:00
Deon George
4c56f3e678 Fix AJAX rendering of query results 2009-08-19 21:20:51 +10:00
Deon George
ebe2cb6eda Performance improvements for the tree. 2009-08-19 21:19:35 +10:00
Deon George
5669c92371 Improvements to debug_log 2009-08-19 13:39:37 +10:00
Harri
0eaf3bb67b SF Bug #2839213 - Few localization -related bugs 2009-08-18 19:16:36 +10:00
Deon George
9f1a207eba Ammendment for SF Feature #2837687 - Invalid method for Queries 2009-08-18 19:13:50 +10:00
Deon George
5706ad1b4a Ammendment for SF Feature #2837687, dont render the only template if it is invalid 2009-08-17 16:30:05 +10:00
Deon George
ba553353b0 SF Feature #2837687 - Automatic template selection from one of one valid templates 2009-08-17 16:13:55 +10:00
Aurélien Requiem
803a4c821a SF Feature #2827191 - warnings for missing objectClass could be disabled 2009-08-17 15:09:32 +10:00
Deon George
a5b9e43a57 Fix for when renaming entries only changes case (https://bugs.launchpad.net/bugs/384157) 2009-08-17 10:52:46 +10:00
Deon George
df404d435a login,attr only applies to user sessions 2009-08-17 10:46:22 +10:00
Deon George
cf4f339b5c Fix missing encoding SambaPasswordAttributes 2009-08-14 11:47:45 +10:00
Deon George
48faaba955 Merge translations from launchpad for PLA 1.2.0.1 2009-08-13 22:04:16 +10:00
Deon George
898eabaa11 Release 1.2.0.1 2009-08-13 21:40:59 +10:00
Deon George
9eca46d0cc Fixed display of Windows AD binary attributes 2009-08-13 21:39:43 +10:00
Deon George
8a21bbee12 Fix render of ReadOnly binary attributes 2009-08-13 21:22:41 +10:00
Aurélien Requiem
59c4e7896f SF Bug #2827012 - the modification tpl for inetOrgPerson is partially invalid 2009-08-13 09:00:04 +10:00
Deon George
cc3b67b71a More login processing fixes 2009-08-12 23:54:01 +10:00
Deon George
a0816d068c Sync menu/tree processing with other projects, variable/function naming 2009-08-12 23:53:14 +10:00
Deon George
fb48055d2d Fix for when method supplies null for login details 2009-07-27 19:17:40 +10:00
Deon George
86c8f13065 Fixed missing uid.png 2009-07-27 19:16:12 +10:00
Deon George
7dd52f8219 More issues for anon login to LDAP server to get user details 2009-07-27 17:19:53 +10:00
Deon George
29cb490571 Fixes for issues introduced by commit bbe87c6e2 2009-07-27 17:18:25 +10:00
Deon George
5938302012 Fix the simple ACL configuration 2009-07-26 01:21:23 +10:00
Deon George
196aa00218 Fix for when a root_dse query doesnt return any results 2009-07-26 01:21:23 +10:00
Deon George
dc3e477778 Improve getLogin() for multiple method logins and fix anonymous logout 2009-07-26 01:21:23 +10:00
Deon George
869b9be7e9 Fix IMGDIR/CSSDIR when no config.php yet and creating setting to disable remoteurls for sflogo 2009-07-26 01:21:23 +10:00
Deon George
a1cfa2f60c SF Bug #2826569 - missing information in config.php.example 2009-07-25 20:17:36 +10:00
Deon George
3ada58fb7d Fix version number detection 2009-07-22 00:01:20 +10:00
Deon George
22bcaf0136 Release 1.2.0 2009-07-21 23:22:43 +10:00
Deon George
008b463e8e Language import from launchpad 2009-07-21 23:22:00 +10:00
Deon George
0de55e552b New language from launchpad 2009-07-21 23:21:43 +10:00
Deon George
2725bb16da Updated to process launchpad exports 2009-07-21 23:21:25 +10:00
Deon George
bbe87c6e2f SF Bug #2820854 - ldap_first_attribute error 2009-07-14 19:07:43 +10:00
Deon George
45ca83411f Fix: Setting to null after getting the error messages 2009-07-12 23:49:39 +10:00
Deon George
3c9f63ae6b Initial language merge 2009-07-12 23:28:46 +10:00
Deon George
0171853f1d Fix tree was remembered empty with anonymous 2009-07-12 22:03:05 +10:00
Deon George
6627c7bea4 Fix spelling 2009-07-12 22:02:30 +10:00
Deon George
223086b58e Fix for when invalid objectclass entered 2009-07-12 22:02:19 +10:00
Deon George
5481f61ce3 Use calls to getRootDSE() 2009-07-12 12:28:39 +10:00
Deon George
57d405fe3b SF Feature #2073323 - Using Single Sign On authentication 2009-07-12 12:01:59 +10:00
Deon George
ed4784b1b6 Fix isLoggedIn() caching for multiple servers 2009-07-11 17:20:21 +10:00
Deon George
d364af141f Minor display change 2009-07-11 14:19:04 +10:00
Deon George
e2c74f9467 Comment fixes 2009-07-11 14:15:17 +10:00
Deon George
0d71a96e34 Display error if there is only 1 autoFill param 2009-07-11 10:19:30 +10:00
Deon George
4eed1d8982 Enabled HTTP auth 2009-07-11 10:18:48 +10:00
Deon George
899f83aa17 Release candidate 1.2.0-rc1 2009-07-08 21:29:57 +10:00
Deon George
775c7751ae Re-evaluate how we determine the version number now we are using GIT 2009-07-08 21:29:38 +10:00
Deon George
664c05decd Removed stylesheet from index 2009-07-08 20:17:35 +10:00
Deon George
ea0fdab6ba SF Feature #1954220 - New icon theme Tango 2009-07-08 20:11:58 +10:00
Deon George
1aa88e4dc3 Standardised some naming of the icons to allow for other themes 2009-07-08 20:10:57 +10:00
Deon George
7273ad292b New Feature: PLA icons and CSS can now be themeble 2009-07-08 16:14:50 +10:00
Deon George
b4653e84a2 SF Feature #1719978 - GetNextNumber with uid interval support 2009-07-07 21:54:18 +10:00
Deon George
4cab46a55e New Feature: Mass Edit 2009-07-07 20:16:28 +10:00
Deon George
e7ce1030c0 Enchanced getLDAPmodify() to allow multiple update calls 2009-07-07 20:16:28 +10:00
Deon George
6270967ec0 Improve processing in drawSubTitle() 2009-07-07 20:16:28 +10:00
Deon George
d501393d49 Enabled Feature: Mass Delete 2009-07-07 20:16:28 +10:00
Deon George
08199e67e0 Fixed failed copy message 2009-07-07 20:16:28 +10:00
Deon George
03bc1ce70e Fix query to find children, add size_limit to query to ensure we get all children 2009-07-07 20:16:28 +10:00
Deon George
fcaa4d8db6 Fix server_id used in URL 2009-07-07 20:16:28 +10:00
Deon George
ee9533c770 Merge branch 'master' of ssh://wurley@phpldapadmin.git.sf.net/gitroot/phpldapadmin 2009-07-06 18:01:26 +10:00
Deon George
07b40c1c34 Ackownledge source for our icons 2009-07-06 17:50:06 +10:00
Deon George
84bf604cba Enabled inetOrgPerson in modification 2009-07-06 17:50:06 +10:00
Deon George
4f6d661c12 Added posixGroup modification template 2009-07-06 17:50:06 +10:00
Deon George
97fcaed8f7 Added .gitignore 2009-07-06 17:50:06 +10:00
Deon George
d601121dba Fix added detection of password already encode when submitting updates 2009-07-06 17:50:06 +10:00
Deon George
aa2719f8fe Template modifications now add/remove attributes as per the template definition 2009-07-06 17:50:06 +10:00
Deon George
54df56bb1a Fixed invalid return variable 2009-07-06 17:50:06 +10:00
Deon George
db2e8861fa Enabled a param so that some calls to getValue() are not fatal 2009-07-06 17:50:05 +10:00
Deon George
c230058d3f Added .gitignore 2009-07-06 10:57:58 +10:00
Deon George
a0ae7bf111 Fix added detection of password already encode when submitting updates 2009-07-05 23:40:09 +10:00
Deon George
7591eefb70 Template modifications now add/remove attributes as per the template definition 2009-07-05 22:13:17 +10:00
Deon George
20bdaa4663 Fixed invalid return variable 2009-07-05 13:55:53 +10:00
Deon George
640abcbf3b Enabled a param so that some calls to getValue() are not fatal 2009-07-05 13:55:27 +10:00
Deon George
8e8db2e4ed Improved layout 2009-07-02 18:35:59 +10:00
Deon George
ea17aadef4 Latest SANDPIT - MERGE from CVS (MERGE-GIT) 2009-07-01 16:09:17 +10:00
Deon George
388783fc84 RELEASE 1.1.0.7 2009-06-30 22:05:31 +10:00
Deon George
647f86562f RELEASE 1.1.0.6 2009-06-30 21:52:55 +10:00
Deon George
d5f4f91f1b RELEASE 1.1.0.5 2009-06-30 21:51:50 +10:00
Deon George
d5b4aa54ea RELEASE 1.1.0.4 2009-06-30 21:50:46 +10:00
Deon George
23a33eef99 RELEASE 1.1.0.3 2009-06-30 21:48:22 +10:00
Deon George
5c88e0a098 RELEASE 1.1.0.2 2009-06-30 21:46:44 +10:00
Deon George
f990f72eb5 RELEASE 1.1.0.1 2009-06-30 20:46:41 +10:00
Deon George
dd581eb5c8 RELEASE 1.1.0 2009-06-30 20:46:00 +10:00
6156 changed files with 515390 additions and 49332 deletions

3
.gitignore vendored Normal file
View File

@@ -0,0 +1,3 @@
config/config.php
queries/custom_*
templates/*/custom_*

21
.htaccess Normal file
View File

@@ -0,0 +1,21 @@
# Turn on URL rewriting
RewriteEngine On
# Installation directory
RewriteBase /pla
# Protect hidden files from being viewed
<Files .*>
Order Deny,Allow
Deny From All
</Files>
# Protect application and system files from being viewed
RewriteRule ^(?:application|modules|includes/kohana)\b.* index.php/$0 [L]
# Allow any files or directories that exist to be displayed directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Rewrite all other URLs to index.php/URL
RewriteRule .* index.php/$0 [PT]

View File

@@ -1,11 +1,11 @@
For install instructions in non-English languages, see the wiki:
http://wiki.phpldapadmin.info
http://phpldapadmin.sourceforge.net
* Requirements
phpLDAPadmin requires the following:
a. A web server (Apache, IIS, etc).
b. PHP 4.1.0 or newer (with LDAP support)
b. PHP 5.0.0 or newer (with LDAP support)
* To install
@@ -17,7 +17,7 @@ For install instructions in non-English languages, see the wiki:
* For additional help
See the wiki:
http://wiki.phpldapadmin.info
http://phpldapadmin.sourceforge.net
Join our mailing list:
https://lists.sourceforge.net/lists/listinfo/phpldapadmin-devel

View File

@@ -1 +1 @@
$Name: RELEASE-1_0_0 $
DEVEL-2.0

150
application/bootstrap.php Normal file
View File

@@ -0,0 +1,150 @@
<?php defined('SYSPATH') or die('No direct script access.');
// -- Environment setup --------------------------------------------------------
// Load the core Kohana class
require SYSPATH.'classes/Kohana/Core'.EXT;
if (is_file(APPPATH.'classes/Kohana'.EXT))
{
// Application extends the core
require APPPATH.'classes/Kohana'.EXT;
}
else
{
// Load empty core extension
require SYSPATH.'classes/Kohana'.EXT;
}
/**
* Set the default time zone.
*
* @link http://kohanaframework.org/guide/using.configuration
* @link http://www.php.net/manual/timezones
*/
date_default_timezone_set('Australia/Melbourne');
/**
* Set the default locale.
*
* @link http://kohanaframework.org/guide/using.configuration
* @link http://www.php.net/manual/function.setlocale
*/
setlocale(LC_ALL, 'en_US.utf-8');
/**
* Enable the Kohana auto-loader.
*
* @link http://kohanaframework.org/guide/using.autoloading
* @link http://www.php.net/manual/function.spl-autoload-register
*/
spl_autoload_register(array('Kohana', 'auto_load'));
/**
* Optionally, you can enable a compatibility auto-loader for use with
* older modules that have not been updated for PSR-0.
*
* It is recommended to not enable this unless absolutely necessary.
*/
//spl_autoload_register(array('Kohana', 'auto_load_lowercase'));
/**
* Enable the Kohana auto-loader for unserialization.
*
* @link http://www.php.net/manual/function.spl-autoload-call
* @link http://www.php.net/manual/var.configuration#unserialize-callback-func
*/
ini_set('unserialize_callback_func', 'spl_autoload_call');
// -- Configuration and initialization -----------------------------------------
/**
* Set the default language
*/
I18n::lang('en-us');
/**
* Set Kohana::$environment if a 'KOHANA_ENV' environment variable has been supplied.
*
* Note: If you supply an invalid environment name, a PHP warning will be thrown
* saying "Couldn't find constant Kohana::<INVALID_ENV_NAME>"
*/
if (isset($_SERVER['KOHANA_ENV']))
{
Kohana::$environment = constant('Kohana::'.strtoupper($_SERVER['KOHANA_ENV']));
}
/**
* Initialize Kohana, setting the default options.
*
* The following options are available:
*
* - string base_url path, and optionally domain, of your application NULL
* - string index_file name of your index file, usually "index.php" index.php
* - string charset internal character set used for input and output utf-8
* - string cache_dir set the internal cache directory APPPATH/cache
* - integer cache_life lifetime, in seconds, of items cached 60
* - boolean errors enable or disable error handling TRUE
* - boolean profile enable or disable internal profiling TRUE
* - boolean caching enable or disable internal caching FALSE
* - boolean expose set the X-Powered-By header FALSE
*/
Kohana::init(array(
'base_url' => '/pla',
'caching' => TRUE,
'index_file' => '',
));
/**
* Attach the file write to logging. Multiple writers are supported.
*/
Kohana::$log->attach(new Log_File(APPPATH.'logs'));
/**
* Attach a file reader to config. Multiple readers are supported.
*/
Kohana::$config->attach(new Config_File);
/**
* Enable modules. Modules are referenced by a relative or absolute path.
*/
Kohana::modules(array(
'lnapp' => MODPATH.'lnApp',
'auth' => SMDPATH.'auth', // Basic authentication
'cache' => SMDPATH.'cache', // Caching with multiple backends
// 'codebench' => SMDPATH.'codebench', // Benchmarking tool
'database' => SMDPATH.'database', // Database access
// 'image' => SMDPATH.'image', // Image manipulation
'minion' => SMDPATH.'minion', // CLI Tasks
'orm' => SMDPATH.'orm', // Object Relationship Mapping
'pagination' => SMDPATH.'pagination', // Kohana Pagination module for Kohana 3 PHP Framework
// 'unittest' => SMDPATH.'unittest', // Unit testing
// 'userguide' => SMDPATH.'userguide', // User guide and API documentation
'xml' => SMDPATH.'xml', // XML module for Kohana 3 PHP Framework
));
// Static file serving (CSS, JS, images)
Route::set('default/media', 'media(/<file>)', array('file' => '.+'))
->defaults(array(
'controller' => 'media',
'action' => 'get',
));
/**
* Set the routes. Each route must have a minimum of a name, a URI and a set of
* defaults for the URI.
*/
Route::set('default', '(<controller>(/<action>(/<id>)))', array('id'=>'[a-zA-Z0-9_.-]+'))
->defaults(array(
'controller' => 'welcome',
'action' => 'index',
));
/**
* If APC is enabled, and we need to clear the cache
*/
if (file_exists(APPPATH.'cache/CLEAR_APC_CACHE') AND function_exists('apc_clear_cache') AND (PHP_SAPI !== 'cli')) {
if (! apc_clear_cache() OR ! unlink(APPPATH.'cache/CLEAR_APC_CACHE'))
throw new Kohana_Exception('Unable to clear the APC cache.');
}
?>

View File

@@ -0,0 +1,4 @@
<?php defined('SYSPATH') or die('No direct access allowed.');
class Auth_LDAP extends PLA_Auth_Ldap {}
?>

View File

@@ -0,0 +1,4 @@
<?php defined('SYSPATH') or die('No direct access allowed.');
class Block extends PLA_Block {}
?>

View File

@@ -0,0 +1,107 @@
<?php defined('SYSPATH') or die('No direct access allowed.');
/**
* This class extends the core Kohana class by adding some core application
* specific functions, and configuration.
*
* @package PLA
* @subpackage Config
* @category Helpers
* @author Deon George
* @copyright (c) phpLDAPadmin Development Team
* @license http://dev.phpldapadmin.org/license.html
*/
class Config extends Kohana_Config {
// Our default logo, if there is no site logo
public static $logo = 'img/logo-small.png';
/**
* Some early initialisation
*
* At this point, KH hasnt been fully initialised either, so we cant rely on
* too many KH functions yet.
*
* NOTE: Kohana doesnt provide a parent construct for the Kohana_Config class.
*/
public function __construct() {
}
/**
* Get the singleton instance of Config.
*
* $config = Config::instance();
*
* @return Config
* @compat Restore KH 3.1 functionality
*/
public static function instance() {
if (Config::$_instance === NULL)
// Create a new instance
Config::$_instance = new Config;
return Config::$_instance;
}
/**
* Return our caching mechanism
*/
public static function cachetype() {
return is_null(Kohana::$config->load('config')->cache_type) ? 'file' : Kohana::$config->load('config')->cache_type;
}
public static function copywrite() {
return '(c) phpLDAPadmin Development Team';
}
public static function country() {
return NULL;
}
public static function language() {
// @todo To implement
return 'auto';
}
/**
* The URI to show for the login prompt.
* Normally if the user is logged in, we can replace it with something else
*/
public static function login_uri() {
return ($ao = Auth::instance()->get_user() AND is_object($ao)) ? $ao->name() : HTML::anchor('login',_('Login'));
}
public static function logo() {
return HTML::image(static::logo_uri(),array('class'=>'headlogo','alt'=>_('Logo')));
}
public static function logo_uri($protocol=NULL) {
list ($path,$suffix) = explode('.',static::$logo);
return URL::site(Route::get('default/media')->uri(array('file'=>$path.'.'.$suffix),array('alt'=>static::sitename())),$protocol);
}
public static function siteid($format=FALSE) {
return '';
}
/**
* Work out our site mode (dev,test,prod)
*/
public static function sitemode() {
return Kohana::$config->load('config.site')->mode;
}
public static function sitename() {
return 'phpLDAPadmin';
}
public static function theme() {
return Kohana::$config->load('config')->theme;
}
public static function version() {
// @todo Work out our versioning
return 'TBA';
}
}
?>

View File

@@ -0,0 +1,4 @@
<?php defined('SYSPATH') or die('No direct access allowed.');
class Controller_Template extends PLA_Controller_Template {}
?>

View File

@@ -0,0 +1,47 @@
<?php defined('SYSPATH') or die('No direct access allowed.');
/**
* This class provides the default template controller for rendering pages.
*
* @package OSB
* @subpackage Page/Template
* @category Controllers
* @author Deon George
* @copyright (c) phpLDAPadmin Development Team
* @license http://dev.phpldapadmin.org/license.html
*/
class Controller_TemplateDefault extends lnApp_Controller_TemplateDefault {
public function __construct(Request $request, Response $response) {
if (Config::theme())
$this->template = Config::theme().'/page';
return parent::__construct($request,$response);
}
protected function _headimages() {
// This is where we should be able to change our country
// @todo To implement
$co = Config::country();
/*
HeadImages::add(array(
'img'=>sprintf('img/country/%s.png',strtolower($co->two_code)),
'attrs'=>array('onclick'=>"target='_blank';",'title'=>$co->display('name'))
));
*/
return HeadImages::factory();
}
protected function _left() {
if ($this->template->left)
return $this->template->left;
elseif (Auth::instance()->logged_in(NULL,get_class($this).'|'.__METHOD__))
return Controller_Tree::js();
}
protected function _right() {
return empty($this->template->right) ? '' : $this->template->right;
}
}
?>

View File

@@ -0,0 +1,8 @@
<?php defined('SYSPATH') or die('No direct script access.');
class Controller_Welcome extends Controller_Template {
public function action_index() {
$this->response->body('hello, world!');
}
} // End Welcome

View File

@@ -0,0 +1,16 @@
<?php defined('SYSPATH') or die('No direct access allowed.');
/**
* This class overrides Kohana's Cookie
*
* @package PLA/Modifications
* @category Classes
* @category Helpers
* @author Deon George
* @copyright (c) 2010 Deon George
* @license http://dev.phpldapadmin.org/license.html
*/
class Cookie extends Kohana_Cookie {
public static $salt = 'PLA';
}
?>

View File

@@ -0,0 +1,4 @@
<?php defined('SYSPATH') or die('No direct access allowed.');
class Database_LDAP extends PLA_Database_LDAP {}
?>

View File

@@ -0,0 +1,4 @@
<?php defined('SYSPATH') or die('No direct access allowed.');
class Database_LDAP_Search extends PLA_Database_LDAP_Search {}
?>

View File

@@ -0,0 +1,4 @@
<?php defined('SYSPATH') or die('No direct access allowed.');
class Database_LDAP_Search_Builder_Query extends PLA_Database_LDAP_Search_Builder_Query {}
?>

View File

@@ -0,0 +1,79 @@
<?php defined('SYSPATH') or die('No direct access allowed.');
/**
* LDAP Auth driver.
*
* @package PLA
* @subpackage Auth/LDAP
* @category Helpers
* @author Deon George
* @copyright (c) phpLDAPadmin Development Team
* @license http://dev.phpldapadmin.org/license.html
*/
class PLA_Auth_Ldap extends Auth {
// Unnused required abstract functions
public function password($username) {}
public function check_password($password) {}
// Overrides
public function hash($str) {
// Since this is used automatically to encrypted a password, we need to suppress that for LDAP
if (! $this->_config['hash_key'])
return $str;
else
return parent::hash($str);
}
/**
* Logs a user in.
*
* @param string username
* @param string password
* @param boolean enable autologin (not supported)
* @return boolean
*/
protected function _login($user, $password, $remember) {
if ( ! is_object($user)) {
$username = $user;
// Load the user
// @todo Get the server ID
$sid = 'default';
$user = Database_LDAP::instance($sid)->select_db('user')->connect();
$user->bind($username,$password);
}
// @todo Implement conditional logging based on memberships to groups or other criteria.
// @todo This check of user being logged in needs to be better
if (! $user->noconnect) {
/*
// @todo To implement
if ($remember === TRUE) {
// Token data
$data = array(
'user_id'=>$user->id,
'expires'=>time()+$this->_config['lifetime'],
'user_agent'=>sha1(Request::$user_agent),
);
// Create a new autologin token
$token = ORM::factory('user_token')
->values($data)
->create();
// Set the autologin cookie
Cookie::set('authautologin', $token->token, $this->_config['lifetime']);
}
*/
// Finish the login
$this->complete_login($user);
return TRUE;
}
// Login failed
return FALSE;
}
}
?>

View File

@@ -0,0 +1,65 @@
<?php defined('SYSPATH') or die('No direct access allowed.');
/**
* This class is for rendering HTML body blocks (left, center, right).
*
* It will provide a header, body and footer.
*
* @package PLA
* @subpackage Page
* @category Helpers
* @author Deon George
* @copyright (c) phpLDAPadmin Development Team
* @license http://dev.phpldapadmin.org/license.html
* @uses Style
*/
abstract class PLA_Block extends HTMLRender {
protected static $_data = array();
protected static $_required_keys = array('body');
/**
* Add a block to be rendered
*
* @param array Block attributes
*/
public static function add($block,$prepend=FALSE) {
parent::add($block);
// Detect any style sheets.
if (! empty($block['style']) && is_array($block['style']))
foreach ($block['style'] as $data=>$media)
Style::add(array(
'type'=>'file',
'data'=>$data,
'media'=>$media,
));
}
/**
* Return an instance of this class
*
* @return Block
*/
public static function factory() {
return new Block;
}
/**
* Render this block
*
* @see HTMLRender::render()
*/
protected function render() {
$output = '';
foreach (static::$_data as $value)
$output .= View::factory(Kohana::Config('config.theme').'/block')
->set('title',empty($value['title']) ? '' : $value['title'])
->set('subtitle',empty($value['subtitle']) ? '' : $value['subtitle'])
->set('body',empty($value['body']) ? '' : $value['body'])
->set('footer',empty($value['footer']) ? '' : $value['footer']);
return $output;
}
}
?>

View File

@@ -0,0 +1,117 @@
<?php defined('SYSPATH') or die('No direct access allowed.');
/**
* This class provides the default template controller for rendering pages.
*
* @package PLA
* @subpackage Page/Template
* @category Controllers
* @author Deon George
* @copyright (c) phpLDAPadmin Development Team
* @license http://dev.phpldapadmin.org/license.html
*/
abstract class PLA_Controller_Template extends Kohana_Controller_Template {
// @var object meta object information as per [meta]
private $meta;
public function __construct(Request $request, Response $response) {
$this->template = Kohana::$config->load('config')->theme;
return parent::__construct($request,$response);
}
public function before() {
// Do not template media files
if ($this->request->action() === 'media') {
$this->auto_render = FALSE;
return;
}
parent::before();
// For AJAX calls, we dont need to render the complete page.
if ($this->request->is_ajax()) {
$this->auto_render = FALSE;
return;
}
$this->template->content = '';
// Setup the page template
$this->meta = new Meta;
View::bind_global('meta',$this->meta);
}
public function after() {
if ($this->auto_render === TRUE) {
// Application Title
$this->meta->title = Kohana::$config->load('config')->appname;
// Language
// @todo
$this->meta->language = '';
// Description
$this->meta->description = sprintf('%s::%s',$this->request->controller(),$this->request->action());
// Control Line
// @todo
$this->template->control = '';
// System Messages line
// @todo
$this->template->sysmsg = '';
// Left Item
// @todo
$this->template->left = '';
$this->template->right = '';
$this->template->center = '';
if (! $this->response->body())
$this->response->body((string)Block::factory());
if (empty($this->template->content))
$this->template->content = $this->response->body();
// Footer
// @todo
$this->template->footer = '';
// Our default script(s)
foreach (array('file'=>array_reverse(array(
))) as $type => $datas) {
foreach ($datas as $data) {
Script::add(array(
'type'=>$type,
'data'=>$data,
),TRUE);
}
}
// For any ajax rendered actions, we'll need to capture the content and put it in the response
// @todo
} elseif ($this->request->is_ajax() && isset($this->template->content) && ! $this->response->body()) {
// @todo move this formatting to a view?
if ($s = $this->_sysmsg() AND (string)$s)
$this->response->body(sprintf('<table class="sysmsg"><tr><td>%s</td></tr></table>',$s));
// Since we are ajax, we should re-render the breadcrumb
Session::instance()->set('breadcrumb',(string)Breadcrumb::factory());
$this->response->bodyadd(Script::add(array('type'=>'stdin','data'=>'$().ready($("#ajCONTROL").load("'.URL::site('welcome/breadcrumb').'",null,function(x,s,r) {}));')));
// In case there any javascript for this render.
$this->response->bodyadd(Script::factory());
// Get the response body
$this->response->bodyadd(sprintf('<table class="content"><tr><td>%s</td></tr></table>',$this->template->content));
}
parent::after();
// Generate and check the ETag for this file
if (Kohana::$environment === Kohana::PRODUCTION)
$this->response->check_cache(NULL,$this->request);
}
}

View File

@@ -0,0 +1,186 @@
<?php defined('SYSPATH') or die('No direct access allowed.');
/**
* This class takes care of communicating with LDAP
*
* @package PLA
* @subpackage LDAP
* @category Helpers
* @author Deon George
* @copyright (c) phpLDAPadmin Development Team
* @license http://dev.phpldapadmin.org/license.html
*/
abstract class PLA_Database_LDAP extends Database {
// Our required abstract functions
public function set_charset($charset) {}
public function query($type, $sql, $as_object = FALSE, array $params = NULL) {}
public function begin($mode = NULL) {}
public function commit() {}
public function rollback() {}
public function list_tables($like = NULL) {}
public function list_columns($table, $like = NULL, $add_prefix = TRUE) {}
public function escape($value) { return $value;}
// Overrides
public function quote_column($column) {
return $column;
}
// This function will enable us to have multiple resource contexts
// @todo To Implement
public function select_db($x) {
return $this;
}
private function _connect() {
/*
// @todo To implement
# No identifiable connection exists, lets create a new one.
if (DEBUG_ENABLED)
debug_log('Creating NEW connection [%s] for index [%s]',16,0,__FILE__,__LINE__,__METHOD__,
$method,$this->index);
*/
/*
// @todo To implement
if (function_exists('run_hook'))
run_hook('pre_connect',array('server_id'=>$this->index,'method'=>$method));
*/
if (! empty($this->_config['port']))
$r = ldap_connect($this->_config['connection']['hostname'],$this->_config['port']);
else
$r = ldap_connect($this->_config['connection']['hostname']);
/*
// @todo To implement
if (DEBUG_ENABLED)
debug_log('LDAP Resource [%s], Host [%s], Port [%s]',16,0,__FILE__,__LINE__,__METHOD__,
$this->_r,$this->getValue('server','host'),$this->getValue('server','port'));
*/
if (! is_resource($r))
throw Kohana_Exception('UNHANDLED, $r is not a resource');
// Go with LDAP version 3 if possible (needed for renaming and Novell schema fetching)
ldap_set_option($r,LDAP_OPT_PROTOCOL_VERSION,3);
/* Disabling this makes it possible to browse the tree for Active Directory, and seems
* to not affect other LDAP servers (tested with OpenLDAP) as phpLDAPadmin explicitly
* specifies deref behavior for each ldap_search operation. */
ldap_set_option($r,LDAP_OPT_REFERRALS,0);
/*
// @todo To implement
# Try to fire up TLS is specified in the config
if ($this->isTLSEnabled())
$this->startTLS($this->_r);
*/
return $r;
}
private function _bind($r,$u,$p) {
if (! is_resource($r))
throw Kohana_Exception('UNHANDLED, $r is not a resource');
/*
// @todo To implement
# If SASL has been configured for binding, then start it now.
if ($this->isSASLEnabled())
$br = $this->startSASL($this->_r,$method);
# Normal bind...
else
*/
$br = @ldap_bind($r,$u,$p);
/*
if ($debug)
debug_dump(array('method'=>$method,'bind'=>$bind,'USER'=>$_SESSION['USER']));
if (DEBUG_ENABLED)
debug_log('Resource [%s], Bind Result [%s]',16,0,__FILE__,__LINE__,__METHOD__,$this->_r,$bind);
*/
if (! $br) {
/*
if (DEBUG_ENABLED)
debug_log('Leaving with FALSE, bind FAILed',16,0,__FILE__,__LINE__,__METHOD__);
*/
$this->noconnect = true;
/*
// @todo To implement
system_message(array(
'title'=>sprintf('%s %s',_('Unable to connect to LDAP server'),$this->getName()),
'body'=>sprintf('<b>%s</b>: %s (%s) for <b>%s</b>',_('Error'),$this->getErrorMessage($method),$this->getErrorNum($method),$method),
'type'=>'error'));
*/
} else {
$this->noconnect = false;
/*
// @todo To implement
# If this is a proxy session, we need to switch to the proxy user
if ($this->isProxyEnabled() && $bind['id'] && $method != 'anon')
if (! $this->startProxy($this->_r,$method)) {
$this->noconnect = true;
$CACHE[$this->index][$method] = null;
}
*/
}
/*
// @todo To implement
if (function_exists('run_hook'))
run_hook('post_connect',array('server_id'=>$this->index,'method'=>$method,'id'=>$bind['id']));
*/
/*
// @todo To implement
if ($debug)
debug_dump(array($method=>$CACHE[$this->index][$method]));
*/
return $br;
}
public function connect() {
if ($this->_r = $this->_connect())
return $this;
else
throw Kohana_Exception('Unable to connect to LDAP Server?');
}
public function bind($user,$pass) {
// If this is an anon query, then we return
// Do we need to do an anon search to find the DN
if (! empty($this->_config['login_attr']) AND strtoupper($this->_config['login_attr']) != 'DN') {
$u = $this->search()
->scope('sub')
->where($this->_config['login_attr'],'=',$user)
->run();
if (! $u)
throw new Kohana_Exception('Unable to find user :user',array(':user'=>$user));
$u = array_shift($u);
$user = $u['dn'];
}
// Bind
if ($this->_bind($this->_r,$user,$pass))
return $this;
else
throw new Kohana_Exception('Unable to bind');
}
public function search() {
return new Database_LDAP_Search($this->_r);
}
}
?>

View File

@@ -0,0 +1,270 @@
<?php defined('SYSPATH') or die('No direct access allowed.');
/**
* This class takes care of searching within LDAP
*
* @package PLA
* @subpackage LDAP/Search
* @category Helpers
* @author Deon George
* @copyright (c) phpLDAPadmin Development Team
* @license http://dev.phpldapadmin.org/license.html
*/
abstract class PLA_Database_LDAP_Search {
private $_r; // Our LDAP Server to query
private $_scope = 'base'; // LDAP Search Scope
private $_filter = '(objectclass=*)'; // LDAP Search Scope
private $_attrs = array('*','+'); // LDAP Attributes to Return
private $_base = ''; // LDAP Base to Search
private $_db_pending = array(); // LDAP Query Filter to compile
/**
* Callable database methods
* @var array
*/
protected static $_db_methods = array(
'where', 'and_where', 'or_where', 'where_open', 'and_where_open', 'or_where_open', 'where_close',
'and_where_close', 'or_where_close',
);
/**
* Members that have access methods
* @var array
*/
protected static $_properties = array(
);
public function __construct($resource) {
$this->_r = $resource;
}
/**
* Handles pass-through to database methods. Calls to query methods
* (query, get, insert, update) are not allowed. Query builder methods
* are chainable.
*
* @param string $method Method name
* @param array $args Method arguments
* @return mixed
*/
public function __call($method,array $args) {
if (in_array($method,Database_LDAP_Search::$_properties)) {
/*
// @todo To Implement
if ($method === 'validation')
{
if ( ! isset($this->_validation))
{
// Initialize the validation object
$this->_validation();
}
}
*/
// Return the property
return $this->{'_'.$method};
}
elseif (in_array($method,Database_LDAP_Search::$_db_methods))
{
// Add pending database call which is executed after query type is determined
$this->_db_pending[] = array('name' => $method,'args' => $args);
return $this;
}
else
{
throw new Kohana_Exception('Invalid method :method called in :class',
array(':method' => $method,':class' => get_class($this)));
}
}
private function _build() {
$s = Database_LDAP_Search::Search();
// Process pending database method calls
foreach ($this->_db_pending as $method) {
$name = $method['name'];
$args = $method['args'];
$this->_db_applied[$name] = $name;
call_user_func_array(array($s,$name),$args);
}
return $s;
}
public static function Search($columns = NULL) {
return new Database_LDAP_Search_Builder_Query(func_get_args());
}
public static function instance($resource) {
return new Database_LDAP_Search($resource);
}
public function scope($val) {
switch ($val) {
case 'base':
case 'sub':
case 'one': $this->_scope = $val;
break;
default:
throw new Kohana_Exception('Unknown search scope :scope',array(':scope',$val));
}
return $this;
}
/**
* Search the LDAP database
*/
public function run() {
$query = array();
// Compile our query
if ($this->_db_pending)
$this->_filter = $this->_build();
/*
if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS'))
debug_log('Entered (%%)',17,0,__FILE__,__LINE__,__METHOD__,$fargs);
*/
$attrs_only = 0;
$this->_base = 'o=Simpsons';
/*
// @todo To implement
if (! isset($query['base'])) {
$bases = $this->getBaseDN();
$query['base'] = array_shift($bases);
}
*/
/*
// @todo To implement
if (! isset($query['deref']))
$query['deref'] = $_SESSION[APPCONFIG]->getValue('deref','search');
*/
if (! isset($query['size_limit']))
$query['size_limit'] = 0;
if (! isset($query['time_limit']))
$query['time_limit'] = 0;
/*
if ($query['scope'] == 'base' && ! isset($query['baseok']))
system_message(array(
'title'=>sprintf('Dont call %s',__METHOD__),
'body'=>sprintf('Use getDNAttrValues for base queries [%s]',$query['base']),
'type'=>'info'));
*/
/*
if (is_array($query['base'])) {
system_message(array(
'title'=>_('Invalid BASE for query'),
'body'=>_('The query was cancelled because of an invalid base.'),
'type'=>'error'));
return array();
}
*/
/*
if (DEBUG_ENABLED)
debug_log('%s search PREPARE.',16,0,__FILE__,__LINE__,__METHOD__,$query['scope']);
*/
/*
if ($debug)
debug_dump(array('query'=>$query,'server'=>$this->getIndex(),'con'=>$this->connect($method)));
*/
//$resource = $this->connect($method,$debug);
switch ($this->_scope) {
case 'base':
$search = @ldap_read($this->_r,$this->_base,$this->_filter,$this->_attrs,$attrs_only,$query['size_limit'],$query['time_limit'],$query['deref']);
break;
case 'one':
$search = @ldap_list($this->_r,$this->_base,$this->_filter,$this->_attrs,$attrs_only,$query['size_limit'],$query['time_limit'],$query['deref']);
break;
case 'sub':
default:
$search = @ldap_search($this->_r,$this->_base,$this->_filter,$this->_attrs,$attrs_only,$query['size_limit'],$query['time_limit'],$query['deref']);
break;
}
/*
if ($debug)
debug_dump(array('method'=>$method,'search'=>$search,'error'=>$this->getErrorMessage()));
*/
/*
if (DEBUG_ENABLED)
debug_log('Search scope [%s] base [%s] filter [%s] attrs [%s] COMPLETE (%s).',16,0,__FILE__,__LINE__,__METHOD__,
$query['scope'],$query['base'],$query['filter'],$query['attrs'],is_null($search));
*/
if (! $search)
return array();
$return = array();
// Get the first entry identifier
if ($entries = ldap_get_entries($this->_r,$search)) {
# Remove the count
if (isset($entries['count']))
unset($entries['count']);
// Iterate over the entries
foreach ($entries as $a => $entry) {
/*
if (! isset($entry['dn']))
debug_dump_backtrace('No DN?',1);
*/
// Remove the none entry references.
if (! is_array($entry)) {
unset($entries[$a]);
continue;
}
$dn = $entry['dn'];
unset($entry['dn']);
// Iterate over the attributes
foreach ($entry as $b => $attrs) {
// Remove the none entry references.
if (! is_array($attrs)) {
unset($entry[$b]);
continue;
}
// Remove the count
if (isset($entry[$b]['count']))
unset($entry[$b]['count']);
}
// Our queries always include the DN (the only value not an array).
$entry['dn'] = $dn;
$return[$dn] = $entry;
}
// Sort our results
foreach ($return as $key => $values)
ksort($return[$key]);
}
/*
if (DEBUG_ENABLED)
debug_log('Returning (%s)',17,0,__FILE__,__LINE__,__METHOD__,$return);
*/
return $return;
}
}
?>

View File

@@ -0,0 +1,214 @@
<?php defined('SYSPATH') or die('No direct access allowed.');
/**
* This class takes care of building an LDAP filter query
*
* @package PLA
* @subpackage LDAP/Search
* @category Helpers
* @author Deon George
* @copyright (c) phpLDAPadmin Development Team
* @license http://dev.phpldapadmin.org/license.html
*/
abstract class PLA_Database_LDAP_Search_Builder_Query extends Database_Query_Builder {
protected $_where = array();
// @todo Not implemented
public function reset() {}
public function __construct() {
parent::__construct(Database::SELECT,'ldap');
}
/**
* Alias of and_where()
*
* @param mixed column name or array($column, $alias) or object
* @param string logic operator
* @param mixed column value
* @return $this
*/
public function where($column,$op,$value) {
return $this->and_where($column,$op,$value);
}
/**
* Creates a new "AND WHERE" condition for the query.
*
* @param mixed column name or array($column,$alias) or object
* @param string logic operator
* @param mixed column value
* @return $this
*/
public function and_where($column,$op,$value) {
$this->_where[] = array('AND' => array($column,$op,$value));
return $this;
}
/**
* Creates a new "OR WHERE" condition for the query.
*
* @param mixed column name or array($column,$alias) or object
* @param string logic operator
* @param mixed column value
* @return $this
*/
public function or_where($column,$op,$value) {
$this->_where[] = array('OR' => array($column,$op,$value));
return $this;
}
/**
* Alias of and_where_open()
*
* @return $this
*/
public function where_open() {
return $this->and_where_open();
}
/**
* Opens a new "AND WHERE (...)" grouping.
*
* @return $this
*/
public function and_where_open() {
$this->_where[] = array('AND' => '(');
return $this;
}
/**
* Opens a new "OR WHERE (...)" grouping.
*
* @return $this
*/
public function or_where_open() {
$this->_where[] = array('OR' => '(');
return $this;
}
public function compile($db = NULL) {
$filter = '';
return $this->_compile_conditions($db,$this->_where);
}
/**
* Closes an open "AND WHERE (...)" grouping.
*
* @return $this
*/
public function where_close() {
return $this->and_where_close();
}
/**
* Closes an open "AND WHERE (...)" grouping.
*
* @return $this
*/
public function and_where_close() {
$this->_where[] = array('AND' => ')');
return $this;
}
/**
* Closes an open "OR WHERE (...)" grouping.
*
* @return $this
*/
public function or_where_close() {
$this->_where[] = array('OR' => ')');
return $this;
}
/**
* Compiles an array of conditions into an LDAP filter.
*
* @param object Database instance
* @param array condition statements
* @return string
*/
protected function _compile_conditions(Database $db,array $conditions,$index=0) {
$current_condition = $last_condition = NULL;
$filter = '';
$sub = 0;
foreach ($conditions as $key => $group) {
// If we have been called again, we need to skip ahead, or skip what has been processed
if ($key < $index OR $sub)
continue;
// Process groups of conditions
foreach ($group as $logic => $condition) {
if ($condition === '(') {
$filter .= $this->_compile_conditions($db,$conditions,$key+1);
$sub = 1;
} elseif ($condition === ')') {
if ($index) {
// As we return, we'll include our condition
switch ($current_condition) {
case 'AND':
return '(&'.$filter.')';
case 'OR':
return '(|'.$filter.')';
default:
throw new Kohana_Exception('Condition :condition not handled.',array(':condition'=>$condition));
}
}
$sub = 0;
} else {
// We currently cant handle when a condition changes, without brackets.
if ($filter AND $current_condition AND $current_condition != $logic)
throw new Kohana_Exception('Condition changed without brackets');
$current_condition = $logic;
// Split the condition
list($column,$op,$value) = $condition;
// Database operators are always uppercase
$op = strtoupper($op);
if ((is_string($value) AND array_key_exists($value,$this->_parameters)) === FALSE) {
// Quote the value, it is not a parameter
$value = $db->quote($value);
}
if ($column) {
// Apply proper quoting to the column
$column = $db->quote_column($column);
}
// Append the statement to the query
$filter .= trim('('.$column.$op.$value.')');
}
$last_condition = $condition;
}
}
switch ($current_condition) {
case 'AND':
return '(&'.$filter.')';
case 'OR':
return '(|'.$filter.')';
default:
throw new Kohana_Exception('Condition :condition not handled.',array(':condition'=>$condition));
}
}
}
?>

View File

@@ -0,0 +1,31 @@
<?php defined('SYSPATH') or die('No direct access allowed.');
/**
* This class extends the core Kohana exception handling
*
* @package PLA
* @category Exceptions
* @author Deon George
* @copyright (c) phpLDAPadmin Development Team
* @license http://dev.phpldapadmin.org/license.html
*/
class PLA_Exception extends Kohana_Exception {
public function __construct($message, array $variables = NULL, $code = 0) {
parent::__construct($message,$variables,$code);
switch ($code) {
case '400':
SystemMessage::add('warn',$message);
Request::current()->redirect('login');
break;
}
echo debug::vars(array('m'=>$message,'v'=>$variables,'c'=>$code,'t'=>$this));die();
}
public function __toString() {
echo __METHOD__;die();
}
}
?>

View File

@@ -0,0 +1,65 @@
<?php defined('SYSPATH') or die('No direct access allowed.');
/**
* This class is for rendering PLA System Messages
*
* It will provide a header, body and footer.
*
* @package PLA
* @subpackage Page
* @category Helpers
* @author Deon George
* @copyright (c) phpLDAPadmin Development Team
* @license http://dev.phpldapadmin.org/license.html
* @uses Style
*/
abstract class PLA_SystemMessage extends HTMLRender {
protected static $_data = array();
protected static $_required_keys = array('body');
/**
* Add a block to be rendered
*
* @param array Block attributes
*/
public static function add($block,$prepend=FALSE) {
parent::add($block);
// Detect any style sheets.
if (! empty($block['style']) && is_array($block['style']))
foreach ($block['style'] as $data=>$media)
Style::add(array(
'type'=>'file',
'data'=>$data,
'media'=>$media,
));
}
/**
* Return an instance of this class
*
* @return Block
*/
public static function factory() {
return new SystemMessage;
}
/**
* Render this block
*
* @see HTMLRender::render()
*/
protected function render() {
$output = '';
foreach (static::$_data as $value)
$output .= View::factory(Kohana::Config('config.theme').'/block')
->set('title',empty($value['title']) ? '' : $value['title'])
->set('subtitle',empty($value['subtitle']) ? '' : $value['subtitle'])
->set('body',empty($value['body']) ? '' : $value['body'])
->set('footer',empty($value['footer']) ? '' : $value['footer']);
return $output;
}
}
?>

View File

@@ -0,0 +1,4 @@
<?php defined('SYSPATH') or die('No direct access allowed.');
class SystemMessage extends PLA_SystemMessage {}
?>

View File

@@ -0,0 +1,51 @@
<?php defined('SYSPATH') or die('No direct access allowed.');
/**
* This class overrides Kohana's URL
*
* @package OSB/Modifications
* @category Classes
* @category Helpers
* @author Deon George
* @copyright (c) phpLDAPadmin Development Team
* @license http://dev.phpldapadmin.org/license.html
*/
class URL extends Kohana_URL {
// Our method paths for different functions
public static $method_directory = array(
'user'=>'',
);
/**
* Wrapper to provide a URL::site() link based on function
*/
public static function link($dir,$src,$site=FALSE) {
if (! $dir)
return $src;
if (! array_key_exists($dir,URL::$method_directory))
throw new Kohana_Exception('Unknown directory :dir for :src',array(':dir'=>$dir,':src'=>$src));
$x = URL::$method_directory[$dir].'/'.$src;
return $site ? URL::site($x) : $x;
}
/**
* Function to reveal the real directory for a URL
*/
public static function dir($dir) {
// Quick check if we can do something here
if (! in_array(strtolower($dir),URL::$method_directory))
return $dir;
// OK, we can, find it.
foreach (URL::$method_directory as $k=>$v)
if (strtolower($dir) == $v)
return ucfirst($k);
// If we get here, we didnt have anything.
return $dir;
}
}
?>

View File

@@ -0,0 +1,22 @@
<?php defined('SYSPATH') or die('No direct access allowed.');
/**
* OSB authentication configuration
*
* @package PLA
* @category Configuration
* @author Deon George
* @copyright (c) phpLDAPadmin Development Team
* @license http://dev.phpldapadmin.org/license.html
*/
return array(
'driver' => 'LDAP',
// 'hash_method' => '',
'hash_key' => '', // LDAP passwords should be cleartext
'lifetime' => 1209600,
// 'session_key' => 'auth_user',
// 'forced_key' => 'auth_forced',
'pwreset' => FALSE,
);
?>

View File

@@ -0,0 +1,23 @@
<?php defined('SYSPATH') or die('No direct access allowed.');
/**
* PLA Configuration - System Default Configurable Items.
*
* @package PLA
* @subpackage System
* @category Configuration
* @author Deon George
* @copyright (c) phpLDAPadmin Development Team
* @license http://dev.phpldapadmin.org/license.html
*/
return array(
'appname' => 'phpLDAPadmin - LDAP Administration', // Our application name, as shown in the title bar of pages
'method_security' => FALSE, // Enables Method Security. Setting to false means any method can be run without authentication
// Our mode level (PRODUCTION, STAGING, TESTING, DEVELOPMENT) - see [Kohana]
'mode' => Kohana::PRODUCTION,
// Our custom theme
'loginpage' => 'welcome',
'theme' => 'claro',
);
?>

View File

@@ -0,0 +1,70 @@
<?php defined('SYSPATH') or die('No direct access allowed.');
/**
* PLA Configuration - LDAP Server Definitions
*
* @package PLA
* @subpackage System
* @category Configuration
* @author Deon George
* @copyright (c) phpLDAPadmin Development Team
* @license http://dev.phpldapadmin.org/license.html
*/
return array
(
'default' => array
(
'type' => 'ldap',
'connection' => array(
/**
* The following options are available for MySQL:
*
* string hostname server hostname, or socket
* string database database name
* string username database username
* string password database password
* boolean persistent use persistent connections?
*
* Ports and sockets may be appended to the hostname.
*/
'hostname' => 'localhost',
'database' => 'kohana',
'username' => FALSE,
'password' => FALSE,
'persistent' => FALSE,
),
'table_prefix' => '',
'charset' => 'utf8',
'caching' => FALSE,
'profiling' => TRUE,
'login_attr'=>'uid',
),
'alternate' => array(
'type' => 'pdo',
'connection' => array(
/**
* The following options are available for PDO:
*
* string dsn Data Source Name
* string username database username
* string password database password
* boolean persistent use persistent connections?
*/
'dsn' => 'mysql:host=localhost;dbname=kohana',
'username' => 'root',
'password' => 'r00tdb',
'persistent' => FALSE,
),
/**
* The following extra options are available for PDO:
*
* string identifier set the escaping identifier
*/
'table_prefix' => '',
'charset' => 'utf8',
'caching' => FALSE,
'profiling' => TRUE,
),
);

View File

@@ -0,0 +1,24 @@
<?php defined('SYSPATH') or die('No direct access allowed.');
/**
* PLA Configuration - Debug Settings
*
* @package PLA
* @subpackage Debug
* @category Configuration
* @author Deon George
* @copyright (c) 2013 phpLDAPadmin Development Team
* @license http://dev.phpldapadmin.org/license.html
*/
return array
(
'ajax'=>FALSE, // AJAX actions can only be run by ajax calls if set to FALSE
'etag'=>FALSE, // Force generating ETAGS
'checkout_notify'=>FALSE, // Test mode to test a particular checkout_notify item
'invoice'=>0, // Number of invoices to generate in a pass
'site'=>FALSE, // Glogal site debug
'show_inactive'=>FALSE, // Show Inactive Items
'task_sim'=>FALSE, // Simulate running tasks
);
?>

View File

@@ -0,0 +1,23 @@
<?php defined('SYSPATH') or die('No direct script access.');
return array(
// Leave this alone
'modules' => array(
// This should be the path to this modules userguide pages, without the 'guide/'. Ex: '/guide/modulename/' would be 'modulename'
'pla' => array(
// Whether this modules userguide pages should be shown
'enabled' => TRUE,
// The name that should show up on the userguide index page
'name' => 'phpLDAPadmin',
// A short description of this module, shown on the index page
'description' => 'phpLDAPadmin API guide.',
// Copyright message, shown in the footer for this module
'copyright' => '&copy; 20082010 phpLDAPadmin Developer Team',
)
)
);

Binary file not shown.

After

Width:  |  Height:  |  Size: 902 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

View File

@@ -0,0 +1,63 @@
//>>built
define("dijit/BackgroundIframe",["require",".","dojo/_base/config","dojo/dom-construct","dojo/dom-style","dojo/_base/lang","dojo/on","dojo/_base/sniff","dojo/_base/window"],function(_1,_2,_3,_4,_5,_6,on,_7,_8){
var _9=new function(){
var _a=[];
this.pop=function(){
var _b;
if(_a.length){
_b=_a.pop();
_b.style.display="";
}else{
if(_7("ie")<9){
var _c=_3["dojoBlankHtmlUrl"]||_1.toUrl("dojo/resources/blank.html")||"javascript:\"\"";
var _d="<iframe src='"+_c+"' role='presentation'"+" style='position: absolute; left: 0px; top: 0px;"+"z-index: -1; filter:Alpha(Opacity=\"0\");'>";
_b=_8.doc.createElement(_d);
}else{
_b=_4.create("iframe");
_b.src="javascript:\"\"";
_b.className="dijitBackgroundIframe";
_b.setAttribute("role","presentation");
_5.set(_b,"opacity",0.1);
}
_b.tabIndex=-1;
}
return _b;
};
this.push=function(_e){
_e.style.display="none";
_a.push(_e);
};
}();
_2.BackgroundIframe=function(_f){
if(!_f.id){
throw new Error("no id");
}
if(_7("ie")||_7("mozilla")){
var _10=(this.iframe=_9.pop());
_f.appendChild(_10);
if(_7("ie")<7||_7("quirks")){
this.resize(_f);
this._conn=on(_f,"resize",_6.hitch(this,function(){
this.resize(_f);
}));
}else{
_5.set(_10,{width:"100%",height:"100%"});
}
}
};
_6.extend(_2.BackgroundIframe,{resize:function(_11){
if(this.iframe){
_5.set(this.iframe,{width:_11.offsetWidth+"px",height:_11.offsetHeight+"px"});
}
},destroy:function(){
if(this._conn){
this._conn.remove();
this._conn=null;
}
if(this.iframe){
_9.push(this.iframe);
delete this.iframe;
}
}});
return _2.BackgroundIframe;
});

View File

@@ -0,0 +1,116 @@
//>>built
define("dijit/Calendar",["dojo/_base/array","dojo/date","dojo/date/locale","dojo/_base/declare","dojo/dom-attr","dojo/dom-class","dojo/_base/event","dojo/_base/kernel","dojo/keys","dojo/_base/lang","dojo/_base/sniff","./CalendarLite","./_Widget","./_CssStateMixin","./_TemplatedMixin","./form/DropDownButton","./hccss"],function(_1,_2,_3,_4,_5,_6,_7,_8,_9,_a,_b,_c,_d,_e,_f,_10){
var _11=_4("dijit.Calendar",[_c,_d,_e],{cssStateNodes:{"decrementMonth":"dijitCalendarArrow","incrementMonth":"dijitCalendarArrow","previousYearLabelNode":"dijitCalendarPreviousYear","nextYearLabelNode":"dijitCalendarNextYear"},setValue:function(_12){
_8.deprecated("dijit.Calendar:setValue() is deprecated. Use set('value', ...) instead.","","2.0");
this.set("value",_12);
},_createMonthWidget:function(){
return new _11._MonthDropDownButton({id:this.id+"_mddb",tabIndex:-1,onMonthSelect:_a.hitch(this,"_onMonthSelect"),lang:this.lang,dateLocaleModule:this.dateLocaleModule},this.monthNode);
},buildRendering:function(){
this.inherited(arguments);
this.connect(this.domNode,"onkeypress","_onKeyPress");
this.connect(this.dateRowsNode,"onmouseover","_onDayMouseOver");
this.connect(this.dateRowsNode,"onmouseout","_onDayMouseOut");
this.connect(this.dateRowsNode,"onmousedown","_onDayMouseDown");
this.connect(this.dateRowsNode,"onmouseup","_onDayMouseUp");
},_onMonthSelect:function(_13){
this._setCurrentFocusAttr(this.dateFuncObj.add(this.currentFocus,"month",_13-this.currentFocus.getMonth()));
},_onDayMouseOver:function(evt){
var _14=_6.contains(evt.target,"dijitCalendarDateLabel")?evt.target.parentNode:evt.target;
if(_14&&((_14.dijitDateValue&&!_6.contains(_14,"dijitCalendarDisabledDate"))||_14==this.previousYearLabelNode||_14==this.nextYearLabelNode)){
_6.add(_14,"dijitCalendarHoveredDate");
this._currentNode=_14;
}
},_onDayMouseOut:function(evt){
if(!this._currentNode){
return;
}
if(evt.relatedTarget&&evt.relatedTarget.parentNode==this._currentNode){
return;
}
var cls="dijitCalendarHoveredDate";
if(_6.contains(this._currentNode,"dijitCalendarActiveDate")){
cls+=" dijitCalendarActiveDate";
}
_6.remove(this._currentNode,cls);
this._currentNode=null;
},_onDayMouseDown:function(evt){
var _15=evt.target.parentNode;
if(_15&&_15.dijitDateValue&&!_6.contains(_15,"dijitCalendarDisabledDate")){
_6.add(_15,"dijitCalendarActiveDate");
this._currentNode=_15;
}
},_onDayMouseUp:function(evt){
var _16=evt.target.parentNode;
if(_16&&_16.dijitDateValue){
_6.remove(_16,"dijitCalendarActiveDate");
}
},handleKey:function(evt){
var _17=-1,_18,_19=this.currentFocus;
switch(evt.charOrCode){
case _9.RIGHT_ARROW:
_17=1;
case _9.LEFT_ARROW:
_18="day";
if(!this.isLeftToRight()){
_17*=-1;
}
break;
case _9.DOWN_ARROW:
_17=1;
case _9.UP_ARROW:
_18="week";
break;
case _9.PAGE_DOWN:
_17=1;
case _9.PAGE_UP:
_18=evt.ctrlKey||evt.altKey?"year":"month";
break;
case _9.END:
_19=this.dateFuncObj.add(_19,"month",1);
_18="day";
case _9.HOME:
_19=new this.dateClassObj(_19);
_19.setDate(1);
break;
case _9.ENTER:
case " ":
this.set("value",this.currentFocus);
break;
default:
return true;
}
if(_18){
_19=this.dateFuncObj.add(_19,_18,_17);
}
this._setCurrentFocusAttr(_19);
return false;
},_onKeyPress:function(evt){
if(!this.handleKey(evt)){
_7.stop(evt);
}
},onValueSelected:function(){
},onChange:function(_1a){
this.onValueSelected(_1a);
},getClassForDate:function(){
}});
_11._MonthDropDownButton=_4("dijit.Calendar._MonthDropDownButton",_10,{onMonthSelect:function(){
},postCreate:function(){
this.inherited(arguments);
this.dropDown=new _11._MonthDropDown({id:this.id+"_mdd",onChange:this.onMonthSelect});
},_setMonthAttr:function(_1b){
var _1c=this.dateLocaleModule.getNames("months","wide","standAlone",this.lang,_1b);
this.dropDown.set("months",_1c);
this.containerNode.innerHTML=(_b("ie")==6?"":"<div class='dijitSpacer'>"+this.dropDown.domNode.innerHTML+"</div>")+"<div class='dijitCalendarMonthLabel dijitCalendarCurrentMonthLabel'>"+_1c[_1b.getMonth()]+"</div>";
}});
_11._MonthDropDown=_4("dijit.Calendar._MonthDropDown",[_d,_f],{months:[],templateString:"<div class='dijitCalendarMonthMenu dijitMenu' "+"data-dojo-attach-event='onclick:_onClick,onmouseover:_onMenuHover,onmouseout:_onMenuHover'></div>",_setMonthsAttr:function(_1d){
this.domNode.innerHTML=_1.map(_1d,function(_1e,idx){
return _1e?"<div class='dijitCalendarMonthLabel' month='"+idx+"'>"+_1e+"</div>":"";
}).join("");
},_onClick:function(evt){
this.onChange(_5.get(evt.target,"month"));
},onChange:function(){
},_onMenuHover:function(evt){
_6.toggle(evt.target,"dijitCalendarMonthLabelHover",evt.type=="mouseover");
}});
return _11;
});

View File

@@ -0,0 +1,175 @@
//>>built
require({cache:{"url:dijit/templates/Calendar.html":"<table cellspacing=\"0\" cellpadding=\"0\" class=\"dijitCalendarContainer\" role=\"grid\" aria-labelledby=\"${id}_mddb ${id}_year\">\n\t<thead>\n\t\t<tr class=\"dijitReset dijitCalendarMonthContainer\" valign=\"top\">\n\t\t\t<th class='dijitReset dijitCalendarArrow' data-dojo-attach-point=\"decrementMonth\">\n\t\t\t\t<img src=\"${_blankGif}\" alt=\"\" class=\"dijitCalendarIncrementControl dijitCalendarDecrease\" role=\"presentation\"/>\n\t\t\t\t<span data-dojo-attach-point=\"decreaseArrowNode\" class=\"dijitA11ySideArrow\">-</span>\n\t\t\t</th>\n\t\t\t<th class='dijitReset' colspan=\"5\">\n\t\t\t\t<div data-dojo-attach-point=\"monthNode\">\n\t\t\t\t</div>\n\t\t\t</th>\n\t\t\t<th class='dijitReset dijitCalendarArrow' data-dojo-attach-point=\"incrementMonth\">\n\t\t\t\t<img src=\"${_blankGif}\" alt=\"\" class=\"dijitCalendarIncrementControl dijitCalendarIncrease\" role=\"presentation\"/>\n\t\t\t\t<span data-dojo-attach-point=\"increaseArrowNode\" class=\"dijitA11ySideArrow\">+</span>\n\t\t\t</th>\n\t\t</tr>\n\t\t<tr>\n\t\t\t${!dayCellsHtml}\n\t\t</tr>\n\t</thead>\n\t<tbody data-dojo-attach-point=\"dateRowsNode\" data-dojo-attach-event=\"onclick: _onDayClick\" class=\"dijitReset dijitCalendarBodyContainer\">\n\t\t\t${!dateRowsHtml}\n\t</tbody>\n\t<tfoot class=\"dijitReset dijitCalendarYearContainer\">\n\t\t<tr>\n\t\t\t<td class='dijitReset' valign=\"top\" colspan=\"7\" role=\"presentation\">\n\t\t\t\t<div class=\"dijitCalendarYearLabel\">\n\t\t\t\t\t<span data-dojo-attach-point=\"previousYearLabelNode\" class=\"dijitInline dijitCalendarPreviousYear\" role=\"button\"></span>\n\t\t\t\t\t<span data-dojo-attach-point=\"currentYearLabelNode\" class=\"dijitInline dijitCalendarSelectedYear\" role=\"button\" id=\"${id}_year\"></span>\n\t\t\t\t\t<span data-dojo-attach-point=\"nextYearLabelNode\" class=\"dijitInline dijitCalendarNextYear\" role=\"button\"></span>\n\t\t\t\t</div>\n\t\t\t</td>\n\t\t</tr>\n\t</tfoot>\n</table>\n"}});
define("dijit/CalendarLite",["dojo/_base/array","dojo/_base/declare","dojo/cldr/supplemental","dojo/date","dojo/date/locale","dojo/dom","dojo/dom-class","dojo/_base/event","dojo/_base/lang","dojo/_base/sniff","dojo/string","dojo/_base/window","./_WidgetBase","./_TemplatedMixin","dojo/text!./templates/Calendar.html"],function(_1,_2,_3,_4,_5,_6,_7,_8,_9,_a,_b,_c,_d,_e,_f){
var _10=_2("dijit.CalendarLite",[_d,_e],{templateString:_f,dowTemplateString:"<th class=\"dijitReset dijitCalendarDayLabelTemplate\" role=\"columnheader\"><span class=\"dijitCalendarDayLabel\">${d}</span></th>",dateTemplateString:"<td class=\"dijitReset\" role=\"gridcell\" data-dojo-attach-point=\"dateCells\"><span class=\"dijitCalendarDateLabel\" data-dojo-attach-point=\"dateLabels\"></span></td>",weekTemplateString:"<tr class=\"dijitReset dijitCalendarWeekTemplate\" role=\"row\">${d}${d}${d}${d}${d}${d}${d}</tr>",value:new Date(""),datePackage:_4,dayWidth:"narrow",tabIndex:"0",currentFocus:new Date(),baseClass:"dijitCalendar",_isValidDate:function(_11){
return _11&&!isNaN(_11)&&typeof _11=="object"&&_11.toString()!=this.constructor.prototype.value.toString();
},_getValueAttr:function(){
if(this.value&&!isNaN(this.value)){
var _12=new this.dateClassObj(this.value);
_12.setHours(0,0,0,0);
if(_12.getDate()<this.value.getDate()){
_12=this.dateFuncObj.add(_12,"hour",1);
}
return _12;
}else{
return null;
}
},_setValueAttr:function(_13,_14){
if(_13){
_13=new this.dateClassObj(_13);
}
if(this._isValidDate(_13)){
if(!this._isValidDate(this.value)||this.dateFuncObj.compare(_13,this.value)){
_13.setHours(1,0,0,0);
if(!this.isDisabledDate(_13,this.lang)){
this._set("value",_13);
this.set("currentFocus",_13);
if(_14||typeof _14=="undefined"){
this.onChange(this.get("value"));
}
}
}
}else{
this._set("value",null);
this.set("currentFocus",this.currentFocus);
}
},_setText:function(_15,_16){
while(_15.firstChild){
_15.removeChild(_15.firstChild);
}
_15.appendChild(_c.doc.createTextNode(_16));
},_populateGrid:function(){
var _17=new this.dateClassObj(this.currentFocus);
_17.setDate(1);
var _18=_17.getDay(),_19=this.dateFuncObj.getDaysInMonth(_17),_1a=this.dateFuncObj.getDaysInMonth(this.dateFuncObj.add(_17,"month",-1)),_1b=new this.dateClassObj(),_1c=_3.getFirstDayOfWeek(this.lang);
if(_1c>_18){
_1c-=7;
}
this._date2cell={};
_1.forEach(this.dateCells,function(_1d,idx){
var i=idx+_1c;
var _1e=new this.dateClassObj(_17),_1f,_20="dijitCalendar",adj=0;
if(i<_18){
_1f=_1a-_18+i+1;
adj=-1;
_20+="Previous";
}else{
if(i>=(_18+_19)){
_1f=i-_18-_19+1;
adj=1;
_20+="Next";
}else{
_1f=i-_18+1;
_20+="Current";
}
}
if(adj){
_1e=this.dateFuncObj.add(_1e,"month",adj);
}
_1e.setDate(_1f);
if(!this.dateFuncObj.compare(_1e,_1b,"date")){
_20="dijitCalendarCurrentDate "+_20;
}
if(this._isSelectedDate(_1e,this.lang)){
_20="dijitCalendarSelectedDate "+_20;
_1d.setAttribute("aria-selected",true);
}else{
_1d.setAttribute("aria-selected",false);
}
if(this.isDisabledDate(_1e,this.lang)){
_20="dijitCalendarDisabledDate "+_20;
_1d.setAttribute("aria-disabled",true);
}else{
_20="dijitCalendarEnabledDate "+_20;
_1d.removeAttribute("aria-disabled");
}
var _21=this.getClassForDate(_1e,this.lang);
if(_21){
_20=_21+" "+_20;
}
_1d.className=_20+"Month dijitCalendarDateTemplate";
var _22=_1e.valueOf();
this._date2cell[_22]=_1d;
_1d.dijitDateValue=_22;
this._setText(this.dateLabels[idx],_1e.getDateLocalized?_1e.getDateLocalized(this.lang):_1e.getDate());
},this);
this.monthWidget.set("month",_17);
var y=_17.getFullYear()-1;
var d=new this.dateClassObj();
_1.forEach(["previous","current","next"],function(_23){
d.setFullYear(y++);
this._setText(this[_23+"YearLabelNode"],this.dateLocaleModule.format(d,{selector:"year",locale:this.lang}));
},this);
},goToToday:function(){
this.set("value",new this.dateClassObj());
},constructor:function(_24){
this.datePackage=_24.datePackage||this.datePackage;
this.dateFuncObj=typeof this.datePackage=="string"?_9.getObject(this.datePackage,false):this.datePackage;
this.dateClassObj=this.dateFuncObj.Date||Date;
this.dateLocaleModule=_9.getObject("locale",false,this.dateFuncObj);
},_createMonthWidget:function(){
return _10._MonthWidget({id:this.id+"_mw",lang:this.lang,dateLocaleModule:this.dateLocaleModule},this.monthNode);
},buildRendering:function(){
var d=this.dowTemplateString,_25=this.dateLocaleModule.getNames("days",this.dayWidth,"standAlone",this.lang),_26=_3.getFirstDayOfWeek(this.lang);
this.dayCellsHtml=_b.substitute([d,d,d,d,d,d,d].join(""),{d:""},function(){
return _25[_26++%7];
});
var r=_b.substitute(this.weekTemplateString,{d:this.dateTemplateString});
this.dateRowsHtml=[r,r,r,r,r,r].join("");
this.dateCells=[];
this.dateLabels=[];
this.inherited(arguments);
_6.setSelectable(this.domNode,false);
var _27=new this.dateClassObj(this.currentFocus);
this._supportingWidgets.push(this.monthWidget=this._createMonthWidget());
this.set("currentFocus",_27,false);
var _28=_9.hitch(this,function(_29,_2a,_2b){
this.connect(this[_29],"onclick",function(){
this._setCurrentFocusAttr(this.dateFuncObj.add(this.currentFocus,_2a,_2b));
});
});
_28("incrementMonth","month",1);
_28("decrementMonth","month",-1);
_28("nextYearLabelNode","year",1);
_28("previousYearLabelNode","year",-1);
},_setCurrentFocusAttr:function(_2c,_2d){
var _2e=this.currentFocus,_2f=_2e&&this._date2cell?this._date2cell[_2e.valueOf()]:null;
_2c=new this.dateClassObj(_2c);
_2c.setHours(1,0,0,0);
this._set("currentFocus",_2c);
this._populateGrid();
var _30=this._date2cell[_2c.valueOf()];
_30.setAttribute("tabIndex",this.tabIndex);
if(this.focused||_2d){
_30.focus();
}
if(_2f&&_2f!=_30){
if(_a("webkit")){
_2f.setAttribute("tabIndex","-1");
}else{
_2f.removeAttribute("tabIndex");
}
}
},focus:function(){
this._setCurrentFocusAttr(this.currentFocus,true);
},_onDayClick:function(evt){
_8.stop(evt);
for(var _31=evt.target;_31&&!_31.dijitDateValue;_31=_31.parentNode){
}
if(_31&&!_7.contains(_31,"dijitCalendarDisabledDate")){
this.set("value",_31.dijitDateValue);
}
},onChange:function(){
},_isSelectedDate:function(_32){
return this._isValidDate(this.value)&&!this.dateFuncObj.compare(_32,this.value,"date");
},isDisabledDate:function(){
},getClassForDate:function(){
}});
_10._MonthWidget=_2("dijit.CalendarLite._MonthWidget",_d,{_setMonthAttr:function(_33){
var _34=this.dateLocaleModule.getNames("months","wide","standAlone",this.lang,_33),_35=(_a("ie")==6?"":"<div class='dijitSpacer'>"+_1.map(_34,function(s){
return "<div>"+s+"</div>";
}).join("")+"</div>");
this.domNode.innerHTML=_35+"<div class='dijitCalendarMonthLabel dijitCalendarCurrentMonthLabel'>"+_34[_33.getMonth()]+"</div>";
}});
return _10;
});

View File

@@ -0,0 +1,16 @@
//>>built
require({cache:{"url:dijit/templates/CheckedMenuItem.html":"<tr class=\"dijitReset dijitMenuItem\" data-dojo-attach-point=\"focusNode\" role=\"menuitemcheckbox\" tabIndex=\"-1\"\n\t\tdata-dojo-attach-event=\"onmouseenter:_onHover,onmouseleave:_onUnhover,ondijitclick:_onClick\">\n\t<td class=\"dijitReset dijitMenuItemIconCell\" role=\"presentation\">\n\t\t<img src=\"${_blankGif}\" alt=\"\" class=\"dijitMenuItemIcon dijitCheckedMenuItemIcon\" data-dojo-attach-point=\"iconNode\"/>\n\t\t<span class=\"dijitCheckedMenuItemIconChar\">&#10003;</span>\n\t</td>\n\t<td class=\"dijitReset dijitMenuItemLabel\" colspan=\"2\" data-dojo-attach-point=\"containerNode,labelNode\"></td>\n\t<td class=\"dijitReset dijitMenuItemAccelKey\" style=\"display: none\" data-dojo-attach-point=\"accelKeyNode\"></td>\n\t<td class=\"dijitReset dijitMenuArrowCell\" role=\"presentation\">&#160;</td>\n</tr>\n"}});
define("dijit/CheckedMenuItem",["dojo/_base/declare","dojo/dom-class","./MenuItem","dojo/text!./templates/CheckedMenuItem.html","./hccss"],function(_1,_2,_3,_4){
return _1("dijit.CheckedMenuItem",_3,{templateString:_4,checked:false,_setCheckedAttr:function(_5){
_2.toggle(this.domNode,"dijitCheckedMenuItemChecked",_5);
this.domNode.setAttribute("aria-checked",_5);
this._set("checked",_5);
},iconClass:"",onChange:function(){
},_onClick:function(e){
if(!this.disabled){
this.set("checked",!this.checked);
this.onChange(this.checked);
}
this.inherited(arguments);
}});
});

View File

@@ -0,0 +1,23 @@
//>>built
require({cache:{"url:dijit/templates/ColorPalette.html":"<div class=\"dijitInline dijitColorPalette\">\n\t<table dojoAttachPoint=\"paletteTableNode\" class=\"dijitPaletteTable\" cellSpacing=\"0\" cellPadding=\"0\" role=\"grid\">\n\t\t<tbody data-dojo-attach-point=\"gridNode\"></tbody>\n\t</table>\n</div>\n"}});
define("dijit/ColorPalette",["require","dojo/text!./templates/ColorPalette.html","./_Widget","./_TemplatedMixin","./_PaletteMixin","dojo/i18n","dojo/_base/Color","dojo/_base/declare","dojo/dom-class","dojo/dom-construct","dojo/_base/window","dojo/string","dojo/i18n!dojo/nls/colors","dojo/colors"],function(_1,_2,_3,_4,_5,_6,_7,_8,_9,_a,_b,_c){
var _d=_8("dijit.ColorPalette",[_3,_4,_5],{palette:"7x10",_palettes:{"7x10":[["white","seashell","cornsilk","lemonchiffon","lightyellow","palegreen","paleturquoise","lightcyan","lavender","plum"],["lightgray","pink","bisque","moccasin","khaki","lightgreen","lightseagreen","lightskyblue","cornflowerblue","violet"],["silver","lightcoral","sandybrown","orange","palegoldenrod","chartreuse","mediumturquoise","skyblue","mediumslateblue","orchid"],["gray","red","orangered","darkorange","yellow","limegreen","darkseagreen","royalblue","slateblue","mediumorchid"],["dimgray","crimson","chocolate","coral","gold","forestgreen","seagreen","blue","blueviolet","darkorchid"],["darkslategray","firebrick","saddlebrown","sienna","olive","green","darkcyan","mediumblue","darkslateblue","darkmagenta"],["black","darkred","maroon","brown","darkolivegreen","darkgreen","midnightblue","navy","indigo","purple"]],"3x4":[["white","lime","green","blue"],["silver","yellow","fuchsia","navy"],["gray","red","purple","black"]]},templateString:_2,baseClass:"dijitColorPalette",_dyeFactory:function(_e,_f,col){
return new this._dyeClass(_e,_f,col);
},buildRendering:function(){
this.inherited(arguments);
this._dyeClass=_8(_d._Color,{hc:_9.contains(_b.body(),"dijit_a11y"),palette:this.palette});
this._preparePalette(this._palettes[this.palette],_6.getLocalization("dojo","colors",this.lang));
}});
_d._Color=_8("dijit._Color",_7,{template:"<span class='dijitInline dijitPaletteImg'>"+"<img src='${blankGif}' alt='${alt}' class='dijitColorPaletteSwatch' style='background-color: ${color}'/>"+"</span>",hcTemplate:"<span class='dijitInline dijitPaletteImg' style='position: relative; overflow: hidden; height: 12px; width: 14px;'>"+"<img src='${image}' alt='${alt}' style='position: absolute; left: ${left}px; top: ${top}px; ${size}'/>"+"</span>",_imagePaths:{"7x10":_1.toUrl("./themes/a11y/colors7x10.png"),"3x4":_1.toUrl("./themes/a11y/colors3x4.png")},constructor:function(_10,row,col){
this._alias=_10;
this._row=row;
this._col=col;
this.setColor(_7.named[_10]);
},getValue:function(){
return this.toHex();
},fillCell:function(_11,_12){
var _13=_c.substitute(this.hc?this.hcTemplate:this.template,{color:this.toHex(),blankGif:_12,alt:this._alias,image:this._imagePaths[this.palette].toString(),left:this._col*-20-5,top:this._row*-20-5,size:this.palette=="7x10"?"height: 145px; width: 206px":"height: 64px; width: 86px"});
_a.place(_13,_11);
}});
return _d;
});

View File

@@ -0,0 +1,25 @@
//>>built
define("dijit/Declaration",["dojo/_base/array","dojo/_base/connect","dojo/_base/declare","dojo/_base/lang","dojo/parser","dojo/query","./_Widget","./_TemplatedMixin","./_WidgetsInTemplateMixin","dojo/NodeList-dom"],function(_1,_2,_3,_4,_5,_6,_7,_8,_9){
return _3("dijit.Declaration",_7,{_noScript:true,stopParser:true,widgetClass:"",defaults:null,mixins:[],buildRendering:function(){
var _a=this.srcNodeRef.parentNode.removeChild(this.srcNodeRef),_b=_6("> script[type^='dojo/method']",_a).orphan(),_c=_6("> script[type^='dojo/connect']",_a).orphan(),_d=_a.nodeName;
var _e=this.defaults||{};
_1.forEach(_b,function(s){
var _f=s.getAttribute("event")||s.getAttribute("data-dojo-event"),_10=_5._functionFromScript(s);
if(_f){
_e[_f]=_10;
}else{
_c.push(s);
}
});
this.mixins=this.mixins.length?_1.map(this.mixins,function(_11){
return _4.getObject(_11);
}):[_7,_8,_9];
_e._skipNodeCache=true;
_e.templateString="<"+_d+" class='"+_a.className+"'"+" data-dojo-attach-point='"+(_a.getAttribute("data-dojo-attach-point")||_a.getAttribute("dojoAttachPoint")||"")+"' data-dojo-attach-event='"+(_a.getAttribute("data-dojo-attach-event")||_a.getAttribute("dojoAttachEvent")||"")+"' >"+_a.innerHTML.replace(/\%7B/g,"{").replace(/\%7D/g,"}")+"</"+_d+">";
var wc=_3(this.widgetClass,this.mixins,_e);
_1.forEach(_c,function(s){
var evt=s.getAttribute("event")||s.getAttribute("data-dojo-event")||"postscript",_12=_5._functionFromScript(s);
_2.connect(wc.prototype,evt,_12);
});
}});
});

View File

@@ -0,0 +1,269 @@
//>>built
require({cache:{"url:dijit/templates/Dialog.html":"<div class=\"dijitDialog\" role=\"dialog\" aria-labelledby=\"${id}_title\">\n\t<div data-dojo-attach-point=\"titleBar\" class=\"dijitDialogTitleBar\">\n\t<span data-dojo-attach-point=\"titleNode\" class=\"dijitDialogTitle\" id=\"${id}_title\"></span>\n\t<span data-dojo-attach-point=\"closeButtonNode\" class=\"dijitDialogCloseIcon\" data-dojo-attach-event=\"ondijitclick: onCancel\" title=\"${buttonCancel}\" role=\"button\" tabIndex=\"-1\">\n\t\t<span data-dojo-attach-point=\"closeText\" class=\"closeText\" title=\"${buttonCancel}\">x</span>\n\t</span>\n\t</div>\n\t\t<div data-dojo-attach-point=\"containerNode\" class=\"dijitDialogPaneContent\"></div>\n</div>\n"}});
define("dijit/Dialog",["require","dojo/_base/array","dojo/_base/connect","dojo/_base/declare","dojo/_base/Deferred","dojo/dom","dojo/dom-class","dojo/dom-geometry","dojo/dom-style","dojo/_base/event","dojo/_base/fx","dojo/i18n","dojo/_base/kernel","dojo/keys","dojo/_base/lang","dojo/on","dojo/ready","dojo/_base/sniff","dojo/_base/window","dojo/window","dojo/dnd/Moveable","dojo/dnd/TimedMoveable","./focus","./_base/manager","./_Widget","./_TemplatedMixin","./_CssStateMixin","./form/_FormMixin","./_DialogMixin","./DialogUnderlay","./layout/ContentPane","dojo/text!./templates/Dialog.html",".","dojo/i18n!./nls/common"],function(_1,_2,_3,_4,_5,_6,_7,_8,_9,_a,fx,_b,_c,_d,_e,on,_f,has,win,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19,_1a,_1b,_1c,_1d){
var _1e=_4("dijit._DialogBase",[_16,_18,_19,_17],{templateString:_1c,baseClass:"dijitDialog",cssStateNodes:{closeButtonNode:"dijitDialogCloseIcon"},_setTitleAttr:[{node:"titleNode",type:"innerHTML"},{node:"titleBar",type:"attribute"}],open:false,duration:_14.defaultDuration,refocus:true,autofocus:true,_firstFocusItem:null,_lastFocusItem:null,doLayout:false,draggable:true,"aria-describedby":"",postMixInProperties:function(){
var _1f=_b.getLocalization("dijit","common");
_e.mixin(this,_1f);
this.inherited(arguments);
},postCreate:function(){
_9.set(this.domNode,{display:"none",position:"absolute"});
win.body().appendChild(this.domNode);
this.inherited(arguments);
this.connect(this,"onExecute","hide");
this.connect(this,"onCancel","hide");
this._modalconnects=[];
},onLoad:function(){
this._position();
if(this.autofocus&&_20.isTop(this)){
this._getFocusItems(this.domNode);
_13.focus(this._firstFocusItem);
}
this.inherited(arguments);
},_endDrag:function(){
var _21=_8.position(this.domNode),_22=_10.getBox();
_21.y=Math.min(Math.max(_21.y,0),(_22.h-_21.h));
_21.x=Math.min(Math.max(_21.x,0),(_22.w-_21.w));
this._relativePosition=_21;
this._position();
},_setup:function(){
var _23=this.domNode;
if(this.titleBar&&this.draggable){
this._moveable=new ((has("ie")==6)?_12:_11)(_23,{handle:this.titleBar});
this.connect(this._moveable,"onMoveStop","_endDrag");
}else{
_7.add(_23,"dijitDialogFixed");
}
this.underlayAttrs={dialogId:this.id,"class":_2.map(this["class"].split(/\s/),function(s){
return s+"_underlay";
}).join(" ")};
},_size:function(){
this._checkIfSingleChild();
if(this._singleChild){
if(this._singleChildOriginalStyle){
this._singleChild.domNode.style.cssText=this._singleChildOriginalStyle;
}
delete this._singleChildOriginalStyle;
}else{
_9.set(this.containerNode,{width:"auto",height:"auto"});
}
var bb=_8.position(this.domNode);
var _24=_10.getBox();
if(bb.w>=_24.w||bb.h>=_24.h){
var w=Math.min(bb.w,Math.floor(_24.w*0.75)),h=Math.min(bb.h,Math.floor(_24.h*0.75));
if(this._singleChild&&this._singleChild.resize){
this._singleChildOriginalStyle=this._singleChild.domNode.style.cssText;
this._singleChild.resize({w:w,h:h});
}else{
_9.set(this.containerNode,{width:w+"px",height:h+"px",overflow:"auto",position:"relative"});
}
}else{
if(this._singleChild&&this._singleChild.resize){
this._singleChild.resize();
}
}
},_position:function(){
if(!_7.contains(win.body(),"dojoMove")){
var _25=this.domNode,_26=_10.getBox(),p=this._relativePosition,bb=p?null:_8.position(_25),l=Math.floor(_26.l+(p?p.x:(_26.w-bb.w)/2)),t=Math.floor(_26.t+(p?p.y:(_26.h-bb.h)/2));
_9.set(_25,{left:l+"px",top:t+"px"});
}
},_onKey:function(evt){
if(evt.charOrCode){
var _27=evt.target;
if(evt.charOrCode===_d.TAB){
this._getFocusItems(this.domNode);
}
var _28=(this._firstFocusItem==this._lastFocusItem);
if(_27==this._firstFocusItem&&evt.shiftKey&&evt.charOrCode===_d.TAB){
if(!_28){
_13.focus(this._lastFocusItem);
}
_a.stop(evt);
}else{
if(_27==this._lastFocusItem&&evt.charOrCode===_d.TAB&&!evt.shiftKey){
if(!_28){
_13.focus(this._firstFocusItem);
}
_a.stop(evt);
}else{
while(_27){
if(_27==this.domNode||_7.contains(_27,"dijitPopup")){
if(evt.charOrCode==_d.ESCAPE){
this.onCancel();
}else{
return;
}
}
_27=_27.parentNode;
}
if(evt.charOrCode!==_d.TAB){
_a.stop(evt);
}else{
if(!has("opera")){
try{
this._firstFocusItem.focus();
}
catch(e){
}
}
}
}
}
}
},show:function(){
if(this.open){
return;
}
if(!this._started){
this.startup();
}
if(!this._alreadyInitialized){
this._setup();
this._alreadyInitialized=true;
}
if(this._fadeOutDeferred){
this._fadeOutDeferred.cancel();
}
this._modalconnects.push(on(window,"scroll",_e.hitch(this,"layout")));
this._modalconnects.push(on(window,"resize",_e.hitch(this,function(){
var _29=_10.getBox();
if(!this._oldViewport||_29.h!=this._oldViewport.h||_29.w!=this._oldViewport.w){
this.layout();
this._oldViewport=_29;
}
})));
this._modalconnects.push(on(this.domNode,_3._keypress,_e.hitch(this,"_onKey")));
_9.set(this.domNode,{opacity:0,display:""});
this._set("open",true);
this._onShow();
this._size();
this._position();
var _2a;
this._fadeInDeferred=new _5(_e.hitch(this,function(){
_2a.stop();
delete this._fadeInDeferred;
}));
_2a=fx.fadeIn({node:this.domNode,duration:this.duration,beforeBegin:_e.hitch(this,function(){
_20.show(this,this.underlayAttrs);
}),onEnd:_e.hitch(this,function(){
if(this.autofocus&&_20.isTop(this)){
this._getFocusItems(this.domNode);
_13.focus(this._firstFocusItem);
}
this._fadeInDeferred.callback(true);
delete this._fadeInDeferred;
})}).play();
return this._fadeInDeferred;
},hide:function(){
if(!this._alreadyInitialized){
return;
}
if(this._fadeInDeferred){
this._fadeInDeferred.cancel();
}
var _2b;
this._fadeOutDeferred=new _5(_e.hitch(this,function(){
_2b.stop();
delete this._fadeOutDeferred;
}));
this._fadeOutDeferred.then(_e.hitch(this,"onHide"));
_2b=fx.fadeOut({node:this.domNode,duration:this.duration,onEnd:_e.hitch(this,function(){
this.domNode.style.display="none";
_20.hide(this);
this._fadeOutDeferred.callback(true);
delete this._fadeOutDeferred;
})}).play();
if(this._scrollConnected){
this._scrollConnected=false;
}
var h;
while(h=this._modalconnects.pop()){
h.remove();
}
if(this._relativePosition){
delete this._relativePosition;
}
this._set("open",false);
return this._fadeOutDeferred;
},layout:function(){
if(this.domNode.style.display!="none"){
if(_1d._underlay){
_1d._underlay.layout();
}
this._position();
}
},destroy:function(){
if(this._fadeInDeferred){
this._fadeInDeferred.cancel();
}
if(this._fadeOutDeferred){
this._fadeOutDeferred.cancel();
}
if(this._moveable){
this._moveable.destroy();
}
var h;
while(h=this._modalconnects.pop()){
h.remove();
}
_20.hide(this);
this.inherited(arguments);
}});
var _2c=_4("dijit.Dialog",[_1b,_1e],{});
_2c._DialogBase=_1e;
var _20=_2c._DialogLevelManager={_beginZIndex:950,show:function(_2d,_2e){
ds[ds.length-1].focus=_13.curNode;
var _2f=_1d._underlay;
if(!_2f||_2f._destroyed){
_2f=_1d._underlay=new _1a(_2e);
}else{
_2f.set(_2d.underlayAttrs);
}
var _30=ds[ds.length-1].dialog?ds[ds.length-1].zIndex+2:_2c._DialogLevelManager._beginZIndex;
if(ds.length==1){
_2f.show();
}
_9.set(_1d._underlay.domNode,"zIndex",_30-1);
_9.set(_2d.domNode,"zIndex",_30);
ds.push({dialog:_2d,underlayAttrs:_2e,zIndex:_30});
},hide:function(_31){
if(ds[ds.length-1].dialog==_31){
ds.pop();
var pd=ds[ds.length-1];
if(ds.length==1){
if(!_1d._underlay._destroyed){
_1d._underlay.hide();
}
}else{
_9.set(_1d._underlay.domNode,"zIndex",pd.zIndex-1);
_1d._underlay.set(pd.underlayAttrs);
}
if(_31.refocus){
var _32=pd.focus;
if(pd.dialog&&(!_32||!_6.isDescendant(_32,pd.dialog.domNode))){
pd.dialog._getFocusItems(pd.dialog.domNode);
_32=pd.dialog._firstFocusItem;
}
if(_32){
_32.focus();
}
}
}else{
var idx=_2.indexOf(_2.map(ds,function(_33){
return _33.dialog;
}),_31);
if(idx!=-1){
ds.splice(idx,1);
}
}
},isTop:function(_34){
return ds[ds.length-1].dialog==_34;
}};
var ds=_2c._dialogStack=[{dialog:null,focus:null,underlayAttrs:null}];
if(!_c.isAsync){
_f(0,function(){
var _35=["dijit/TooltipDialog"];
_1(_35);
});
}
return _2c;
});

View File

@@ -0,0 +1,29 @@
//>>built
define("dijit/DialogUnderlay",["dojo/_base/declare","dojo/dom-attr","dojo/_base/window","dojo/window","./_Widget","./_TemplatedMixin","./BackgroundIframe"],function(_1,_2,_3,_4,_5,_6,_7){
return _1("dijit.DialogUnderlay",[_5,_6],{templateString:"<div class='dijitDialogUnderlayWrapper'><div class='dijitDialogUnderlay' data-dojo-attach-point='node'></div></div>",dialogId:"","class":"",_setDialogIdAttr:function(id){
_2.set(this.node,"id",id+"_underlay");
this._set("dialogId",id);
},_setClassAttr:function(_8){
this.node.className="dijitDialogUnderlay "+_8;
this._set("class",_8);
},postCreate:function(){
_3.body().appendChild(this.domNode);
},layout:function(){
var is=this.node.style,os=this.domNode.style;
os.display="none";
var _9=_4.getBox();
os.top=_9.t+"px";
os.left=_9.l+"px";
is.width=_9.w+"px";
is.height=_9.h+"px";
os.display="block";
},show:function(){
this.domNode.style.display="block";
this.layout();
this.bgIframe=new _7(this.domNode);
},hide:function(){
this.bgIframe.destroy();
delete this.bgIframe;
this.domNode.style.display="none";
}});
});

View File

@@ -0,0 +1,31 @@
//>>built
require({cache:{"url:dijit/templates/Menu.html":"<table class=\"dijit dijitMenu dijitMenuPassive dijitReset dijitMenuTable\" role=\"menu\" tabIndex=\"${tabIndex}\" data-dojo-attach-event=\"onkeypress:_onKeyPress\" cellspacing=\"0\">\n\t<tbody class=\"dijitReset\" data-dojo-attach-point=\"containerNode\"></tbody>\n</table>\n"}});
define("dijit/DropDownMenu",["dojo/_base/declare","dojo/_base/event","dojo/keys","dojo/text!./templates/Menu.html","./_OnDijitClickMixin","./_MenuBase"],function(_1,_2,_3,_4,_5,_6){
return _1("dijit.DropDownMenu",[_6,_5],{templateString:_4,baseClass:"dijitMenu",postCreate:function(){
var l=this.isLeftToRight();
this._openSubMenuKey=l?_3.RIGHT_ARROW:_3.LEFT_ARROW;
this._closeSubMenuKey=l?_3.LEFT_ARROW:_3.RIGHT_ARROW;
this.connectKeyNavHandlers([_3.UP_ARROW],[_3.DOWN_ARROW]);
},_onKeyPress:function(_7){
if(_7.ctrlKey||_7.altKey){
return;
}
switch(_7.charOrCode){
case this._openSubMenuKey:
this._moveToPopup(_7);
_2.stop(_7);
break;
case this._closeSubMenuKey:
if(this.parentMenu){
if(this.parentMenu._isMenuBar){
this.parentMenu.focusPrev();
}else{
this.onCancel(false);
}
}else{
_2.stop(_7);
}
break;
}
}});
});

View File

@@ -0,0 +1,459 @@
//>>built
define("dijit/Editor",["dojo/_base/array","dojo/_base/declare","dojo/_base/Deferred","dojo/i18n","dojo/dom-attr","dojo/dom-class","dojo/dom-geometry","dojo/dom-style","dojo/_base/event","dojo/keys","dojo/_base/lang","dojo/_base/sniff","dojo/string","dojo/topic","dojo/_base/window","./_base/focus","./_Container","./Toolbar","./ToolbarSeparator","./layout/_LayoutWidget","./form/ToggleButton","./_editor/_Plugin","./_editor/plugins/EnterKeyHandling","./_editor/html","./_editor/range","./_editor/RichText",".","dojo/i18n!./_editor/nls/commands"],function(_1,_2,_3,_4,_5,_6,_7,_8,_9,_a,_b,_c,_d,_e,_f,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19,_1a,_1b){
var _1c=_2("dijit.Editor",_1a,{plugins:null,extraPlugins:null,constructor:function(){
if(!_b.isArray(this.plugins)){
this.plugins=["undo","redo","|","cut","copy","paste","|","bold","italic","underline","strikethrough","|","insertOrderedList","insertUnorderedList","indent","outdent","|","justifyLeft","justifyRight","justifyCenter","justifyFull",_17];
}
this._plugins=[];
this._editInterval=this.editActionInterval*1000;
if(_c("ie")){
this.events.push("onBeforeDeactivate");
this.events.push("onBeforeActivate");
}
},postMixInProperties:function(){
this.setValueDeferred=new _3();
this.inherited(arguments);
},postCreate:function(){
this._steps=this._steps.slice(0);
this._undoedSteps=this._undoedSteps.slice(0);
if(_b.isArray(this.extraPlugins)){
this.plugins=this.plugins.concat(this.extraPlugins);
}
this.inherited(arguments);
this.commands=_4.getLocalization("dijit._editor","commands",this.lang);
if(!this.toolbar){
this.toolbar=new _12({dir:this.dir,lang:this.lang});
this.header.appendChild(this.toolbar.domNode);
}
_1.forEach(this.plugins,this.addPlugin,this);
this.setValueDeferred.callback(true);
_6.add(this.iframe.parentNode,"dijitEditorIFrameContainer");
_6.add(this.iframe,"dijitEditorIFrame");
_5.set(this.iframe,"allowTransparency",true);
if(_c("webkit")){
_8.set(this.domNode,"KhtmlUserSelect","none");
}
this.toolbar.startup();
this.onNormalizedDisplayChanged();
},destroy:function(){
_1.forEach(this._plugins,function(p){
if(p&&p.destroy){
p.destroy();
}
});
this._plugins=[];
this.toolbar.destroyRecursive();
delete this.toolbar;
this.inherited(arguments);
},addPlugin:function(_1d,_1e){
var _1f=_b.isString(_1d)?{name:_1d}:_b.isFunction(_1d)?{ctor:_1d}:_1d;
if(!_1f.setEditor){
var o={"args":_1f,"plugin":null,"editor":this};
if(_1f.name){
if(_16.registry[_1f.name]){
o.plugin=_16.registry[_1f.name](_1f);
}else{
_e.publish(_1b._scopeName+".Editor.getPlugin",o);
}
}
if(!o.plugin){
var pc=_1f.ctor||_b.getObject(_1f.name);
if(pc){
o.plugin=new pc(_1f);
}
}
if(!o.plugin){
console.warn("Cannot find plugin",_1d);
return;
}
_1d=o.plugin;
}
if(arguments.length>1){
this._plugins[_1e]=_1d;
}else{
this._plugins.push(_1d);
}
_1d.setEditor(this);
if(_b.isFunction(_1d.setToolbar)){
_1d.setToolbar(this.toolbar);
}
},resize:function(_20){
if(_20){
_14.prototype.resize.apply(this,arguments);
}
},layout:function(){
var _21=(this._contentBox.h-(this.getHeaderHeight()+this.getFooterHeight()+_7.getPadBorderExtents(this.iframe.parentNode).h+_7.getMarginExtents(this.iframe.parentNode).h));
this.editingArea.style.height=_21+"px";
if(this.iframe){
this.iframe.style.height="100%";
}
this._layoutMode=true;
},_onIEMouseDown:function(e){
var _22;
var b=this.document.body;
var _23=b.clientWidth;
var _24=b.clientHeight;
var _25=b.clientLeft;
var _26=b.offsetWidth;
var _27=b.offsetHeight;
var _28=b.offsetLeft;
if(/^rtl$/i.test(b.dir||"")){
if(_23<_26&&e.x>_23&&e.x<_26){
_22=true;
}
}else{
if(e.x<_25&&e.x>_28){
_22=true;
}
}
if(!_22){
if(_24<_27&&e.y>_24&&e.y<_27){
_22=true;
}
}
if(!_22){
delete this._cursorToStart;
delete this._savedSelection;
if(e.target.tagName=="BODY"){
setTimeout(_b.hitch(this,"placeCursorAtEnd"),0);
}
this.inherited(arguments);
}
},onBeforeActivate:function(){
this._restoreSelection();
},onBeforeDeactivate:function(e){
if(this.customUndo){
this.endEditing(true);
}
if(e.target.tagName!="BODY"){
this._saveSelection();
}
},customUndo:true,editActionInterval:3,beginEditing:function(cmd){
if(!this._inEditing){
this._inEditing=true;
this._beginEditing(cmd);
}
if(this.editActionInterval>0){
if(this._editTimer){
clearTimeout(this._editTimer);
}
this._editTimer=setTimeout(_b.hitch(this,this.endEditing),this._editInterval);
}
},_steps:[],_undoedSteps:[],execCommand:function(cmd){
if(this.customUndo&&(cmd=="undo"||cmd=="redo")){
return this[cmd]();
}else{
if(this.customUndo){
this.endEditing();
this._beginEditing();
}
var r=this.inherited(arguments);
if(this.customUndo){
this._endEditing();
}
return r;
}
},_pasteImpl:function(){
return this._clipboardCommand("paste");
},_cutImpl:function(){
return this._clipboardCommand("cut");
},_copyImpl:function(){
return this._clipboardCommand("copy");
},_clipboardCommand:function(cmd){
var r;
try{
r=this.document.execCommand(cmd,false,null);
if(_c("webkit")&&!r){
throw {code:1011};
}
}
catch(e){
if(e.code==1011){
var sub=_d.substitute,_29={cut:"X",copy:"C",paste:"V"};
alert(sub(this.commands.systemShortcut,[this.commands[cmd],sub(this.commands[_c("mac")?"appleKey":"ctrlKey"],[_29[cmd]])]));
}
r=false;
}
return r;
},queryCommandEnabled:function(cmd){
if(this.customUndo&&(cmd=="undo"||cmd=="redo")){
return cmd=="undo"?(this._steps.length>1):(this._undoedSteps.length>0);
}else{
return this.inherited(arguments);
}
},_moveToBookmark:function(b){
var _2a=b.mark;
var _2b=b.mark;
var col=b.isCollapsed;
var r,_2c,_2d,sel;
if(_2b){
if(_c("ie")<9){
if(_b.isArray(_2b)){
_2a=[];
_1.forEach(_2b,function(n){
_2a.push(_19.getNode(n,this.editNode));
},this);
_f.withGlobal(this.window,"moveToBookmark",_1b,[{mark:_2a,isCollapsed:col}]);
}else{
if(_2b.startContainer&&_2b.endContainer){
sel=_19.getSelection(this.window);
if(sel&&sel.removeAllRanges){
sel.removeAllRanges();
r=_19.create(this.window);
_2c=_19.getNode(_2b.startContainer,this.editNode);
_2d=_19.getNode(_2b.endContainer,this.editNode);
if(_2c&&_2d){
r.setStart(_2c,_2b.startOffset);
r.setEnd(_2d,_2b.endOffset);
sel.addRange(r);
}
}
}
}
}else{
sel=_19.getSelection(this.window);
if(sel&&sel.removeAllRanges){
sel.removeAllRanges();
r=_19.create(this.window);
_2c=_19.getNode(_2b.startContainer,this.editNode);
_2d=_19.getNode(_2b.endContainer,this.editNode);
if(_2c&&_2d){
r.setStart(_2c,_2b.startOffset);
r.setEnd(_2d,_2b.endOffset);
sel.addRange(r);
}
}
}
}
},_changeToStep:function(_2e,to){
this.setValue(to.text);
var b=to.bookmark;
if(!b){
return;
}
this._moveToBookmark(b);
},undo:function(){
var ret=false;
if(!this._undoRedoActive){
this._undoRedoActive=true;
this.endEditing(true);
var s=this._steps.pop();
if(s&&this._steps.length>0){
this.focus();
this._changeToStep(s,this._steps[this._steps.length-1]);
this._undoedSteps.push(s);
this.onDisplayChanged();
delete this._undoRedoActive;
ret=true;
}
delete this._undoRedoActive;
}
return ret;
},redo:function(){
var ret=false;
if(!this._undoRedoActive){
this._undoRedoActive=true;
this.endEditing(true);
var s=this._undoedSteps.pop();
if(s&&this._steps.length>0){
this.focus();
this._changeToStep(this._steps[this._steps.length-1],s);
this._steps.push(s);
this.onDisplayChanged();
ret=true;
}
delete this._undoRedoActive;
}
return ret;
},endEditing:function(_2f){
if(this._editTimer){
clearTimeout(this._editTimer);
}
if(this._inEditing){
this._endEditing(_2f);
this._inEditing=false;
}
},_getBookmark:function(){
var b=_f.withGlobal(this.window,_10.getBookmark);
var tmp=[];
if(b&&b.mark){
var _30=b.mark;
if(_c("ie")<9){
var sel=_19.getSelection(this.window);
if(!_b.isArray(_30)){
if(sel){
var _31;
if(sel.rangeCount){
_31=sel.getRangeAt(0);
}
if(_31){
b.mark=_31.cloneRange();
}else{
b.mark=_f.withGlobal(this.window,_10.getBookmark);
}
}
}else{
_1.forEach(b.mark,function(n){
tmp.push(_19.getIndex(n,this.editNode).o);
},this);
b.mark=tmp;
}
}
try{
if(b.mark&&b.mark.startContainer){
tmp=_19.getIndex(b.mark.startContainer,this.editNode).o;
b.mark={startContainer:tmp,startOffset:b.mark.startOffset,endContainer:b.mark.endContainer===b.mark.startContainer?tmp:_19.getIndex(b.mark.endContainer,this.editNode).o,endOffset:b.mark.endOffset};
}
}
catch(e){
b.mark=null;
}
}
return b;
},_beginEditing:function(){
if(this._steps.length===0){
this._steps.push({"text":_18.getChildrenHtml(this.editNode),"bookmark":this._getBookmark()});
}
},_endEditing:function(){
var v=_18.getChildrenHtml(this.editNode);
this._undoedSteps=[];
this._steps.push({text:v,bookmark:this._getBookmark()});
},onKeyDown:function(e){
if(!_c("ie")&&!this.iframe&&e.keyCode==_a.TAB&&!this.tabIndent){
this._saveSelection();
}
if(!this.customUndo){
this.inherited(arguments);
return;
}
var k=e.keyCode;
if(e.ctrlKey&&!e.altKey){
if(k==90||k==122){
_9.stop(e);
this.undo();
return;
}else{
if(k==89||k==121){
_9.stop(e);
this.redo();
return;
}
}
}
this.inherited(arguments);
switch(k){
case _a.ENTER:
case _a.BACKSPACE:
case _a.DELETE:
this.beginEditing();
break;
case 88:
case 86:
if(e.ctrlKey&&!e.altKey&&!e.metaKey){
this.endEditing();
if(e.keyCode==88){
this.beginEditing("cut");
setTimeout(_b.hitch(this,this.endEditing),1);
}else{
this.beginEditing("paste");
setTimeout(_b.hitch(this,this.endEditing),1);
}
break;
}
default:
if(!e.ctrlKey&&!e.altKey&&!e.metaKey&&(e.keyCode<_a.F1||e.keyCode>_a.F15)){
this.beginEditing();
break;
}
case _a.ALT:
this.endEditing();
break;
case _a.UP_ARROW:
case _a.DOWN_ARROW:
case _a.LEFT_ARROW:
case _a.RIGHT_ARROW:
case _a.HOME:
case _a.END:
case _a.PAGE_UP:
case _a.PAGE_DOWN:
this.endEditing(true);
break;
case _a.CTRL:
case _a.SHIFT:
case _a.TAB:
break;
}
},_onBlur:function(){
this.inherited(arguments);
this.endEditing(true);
},_saveSelection:function(){
try{
this._savedSelection=this._getBookmark();
}
catch(e){
}
},_restoreSelection:function(){
if(this._savedSelection){
delete this._cursorToStart;
if(_f.withGlobal(this.window,"isCollapsed",_1b)){
this._moveToBookmark(this._savedSelection);
}
delete this._savedSelection;
}
},onClick:function(){
this.endEditing(true);
this.inherited(arguments);
},replaceValue:function(_32){
if(!this.customUndo){
this.inherited(arguments);
}else{
if(this.isClosed){
this.setValue(_32);
}else{
this.beginEditing();
if(!_32){
_32="&#160;";
}
this.setValue(_32);
this.endEditing();
}
}
},_setDisabledAttr:function(_33){
var _34=_b.hitch(this,function(){
if((!this.disabled&&_33)||(!this._buttonEnabledPlugins&&_33)){
_1.forEach(this._plugins,function(p){
p.set("disabled",true);
});
}else{
if(this.disabled&&!_33){
_1.forEach(this._plugins,function(p){
p.set("disabled",false);
});
}
}
});
this.setValueDeferred.addCallback(_34);
this.inherited(arguments);
},_setStateClass:function(){
try{
this.inherited(arguments);
if(this.document&&this.document.body){
_8.set(this.document.body,"color",_8.get(this.iframe,"color"));
}
}
catch(e){
}
}});
function _35(_36){
return new _16({command:_36.name});
};
function _37(_38){
return new _16({buttonClass:_15,command:_38.name});
};
_b.mixin(_16.registry,{"undo":_35,"redo":_35,"cut":_35,"copy":_35,"paste":_35,"insertOrderedList":_35,"insertUnorderedList":_35,"indent":_35,"outdent":_35,"justifyCenter":_35,"justifyFull":_35,"justifyLeft":_35,"justifyRight":_35,"delete":_35,"selectAll":_35,"removeFormat":_35,"unlink":_35,"insertHorizontalRule":_35,"bold":_37,"italic":_37,"underline":_37,"strikethrough":_37,"subscript":_37,"superscript":_37,"|":function(){
return new _16({button:new _13(),setEditor:function(_39){
this.editor=_39;
}});
}});
return _1c;
});

View File

@@ -0,0 +1,235 @@
//>>built
require({cache:{"url:dijit/templates/InlineEditBox.html":"<span data-dojo-attach-point=\"editNode\" role=\"presentation\" style=\"position: absolute; visibility:hidden\" class=\"dijitReset dijitInline\"\n\tdata-dojo-attach-event=\"onkeypress: _onKeyPress\"\n\t><span data-dojo-attach-point=\"editorPlaceholder\"></span\n\t><span data-dojo-attach-point=\"buttonContainer\"\n\t\t><button data-dojo-type=\"dijit.form.Button\" data-dojo-props=\"label: '${buttonSave}', 'class': 'saveButton'\"\n\t\t\tdata-dojo-attach-point=\"saveButton\" data-dojo-attach-event=\"onClick:save\"></button\n\t\t><button data-dojo-type=\"dijit.form.Button\" data-dojo-props=\"label: '${buttonCancel}', 'class': 'cancelButton'\"\n\t\t\tdata-dojo-attach-point=\"cancelButton\" data-dojo-attach-event=\"onClick:cancel\"></button\n\t></span\n></span>\n"}});
define("dijit/InlineEditBox",["dojo/_base/array","dojo/_base/declare","dojo/dom-attr","dojo/dom-class","dojo/dom-construct","dojo/dom-style","dojo/_base/event","dojo/i18n","dojo/_base/kernel","dojo/keys","dojo/_base/lang","dojo/_base/sniff","./focus","./_Widget","./_TemplatedMixin","./_WidgetsInTemplateMixin","./_Container","./form/Button","./form/_TextBoxMixin","./form/TextBox","dojo/text!./templates/InlineEditBox.html","dojo/i18n!./nls/common"],function(_1,_2,_3,_4,_5,_6,_7,_8,_9,_a,_b,_c,fm,_d,_e,_f,_10,_11,_12,_13,_14){
var _15=_2("dijit._InlineEditor",[_d,_e,_f],{templateString:_14,postMixInProperties:function(){
this.inherited(arguments);
this.messages=_8.getLocalization("dijit","common",this.lang);
_1.forEach(["buttonSave","buttonCancel"],function(_16){
if(!this[_16]){
this[_16]=this.messages[_16];
}
},this);
},buildRendering:function(){
this.inherited(arguments);
var cls=typeof this.editor=="string"?_b.getObject(this.editor):this.editor;
var _17=this.sourceStyle,_18="line-height:"+_17.lineHeight+";",_19=_6.getComputedStyle(this.domNode);
_1.forEach(["Weight","Family","Size","Style"],function(_1a){
var _1b=_17["font"+_1a],_1c=_19["font"+_1a];
if(_1c!=_1b){
_18+="font-"+_1a+":"+_17["font"+_1a]+";";
}
},this);
_1.forEach(["marginTop","marginBottom","marginLeft","marginRight"],function(_1d){
this.domNode.style[_1d]=_17[_1d];
},this);
var _1e=this.inlineEditBox.width;
if(_1e=="100%"){
_18+="width:100%;";
this.domNode.style.display="block";
}else{
_18+="width:"+(_1e+(Number(_1e)==_1e?"px":""))+";";
}
var _1f=_b.delegate(this.inlineEditBox.editorParams,{style:_18,dir:this.dir,lang:this.lang,textDir:this.textDir});
_1f["displayedValue" in cls.prototype?"displayedValue":"value"]=this.value;
this.editWidget=new cls(_1f,this.editorPlaceholder);
if(this.inlineEditBox.autoSave){
_5.destroy(this.buttonContainer);
}
},postCreate:function(){
this.inherited(arguments);
var ew=this.editWidget;
if(this.inlineEditBox.autoSave){
this.connect(ew,"onChange","_onChange");
this.connect(ew,"onKeyPress","_onKeyPress");
}else{
if("intermediateChanges" in ew){
ew.set("intermediateChanges",true);
this.connect(ew,"onChange","_onIntermediateChange");
this.saveButton.set("disabled",true);
}
}
},_onIntermediateChange:function(){
this.saveButton.set("disabled",(this.getValue()==this._resetValue)||!this.enableSave());
},destroy:function(){
this.editWidget.destroy(true);
this.inherited(arguments);
},getValue:function(){
var ew=this.editWidget;
return String(ew.get("displayedValue" in ew?"displayedValue":"value"));
},_onKeyPress:function(e){
if(this.inlineEditBox.autoSave&&this.inlineEditBox.editing){
if(e.altKey||e.ctrlKey){
return;
}
if(e.charOrCode==_a.ESCAPE){
_7.stop(e);
this.cancel(true);
}else{
if(e.charOrCode==_a.ENTER&&e.target.tagName=="INPUT"){
_7.stop(e);
this._onChange();
}
}
}
},_onBlur:function(){
this.inherited(arguments);
if(this.inlineEditBox.autoSave&&this.inlineEditBox.editing){
if(this.getValue()==this._resetValue){
this.cancel(false);
}else{
if(this.enableSave()){
this.save(false);
}
}
}
},_onChange:function(){
if(this.inlineEditBox.autoSave&&this.inlineEditBox.editing&&this.enableSave()){
fm.focus(this.inlineEditBox.displayNode);
}
},enableSave:function(){
return (this.editWidget.isValid?this.editWidget.isValid():true);
},focus:function(){
this.editWidget.focus();
setTimeout(_b.hitch(this,function(){
if(this.editWidget.focusNode&&this.editWidget.focusNode.tagName=="INPUT"){
_12.selectInputText(this.editWidget.focusNode);
}
}),0);
}});
var _20=_2("dijit.InlineEditBox",_d,{editing:false,autoSave:true,buttonSave:"",buttonCancel:"",renderAsHtml:false,editor:_13,editorWrapper:_15,editorParams:{},disabled:false,onChange:function(){
},onCancel:function(){
},width:"100%",value:"",noValueIndicator:_c("ie")<=6?"<span style='font-family: wingdings; text-decoration: underline;'>&#160;&#160;&#160;&#160;&#x270d;&#160;&#160;&#160;&#160;</span>":"<span style='text-decoration: underline;'>&#160;&#160;&#160;&#160;&#x270d;&#160;&#160;&#160;&#160;</span>",constructor:function(){
this.editorParams={};
},postMixInProperties:function(){
this.inherited(arguments);
this.displayNode=this.srcNodeRef;
var _21={ondijitclick:"_onClick",onmouseover:"_onMouseOver",onmouseout:"_onMouseOut",onfocus:"_onMouseOver",onblur:"_onMouseOut"};
for(var _22 in _21){
this.connect(this.displayNode,_22,_21[_22]);
}
this.displayNode.setAttribute("role","button");
if(!this.displayNode.getAttribute("tabIndex")){
this.displayNode.setAttribute("tabIndex",0);
}
if(!this.value&&!("value" in this.params)){
this.value=_b.trim(this.renderAsHtml?this.displayNode.innerHTML:(this.displayNode.innerText||this.displayNode.textContent||""));
}
if(!this.value){
this.displayNode.innerHTML=this.noValueIndicator;
}
_4.add(this.displayNode,"dijitInlineEditBoxDisplayMode");
},setDisabled:function(_23){
_9.deprecated("dijit.InlineEditBox.setDisabled() is deprecated. Use set('disabled', bool) instead.","","2.0");
this.set("disabled",_23);
},_setDisabledAttr:function(_24){
this.domNode.setAttribute("aria-disabled",_24);
if(_24){
this.displayNode.removeAttribute("tabIndex");
}else{
this.displayNode.setAttribute("tabIndex",0);
}
_4.toggle(this.displayNode,"dijitInlineEditBoxDisplayModeDisabled",_24);
this._set("disabled",_24);
},_onMouseOver:function(){
if(!this.disabled){
_4.add(this.displayNode,"dijitInlineEditBoxDisplayModeHover");
}
},_onMouseOut:function(){
_4.remove(this.displayNode,"dijitInlineEditBoxDisplayModeHover");
},_onClick:function(e){
if(this.disabled){
return;
}
if(e){
_7.stop(e);
}
this._onMouseOut();
setTimeout(_b.hitch(this,"edit"),0);
},edit:function(){
if(this.disabled||this.editing){
return;
}
this._set("editing",true);
this._savedPosition=_6.get(this.displayNode,"position")||"static";
this._savedOpacity=_6.get(this.displayNode,"opacity")||"1";
this._savedTabIndex=_3.get(this.displayNode,"tabIndex")||"0";
if(this.wrapperWidget){
var ew=this.wrapperWidget.editWidget;
ew.set("displayedValue" in ew?"displayedValue":"value",this.value);
}else{
var _25=_5.create("span",null,this.domNode,"before");
var ewc=typeof this.editorWrapper=="string"?_b.getObject(this.editorWrapper):this.editorWrapper;
this.wrapperWidget=new ewc({value:this.value,buttonSave:this.buttonSave,buttonCancel:this.buttonCancel,dir:this.dir,lang:this.lang,tabIndex:this._savedTabIndex,editor:this.editor,inlineEditBox:this,sourceStyle:_6.getComputedStyle(this.displayNode),save:_b.hitch(this,"save"),cancel:_b.hitch(this,"cancel"),textDir:this.textDir},_25);
if(!this._started){
this.startup();
}
}
var ww=this.wrapperWidget;
_6.set(this.displayNode,{position:"absolute",opacity:"0"});
_6.set(ww.domNode,{position:this._savedPosition,visibility:"visible",opacity:"1"});
_3.set(this.displayNode,"tabIndex","-1");
setTimeout(_b.hitch(ww,function(){
this.focus();
this._resetValue=this.getValue();
}),0);
},_onBlur:function(){
this.inherited(arguments);
if(!this.editing){
}
},destroy:function(){
if(this.wrapperWidget&&!this.wrapperWidget._destroyed){
this.wrapperWidget.destroy();
delete this.wrapperWidget;
}
this.inherited(arguments);
},_showText:function(_26){
var ww=this.wrapperWidget;
_6.set(ww.domNode,{position:"absolute",visibility:"hidden",opacity:"0"});
_6.set(this.displayNode,{position:this._savedPosition,opacity:this._savedOpacity});
_3.set(this.displayNode,"tabIndex",this._savedTabIndex);
if(_26){
fm.focus(this.displayNode);
}
},save:function(_27){
if(this.disabled||!this.editing){
return;
}
this._set("editing",false);
var ww=this.wrapperWidget;
var _28=ww.getValue();
this.set("value",_28);
this._showText(_27);
},setValue:function(val){
_9.deprecated("dijit.InlineEditBox.setValue() is deprecated. Use set('value', ...) instead.","","2.0");
return this.set("value",val);
},_setValueAttr:function(val){
val=_b.trim(val);
var _29=this.renderAsHtml?val:val.replace(/&/gm,"&amp;").replace(/</gm,"&lt;").replace(/>/gm,"&gt;").replace(/"/gm,"&quot;").replace(/\n/g,"<br>");
this.displayNode.innerHTML=_29||this.noValueIndicator;
this._set("value",val);
if(this._started){
setTimeout(_b.hitch(this,"onChange",val),0);
}
if(this.textDir=="auto"){
this.applyTextDir(this.displayNode,this.displayNode.innerText);
}
},getValue:function(){
_9.deprecated("dijit.InlineEditBox.getValue() is deprecated. Use get('value') instead.","","2.0");
return this.get("value");
},cancel:function(_2a){
if(this.disabled||!this.editing){
return;
}
this._set("editing",false);
setTimeout(_b.hitch(this,"onCancel"),0);
this._showText(_2a);
},_setTextDirAttr:function(_2b){
if(!this._created||this.textDir!=_2b){
this._set("textDir",_2b);
this.applyTextDir(this.displayNode,this.displayNode.innerText);
this.displayNode.align=this.dir=="rtl"?"right":"left";
}
}});
_20._InlineEditor=_15;
return _20;
});

View File

@@ -0,0 +1,195 @@
Dojo is available under *either* the terms of the modified BSD license *or* the
Academic Free License version 2.1. As a recipient of Dojo, you may choose which
license to receive this code under (except as noted in per-module LICENSE
files). Some modules may not be the copyright of the Dojo Foundation. These
modules contain explicit declarations of copyright in both the LICENSE files in
the directories in which they reside and in the code itself. No external
contributions are allowed under licenses which are fundamentally incompatible
with the AFL or BSD licenses that Dojo is distributed under.
The text of the AFL and BSD licenses is reproduced below.
-------------------------------------------------------------------------------
The "New" BSD License:
**********************
Copyright (c) 2005-2011, The Dojo Foundation
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
* Neither the name of the Dojo Foundation nor the names of its contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-------------------------------------------------------------------------------
The Academic Free License, v. 2.1:
**********************************
This Academic Free License (the "License") applies to any original work of
authorship (the "Original Work") whose owner (the "Licensor") has placed the
following notice immediately following the copyright notice for the Original
Work:
Licensed under the Academic Free License version 2.1
1) Grant of Copyright License. Licensor hereby grants You a world-wide,
royalty-free, non-exclusive, perpetual, sublicenseable license to do the
following:
a) to reproduce the Original Work in copies;
b) to prepare derivative works ("Derivative Works") based upon the Original
Work;
c) to distribute copies of the Original Work and Derivative Works to the
public;
d) to perform the Original Work publicly; and
e) to display the Original Work publicly.
2) Grant of Patent License. Licensor hereby grants You a world-wide,
royalty-free, non-exclusive, perpetual, sublicenseable license, under patent
claims owned or controlled by the Licensor that are embodied in the Original
Work as furnished by the Licensor, to make, use, sell and offer for sale the
Original Work and Derivative Works.
3) Grant of Source Code License. The term "Source Code" means the preferred
form of the Original Work for making modifications to it and all available
documentation describing how to modify the Original Work. Licensor hereby
agrees to provide a machine-readable copy of the Source Code of the Original
Work along with each copy of the Original Work that Licensor distributes.
Licensor reserves the right to satisfy this obligation by placing a
machine-readable copy of the Source Code in an information repository
reasonably calculated to permit inexpensive and convenient access by You for as
long as Licensor continues to distribute the Original Work, and by publishing
the address of that information repository in a notice immediately following
the copyright notice that applies to the Original Work.
4) Exclusions From License Grant. Neither the names of Licensor, nor the names
of any contributors to the Original Work, nor any of their trademarks or
service marks, may be used to endorse or promote products derived from this
Original Work without express prior written permission of the Licensor. Nothing
in this License shall be deemed to grant any rights to trademarks, copyrights,
patents, trade secrets or any other intellectual property of Licensor except as
expressly stated herein. No patent license is granted to make, use, sell or
offer to sell embodiments of any patent claims other than the licensed claims
defined in Section 2. No right is granted to the trademarks of Licensor even if
such marks are included in the Original Work. Nothing in this License shall be
interpreted to prohibit Licensor from licensing under different terms from this
License any Original Work that Licensor otherwise would have a right to
license.
5) This section intentionally omitted.
6) Attribution Rights. You must retain, in the Source Code of any Derivative
Works that You create, all copyright, patent or trademark notices from the
Source Code of the Original Work, as well as any notices of licensing and any
descriptive text identified therein as an "Attribution Notice." You must cause
the Source Code for any Derivative Works that You create to carry a prominent
Attribution Notice reasonably calculated to inform recipients that You have
modified the Original Work.
7) Warranty of Provenance and Disclaimer of Warranty. Licensor warrants that
the copyright in and to the Original Work and the patent rights granted herein
by Licensor are owned by the Licensor or are sublicensed to You under the terms
of this License with the permission of the contributor(s) of those copyrights
and patent rights. Except as expressly stated in the immediately proceeding
sentence, the Original Work is provided under this License on an "AS IS" BASIS
and WITHOUT WARRANTY, either express or implied, including, without limitation,
the warranties of NON-INFRINGEMENT, MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY OF THE ORIGINAL WORK IS WITH YOU.
This DISCLAIMER OF WARRANTY constitutes an essential part of this License. No
license to Original Work is granted hereunder except under this disclaimer.
8) Limitation of Liability. Under no circumstances and under no legal theory,
whether in tort (including negligence), contract, or otherwise, shall the
Licensor be liable to any person for any direct, indirect, special, incidental,
or consequential damages of any character arising as a result of this License
or the use of the Original Work including, without limitation, damages for loss
of goodwill, work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses. This limitation of liability shall not
apply to liability for death or personal injury resulting from Licensor's
negligence to the extent applicable law prohibits such limitation. Some
jurisdictions do not allow the exclusion or limitation of incidental or
consequential damages, so this exclusion and limitation may not apply to You.
9) Acceptance and Termination. If You distribute copies of the Original Work or
a Derivative Work, You must make a reasonable effort under the circumstances to
obtain the express assent of recipients to the terms of this License. Nothing
else but this License (or another written agreement between Licensor and You)
grants You permission to create Derivative Works based upon the Original Work
or to exercise any of the rights granted in Section 1 herein, and any attempt
to do so except under the terms of this License (or another written agreement
between Licensor and You) is expressly prohibited by U.S. copyright law, the
equivalent laws of other countries, and by international treaty. Therefore, by
exercising any of the rights granted to You in Section 1 herein, You indicate
Your acceptance of this License and all of its terms and conditions.
10) Termination for Patent Action. This License shall terminate automatically
and You may no longer exercise any of the rights granted to You by this License
as of the date You commence an action, including a cross-claim or counterclaim,
against Licensor or any licensee alleging that the Original Work infringes a
patent. This termination provision shall not apply for an action alleging
patent infringement by combinations of the Original Work with other software or
hardware.
11) Jurisdiction, Venue and Governing Law. Any action or suit relating to this
License may be brought only in the courts of a jurisdiction wherein the
Licensor resides or in which Licensor conducts its primary business, and under
the laws of that jurisdiction excluding its conflict-of-law provisions. The
application of the United Nations Convention on Contracts for the International
Sale of Goods is expressly excluded. Any use of the Original Work outside the
scope of this License or after its termination shall be subject to the
requirements and penalties of the U.S. Copyright Act, 17 U.S.C. § 101 et
seq., the equivalent laws of other countries, and international treaty. This
section shall survive the termination of this License.
12) Attorneys Fees. In any action to enforce the terms of this License or
seeking damages relating thereto, the prevailing party shall be entitled to
recover its costs and expenses, including, without limitation, reasonable
attorneys' fees and costs incurred in connection with such action, including
any appeal of such action. This section shall survive the termination of this
License.
13) Miscellaneous. This License represents the complete agreement concerning
the subject matter hereof. If any provision of this License is held to be
unenforceable, such provision shall be reformed only to the extent necessary to
make it enforceable.
14) Definition of "You" in This License. "You" throughout this License, whether
in upper or lower case, means an individual or a legal entity exercising rights
under, and complying with all of the terms of, this License. For legal
entities, "You" includes any entity that controls, is controlled by, or is
under common control with you. For purposes of this definition, "control" means
(i) the power, direct or indirect, to cause the direction or management of such
entity, whether by contract or otherwise, or (ii) ownership of fifty percent
(50%) or more of the outstanding shares, or (iii) beneficial ownership of such
entity.
15) Right to Use. You may use the Original Work in all ways not otherwise
restricted or conditioned by this License or by law, and Licensor promises not
to interfere with or be responsible for such uses by You.
This license is Copyright (C) 2003-2004 Lawrence E. Rosen. All rights reserved.
Permission is hereby granted to copy and distribute this license without
modification. This license may not be modified without the express written
permission of its copyright owner.

View File

@@ -0,0 +1,127 @@
//>>built
define("dijit/Menu",["require","dojo/_base/array","dojo/_base/declare","dojo/_base/event","dojo/dom","dojo/dom-attr","dojo/dom-geometry","dojo/dom-style","dojo/_base/kernel","dojo/keys","dojo/_base/lang","dojo/on","dojo/_base/sniff","dojo/_base/window","dojo/window","./popup","./DropDownMenu","dojo/ready"],function(_1,_2,_3,_4,_5,_6,_7,_8,_9,_a,_b,on,_c,_d,_e,pm,_f,_10){
if(!_9.isAsync){
_10(0,function(){
var _11=["dijit/MenuItem","dijit/PopupMenuItem","dijit/CheckedMenuItem","dijit/MenuSeparator"];
_1(_11);
});
}
return _3("dijit.Menu",_f,{constructor:function(){
this._bindings=[];
},targetNodeIds:[],contextMenuForWindow:false,leftClickToOpen:false,refocus:true,postCreate:function(){
if(this.contextMenuForWindow){
this.bindDomNode(_d.body());
}else{
_2.forEach(this.targetNodeIds,this.bindDomNode,this);
}
this.inherited(arguments);
},_iframeContentWindow:function(_12){
return _e.get(this._iframeContentDocument(_12))||this._iframeContentDocument(_12)["__parent__"]||(_12.name&&_d.doc.frames[_12.name])||null;
},_iframeContentDocument:function(_13){
return _13.contentDocument||(_13.contentWindow&&_13.contentWindow.document)||(_13.name&&_d.doc.frames[_13.name]&&_d.doc.frames[_13.name].document)||null;
},bindDomNode:function(_14){
_14=_5.byId(_14);
var cn;
if(_14.tagName.toLowerCase()=="iframe"){
var _15=_14,_16=this._iframeContentWindow(_15);
cn=_d.withGlobal(_16,_d.body);
}else{
cn=(_14==_d.body()?_d.doc.documentElement:_14);
}
var _17={node:_14,iframe:_15};
_6.set(_14,"_dijitMenu"+this.id,this._bindings.push(_17));
var _18=_b.hitch(this,function(cn){
return [on(cn,this.leftClickToOpen?"click":"contextmenu",_b.hitch(this,function(evt){
_4.stop(evt);
this._scheduleOpen(evt.target,_15,{x:evt.pageX,y:evt.pageY});
})),on(cn,"keydown",_b.hitch(this,function(evt){
if(evt.shiftKey&&evt.keyCode==_a.F10){
_4.stop(evt);
this._scheduleOpen(evt.target,_15);
}
}))];
});
_17.connects=cn?_18(cn):[];
if(_15){
_17.onloadHandler=_b.hitch(this,function(){
var _19=this._iframeContentWindow(_15);
cn=_d.withGlobal(_19,_d.body);
_17.connects=_18(cn);
});
if(_15.addEventListener){
_15.addEventListener("load",_17.onloadHandler,false);
}else{
_15.attachEvent("onload",_17.onloadHandler);
}
}
},unBindDomNode:function(_1a){
var _1b;
try{
_1b=_5.byId(_1a);
}
catch(e){
return;
}
var _1c="_dijitMenu"+this.id;
if(_1b&&_6.has(_1b,_1c)){
var bid=_6.get(_1b,_1c)-1,b=this._bindings[bid],h;
while(h=b.connects.pop()){
h.remove();
}
var _1d=b.iframe;
if(_1d){
if(_1d.removeEventListener){
_1d.removeEventListener("load",b.onloadHandler,false);
}else{
_1d.detachEvent("onload",b.onloadHandler);
}
}
_6.remove(_1b,_1c);
delete this._bindings[bid];
}
},_scheduleOpen:function(_1e,_1f,_20){
if(!this._openTimer){
this._openTimer=setTimeout(_b.hitch(this,function(){
delete this._openTimer;
this._openMyself({target:_1e,iframe:_1f,coords:_20});
}),1);
}
},_openMyself:function(_21){
var _22=_21.target,_23=_21.iframe,_24=_21.coords;
if(_24){
if(_23){
var ifc=_7.position(_23,true),_25=this._iframeContentWindow(_23),_26=_d.withGlobal(_25,"_docScroll",dojo);
var cs=_8.getComputedStyle(_23),tp=_8.toPixelValue,_27=(_c("ie")&&_c("quirks")?0:tp(_23,cs.paddingLeft))+(_c("ie")&&_c("quirks")?tp(_23,cs.borderLeftWidth):0),top=(_c("ie")&&_c("quirks")?0:tp(_23,cs.paddingTop))+(_c("ie")&&_c("quirks")?tp(_23,cs.borderTopWidth):0);
_24.x+=ifc.x+_27-_26.x;
_24.y+=ifc.y+top-_26.y;
}
}else{
_24=_7.position(_22,true);
_24.x+=10;
_24.y+=10;
}
var _28=this;
var _29=this._focusManager.get("prevNode");
var _2a=this._focusManager.get("curNode");
var _2b=!_2a||(_5.isDescendant(_2a,this.domNode))?_29:_2a;
function _2c(){
if(_28.refocus&&_2b){
_2b.focus();
}
pm.close(_28);
};
pm.open({popup:this,x:_24.x,y:_24.y,onExecute:_2c,onCancel:_2c,orient:this.isLeftToRight()?"L":"R"});
this.focus();
this._onBlur=function(){
this.inherited("_onBlur",arguments);
pm.close(this);
};
},uninitialize:function(){
_2.forEach(this._bindings,function(b){
if(b){
this.unBindDomNode(b.node);
}
},this);
this.inherited(arguments);
}});
});

View File

@@ -0,0 +1,30 @@
//>>built
require({cache:{"url:dijit/templates/MenuBar.html":"<div class=\"dijitMenuBar dijitMenuPassive\" data-dojo-attach-point=\"containerNode\" role=\"menubar\" tabIndex=\"${tabIndex}\" data-dojo-attach-event=\"onkeypress: _onKeyPress\"></div>\n"}});
define("dijit/MenuBar",["dojo/_base/declare","dojo/_base/event","dojo/keys","./_MenuBase","dojo/text!./templates/MenuBar.html"],function(_1,_2,_3,_4,_5){
return _1("dijit.MenuBar",_4,{templateString:_5,baseClass:"dijitMenuBar",_isMenuBar:true,postCreate:function(){
var l=this.isLeftToRight();
this.connectKeyNavHandlers(l?[_3.LEFT_ARROW]:[_3.RIGHT_ARROW],l?[_3.RIGHT_ARROW]:[_3.LEFT_ARROW]);
this._orient=["below"];
},focusChild:function(_6){
var _7=this.focusedChild,_8=_7&&_7.popup&&_7.popup.isShowingNow;
this.inherited(arguments);
if(_8&&_6.popup&&!_6.disabled){
this._openPopup();
}
},_onKeyPress:function(_9){
if(_9.ctrlKey||_9.altKey){
return;
}
switch(_9.charOrCode){
case _3.DOWN_ARROW:
this._moveToPopup(_9);
_2.stop(_9);
}
},onItemClick:function(_a,_b){
if(_a.popup&&_a.popup.isShowingNow){
_a.popup.onCancel();
}else{
this.inherited(arguments);
}
}});
});

View File

@@ -0,0 +1,8 @@
//>>built
require({cache:{"url:dijit/templates/MenuBarItem.html":"<div class=\"dijitReset dijitInline dijitMenuItem dijitMenuItemLabel\" data-dojo-attach-point=\"focusNode\" role=\"menuitem\" tabIndex=\"-1\"\n\t\tdata-dojo-attach-event=\"onmouseenter:_onHover,onmouseleave:_onUnhover,ondijitclick:_onClick\">\n\t<span data-dojo-attach-point=\"containerNode\"></span>\n</div>\n"}});
define("dijit/MenuBarItem",["dojo/_base/declare","./MenuItem","dojo/text!./templates/MenuBarItem.html"],function(_1,_2,_3){
var _4=_1("dijit._MenuBarItemMixin",null,{templateString:_3,_setIconClassAttr:null});
var _5=_1("dijit.MenuBarItem",[_2,_4],{});
_5._MenuBarItemMixin=_4;
return _5;
});

View File

@@ -0,0 +1,57 @@
//>>built
require({cache:{"url:dijit/templates/MenuItem.html":"<tr class=\"dijitReset dijitMenuItem\" data-dojo-attach-point=\"focusNode\" role=\"menuitem\" tabIndex=\"-1\"\n\t\tdata-dojo-attach-event=\"onmouseenter:_onHover,onmouseleave:_onUnhover,ondijitclick:_onClick\">\n\t<td class=\"dijitReset dijitMenuItemIconCell\" role=\"presentation\">\n\t\t<img src=\"${_blankGif}\" alt=\"\" class=\"dijitIcon dijitMenuItemIcon\" data-dojo-attach-point=\"iconNode\"/>\n\t</td>\n\t<td class=\"dijitReset dijitMenuItemLabel\" colspan=\"2\" data-dojo-attach-point=\"containerNode\"></td>\n\t<td class=\"dijitReset dijitMenuItemAccelKey\" style=\"display: none\" data-dojo-attach-point=\"accelKeyNode\"></td>\n\t<td class=\"dijitReset dijitMenuArrowCell\" role=\"presentation\">\n\t\t<div data-dojo-attach-point=\"arrowWrapper\" style=\"visibility: hidden\">\n\t\t\t<img src=\"${_blankGif}\" alt=\"\" class=\"dijitMenuExpand\"/>\n\t\t\t<span class=\"dijitMenuExpandA11y\">+</span>\n\t\t</div>\n\t</td>\n</tr>\n"}});
define("dijit/MenuItem",["dojo/_base/declare","dojo/dom","dojo/dom-attr","dojo/dom-class","dojo/_base/event","dojo/_base/kernel","dojo/_base/sniff","./_Widget","./_TemplatedMixin","./_Contained","./_CssStateMixin","dojo/text!./templates/MenuItem.html"],function(_1,_2,_3,_4,_5,_6,_7,_8,_9,_a,_b,_c){
return _1("dijit.MenuItem",[_8,_9,_a,_b],{templateString:_c,baseClass:"dijitMenuItem",label:"",_setLabelAttr:{node:"containerNode",type:"innerHTML"},iconClass:"dijitNoIcon",_setIconClassAttr:{node:"iconNode",type:"class"},accelKey:"",disabled:false,_fillContent:function(_d){
if(_d&&!("label" in this.params)){
this.set("label",_d.innerHTML);
}
},buildRendering:function(){
this.inherited(arguments);
var _e=this.id+"_text";
_3.set(this.containerNode,"id",_e);
if(this.accelKeyNode){
_3.set(this.accelKeyNode,"id",this.id+"_accel");
_e+=" "+this.id+"_accel";
}
this.domNode.setAttribute("aria-labelledby",_e);
_2.setSelectable(this.domNode,false);
},_onHover:function(){
this.getParent().onItemHover(this);
},_onUnhover:function(){
this.getParent().onItemUnhover(this);
this._set("hovering",false);
},_onClick:function(_f){
this.getParent().onItemClick(this,_f);
_5.stop(_f);
},onClick:function(){
},focus:function(){
try{
if(_7("ie")==8){
this.containerNode.focus();
}
this.focusNode.focus();
}
catch(e){
}
},_onFocus:function(){
this._setSelected(true);
this.getParent()._onItemFocus(this);
this.inherited(arguments);
},_setSelected:function(_10){
_4.toggle(this.domNode,"dijitMenuItemSelected",_10);
},setLabel:function(_11){
_6.deprecated("dijit.MenuItem.setLabel() is deprecated. Use set('label', ...) instead.","","2.0");
this.set("label",_11);
},setDisabled:function(_12){
_6.deprecated("dijit.Menu.setDisabled() is deprecated. Use set('disabled', bool) instead.","","2.0");
this.set("disabled",_12);
},_setDisabledAttr:function(_13){
this.focusNode.setAttribute("aria-disabled",_13?"true":"false");
this._set("disabled",_13);
},_setAccelKeyAttr:function(_14){
this.accelKeyNode.style.display=_14?"":"none";
this.accelKeyNode.innerHTML=_14;
_3.set(this.containerNode,"colSpan",_14?"1":"2");
this._set("accelKey",_14);
}});
});

View File

@@ -0,0 +1,10 @@
//>>built
require({cache:{"url:dijit/templates/MenuSeparator.html":"<tr class=\"dijitMenuSeparator\">\n\t<td class=\"dijitMenuSeparatorIconCell\">\n\t\t<div class=\"dijitMenuSeparatorTop\"></div>\n\t\t<div class=\"dijitMenuSeparatorBottom\"></div>\n\t</td>\n\t<td colspan=\"3\" class=\"dijitMenuSeparatorLabelCell\">\n\t\t<div class=\"dijitMenuSeparatorTop dijitMenuSeparatorLabel\"></div>\n\t\t<div class=\"dijitMenuSeparatorBottom\"></div>\n\t</td>\n</tr>"}});
define("dijit/MenuSeparator",["dojo/_base/declare","dojo/dom","./_WidgetBase","./_TemplatedMixin","./_Contained","dojo/text!./templates/MenuSeparator.html"],function(_1,_2,_3,_4,_5,_6){
return _1("dijit.MenuSeparator",[_3,_4,_5],{templateString:_6,buildRendering:function(){
this.inherited(arguments);
_2.setSelectable(this.domNode,false);
},isFocusable:function(){
return false;
}});
});

View File

@@ -0,0 +1,5 @@
//>>built
define("dijit/PopupMenuBarItem",["dojo/_base/declare","./PopupMenuItem","./MenuBarItem"],function(_1,_2,_3){
var _4=_3._MenuBarItemMixin;
return _1("dijit.PopupMenuBarItem",[_2,_4],{});
});

View File

@@ -0,0 +1,34 @@
//>>built
define("dijit/PopupMenuItem",["dojo/_base/declare","dojo/dom-style","dojo/query","dojo/_base/window","./registry","./MenuItem","./hccss"],function(_1,_2,_3,_4,_5,_6){
return _1("dijit.PopupMenuItem",_6,{_fillContent:function(){
if(this.srcNodeRef){
var _7=_3("*",this.srcNodeRef);
this.inherited(arguments,[_7[0]]);
this.dropDownContainer=this.srcNodeRef;
}
},startup:function(){
if(this._started){
return;
}
this.inherited(arguments);
if(!this.popup){
var _8=_3("[widgetId]",this.dropDownContainer)[0];
this.popup=_5.byNode(_8);
}
_4.body().appendChild(this.popup.domNode);
this.popup.startup();
this.popup.domNode.style.display="none";
if(this.arrowWrapper){
_2.set(this.arrowWrapper,"visibility","");
}
this.focusNode.setAttribute("aria-haspopup","true");
},destroyDescendants:function(_9){
if(this.popup){
if(!this.popup._destroyed){
this.popup.destroyRecursive(_9);
}
delete this.popup;
}
this.inherited(arguments);
}});
});

View File

@@ -0,0 +1,55 @@
//>>built
require({cache:{"url:dijit/templates/ProgressBar.html":"<div class=\"dijitProgressBar dijitProgressBarEmpty\" role=\"progressbar\"\n\t><div data-dojo-attach-point=\"internalProgress\" class=\"dijitProgressBarFull\"\n\t\t><div class=\"dijitProgressBarTile\" role=\"presentation\"></div\n\t\t><span style=\"visibility:hidden\">&#160;</span\n\t></div\n\t><div data-dojo-attach-point=\"labelNode\" class=\"dijitProgressBarLabel\" id=\"${id}_label\"></div\n\t><img data-dojo-attach-point=\"indeterminateHighContrastImage\" class=\"dijitProgressBarIndeterminateHighContrastImage\" alt=\"\"\n/></div>\n"}});
define("dijit/ProgressBar",["require","dojo/_base/declare","dojo/dom-class","dojo/_base/lang","dojo/number","./_Widget","./_TemplatedMixin","dojo/text!./templates/ProgressBar.html"],function(_1,_2,_3,_4,_5,_6,_7,_8){
return _2("dijit.ProgressBar",[_6,_7],{progress:"0",value:"",maximum:100,places:0,indeterminate:false,label:"",name:"",templateString:_8,_indeterminateHighContrastImagePath:_1.toUrl("./themes/a11y/indeterminate_progress.gif"),postMixInProperties:function(){
this.inherited(arguments);
if(!("value" in this.params)){
this.value=this.indeterminate?Infinity:this.progress;
}
},buildRendering:function(){
this.inherited(arguments);
this.indeterminateHighContrastImage.setAttribute("src",this._indeterminateHighContrastImagePath.toString());
this.update();
},update:function(_9){
_4.mixin(this,_9||{});
var _a=this.internalProgress,ap=this.domNode;
var _b=1;
if(this.indeterminate){
ap.removeAttribute("aria-valuenow");
ap.removeAttribute("aria-valuemin");
ap.removeAttribute("aria-valuemax");
}else{
if(String(this.progress).indexOf("%")!=-1){
_b=Math.min(parseFloat(this.progress)/100,1);
this.progress=_b*this.maximum;
}else{
this.progress=Math.min(this.progress,this.maximum);
_b=this.maximum?this.progress/this.maximum:0;
}
ap.setAttribute("aria-describedby",this.labelNode.id);
ap.setAttribute("aria-valuenow",this.progress);
ap.setAttribute("aria-valuemin",0);
ap.setAttribute("aria-valuemax",this.maximum);
}
this.labelNode.innerHTML=this.report(_b);
_3.toggle(this.domNode,"dijitProgressBarIndeterminate",this.indeterminate);
_a.style.width=(_b*100)+"%";
this.onChange();
},_setValueAttr:function(v){
this._set("value",v);
if(v==Infinity){
this.update({indeterminate:true});
}else{
this.update({indeterminate:false,progress:v});
}
},_setLabelAttr:function(_c){
this._set("label",_c);
this.update();
},_setIndeterminateAttr:function(_d){
this.indeterminate=_d;
this.update();
},report:function(_e){
return this.label?this.label:(this.indeterminate?"&#160;":_5.format(_e,{type:"percent",places:this.places,locale:this.lang}));
},onChange:function(){
}});
});

View File

@@ -0,0 +1,96 @@
//>>built
require({cache:{"url:dijit/templates/TitlePane.html":"<div>\n\t<div data-dojo-attach-event=\"onclick:_onTitleClick, onkeypress:_onTitleKey\"\n\t\t\tclass=\"dijitTitlePaneTitle\" data-dojo-attach-point=\"titleBarNode\">\n\t\t<div class=\"dijitTitlePaneTitleFocus\" data-dojo-attach-point=\"focusNode\">\n\t\t\t<img src=\"${_blankGif}\" alt=\"\" data-dojo-attach-point=\"arrowNode\" class=\"dijitArrowNode\" role=\"presentation\"\n\t\t\t/><span data-dojo-attach-point=\"arrowNodeInner\" class=\"dijitArrowNodeInner\"></span\n\t\t\t><span data-dojo-attach-point=\"titleNode\" class=\"dijitTitlePaneTextNode\"></span>\n\t\t</div>\n\t</div>\n\t<div class=\"dijitTitlePaneContentOuter\" data-dojo-attach-point=\"hideNode\" role=\"presentation\">\n\t\t<div class=\"dijitReset\" data-dojo-attach-point=\"wipeNode\" role=\"presentation\">\n\t\t\t<div class=\"dijitTitlePaneContentInner\" data-dojo-attach-point=\"containerNode\" role=\"region\" id=\"${id}_pane\">\n\t\t\t\t<!-- nested divs because wipeIn()/wipeOut() doesn't work right on node w/padding etc. Put padding on inner div. -->\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n"}});
define("dijit/TitlePane",["dojo/_base/array","dojo/_base/declare","dojo/dom","dojo/dom-attr","dojo/dom-class","dojo/dom-geometry","dojo/_base/event","dojo/fx","dojo/_base/kernel","dojo/keys","./_CssStateMixin","./_TemplatedMixin","./layout/ContentPane","dojo/text!./templates/TitlePane.html","./_base/manager"],function(_1,_2,_3,_4,_5,_6,_7,_8,_9,_a,_b,_c,_d,_e,_f){
return _2("dijit.TitlePane",[_d,_c,_b],{title:"",_setTitleAttr:{node:"titleNode",type:"innerHTML"},open:true,toggleable:true,tabIndex:"0",duration:_f.defaultDuration,baseClass:"dijitTitlePane",templateString:_e,doLayout:false,_setTooltipAttr:{node:"focusNode",type:"attribute",attribute:"title"},buildRendering:function(){
this.inherited(arguments);
_3.setSelectable(this.titleNode,false);
},postCreate:function(){
this.inherited(arguments);
if(this.toggleable){
this._trackMouseState(this.titleBarNode,"dijitTitlePaneTitle");
}
var _10=this.hideNode,_11=this.wipeNode;
this._wipeIn=_8.wipeIn({node:_11,duration:this.duration,beforeBegin:function(){
_10.style.display="";
}});
this._wipeOut=_8.wipeOut({node:_11,duration:this.duration,onEnd:function(){
_10.style.display="none";
}});
},_setOpenAttr:function(_12,_13){
_1.forEach([this._wipeIn,this._wipeOut],function(_14){
if(_14&&_14.status()=="playing"){
_14.stop();
}
});
if(_13){
var _15=this[_12?"_wipeIn":"_wipeOut"];
_15.play();
}else{
this.hideNode.style.display=this.wipeNode.style.display=_12?"":"none";
}
if(this._started){
if(_12){
this._onShow();
}else{
this.onHide();
}
}
this.arrowNodeInner.innerHTML=_12?"-":"+";
this.containerNode.setAttribute("aria-hidden",_12?"false":"true");
this.focusNode.setAttribute("aria-pressed",_12?"true":"false");
this._set("open",_12);
this._setCss();
},_setToggleableAttr:function(_16){
this.focusNode.setAttribute("role",_16?"button":"heading");
if(_16){
this.focusNode.setAttribute("aria-controls",this.id+"_pane");
_4.set(this.focusNode,"tabIndex",this.tabIndex);
}else{
_4.remove(this.focusNode,"tabIndex");
}
this._set("toggleable",_16);
this._setCss();
},_setContentAttr:function(_17){
if(!this.open||!this._wipeOut||this._wipeOut.status()=="playing"){
this.inherited(arguments);
}else{
if(this._wipeIn&&this._wipeIn.status()=="playing"){
this._wipeIn.stop();
}
_6.setMarginBox(this.wipeNode,{h:_6.getMarginBox(this.wipeNode).h});
this.inherited(arguments);
if(this._wipeIn){
this._wipeIn.play();
}else{
this.hideNode.style.display="";
}
}
},toggle:function(){
this._setOpenAttr(!this.open,true);
},_setCss:function(){
var _18=this.titleBarNode||this.focusNode;
var _19=this._titleBarClass;
this._titleBarClass="dijit"+(this.toggleable?"":"Fixed")+(this.open?"Open":"Closed");
_5.replace(_18,this._titleBarClass,_19||"");
this.arrowNodeInner.innerHTML=this.open?"-":"+";
},_onTitleKey:function(e){
if(e.charOrCode==_a.ENTER||e.charOrCode==" "){
if(this.toggleable){
this.toggle();
}
_7.stop(e);
}else{
if(e.charOrCode==_a.DOWN_ARROW&&this.open){
this.containerNode.focus();
e.preventDefault();
}
}
},_onTitleClick:function(){
if(this.toggleable){
this.toggle();
}
},setTitle:function(_1a){
_9.deprecated("dijit.TitlePane.setTitle() is deprecated. Use set('title', ...) instead.","","2.0");
this.set("title",_1a);
}});
});

View File

@@ -0,0 +1,13 @@
//>>built
define("dijit/Toolbar",["require","dojo/_base/declare","dojo/_base/kernel","dojo/keys","dojo/ready","./_Widget","./_KeyNavContainer","./_TemplatedMixin"],function(_1,_2,_3,_4,_5,_6,_7,_8){
if(!_3.isAsync){
_5(0,function(){
var _9=["dijit/ToolbarSeparator"];
_1(_9);
});
}
return _2("dijit.Toolbar",[_6,_8,_7],{templateString:"<div class=\"dijit\" role=\"toolbar\" tabIndex=\"${tabIndex}\" data-dojo-attach-point=\"containerNode\">"+"</div>",baseClass:"dijitToolbar",postCreate:function(){
this.inherited(arguments);
this.connectKeyNavHandlers(this.isLeftToRight()?[_4.LEFT_ARROW]:[_4.RIGHT_ARROW],this.isLeftToRight()?[_4.RIGHT_ARROW]:[_4.LEFT_ARROW]);
}});
});

View File

@@ -0,0 +1,9 @@
//>>built
define("dijit/ToolbarSeparator",["dojo/_base/declare","dojo/dom","./_Widget","./_TemplatedMixin"],function(_1,_2,_3,_4){
return _1("dijit.ToolbarSeparator",[_3,_4],{templateString:"<div class=\"dijitToolbarSeparator dijitInline\" role=\"presentation\"></div>",buildRendering:function(){
this.inherited(arguments);
_2.setSelectable(this.domNode,false);
},isFocusable:function(){
return false;
}});
});

View File

@@ -0,0 +1,189 @@
//>>built
require({cache:{"url:dijit/templates/Tooltip.html":"<div class=\"dijitTooltip dijitTooltipLeft\" id=\"dojoTooltip\"\n\t><div class=\"dijitTooltipContainer dijitTooltipContents\" data-dojo-attach-point=\"containerNode\" role='alert'></div\n\t><div class=\"dijitTooltipConnector\" data-dojo-attach-point=\"connectorNode\"></div\n></div>\n"}});
define("dijit/Tooltip",["dojo/_base/array","dojo/_base/declare","dojo/_base/fx","dojo/dom","dojo/dom-class","dojo/dom-geometry","dojo/dom-style","dojo/_base/lang","dojo/_base/sniff","dojo/_base/window","./_base/manager","./place","./_Widget","./_TemplatedMixin","./BackgroundIframe","dojo/text!./templates/Tooltip.html","."],function(_1,_2,fx,_3,_4,_5,_6,_7,_8,_9,_a,_b,_c,_d,_e,_f,_10){
var _11=_2("dijit._MasterTooltip",[_c,_d],{duration:_a.defaultDuration,templateString:_f,postCreate:function(){
_9.body().appendChild(this.domNode);
this.bgIframe=new _e(this.domNode);
this.fadeIn=fx.fadeIn({node:this.domNode,duration:this.duration,onEnd:_7.hitch(this,"_onShow")});
this.fadeOut=fx.fadeOut({node:this.domNode,duration:this.duration,onEnd:_7.hitch(this,"_onHide")});
},show:function(_12,_13,_14,rtl,_15){
if(this.aroundNode&&this.aroundNode===_13&&this.containerNode.innerHTML==_12){
return;
}
this.domNode.width="auto";
if(this.fadeOut.status()=="playing"){
this._onDeck=arguments;
return;
}
this.containerNode.innerHTML=_12;
this.set("textDir",_15);
this.containerNode.align=rtl?"right":"left";
var pos=_b.around(this.domNode,_13,_14&&_14.length?_14:_16.defaultPosition,!rtl,_7.hitch(this,"orient"));
var _17=pos.aroundNodePos;
if(pos.corner.charAt(0)=="M"&&pos.aroundCorner.charAt(0)=="M"){
this.connectorNode.style.top=_17.y+((_17.h-this.connectorNode.offsetHeight)>>1)-pos.y+"px";
this.connectorNode.style.left="";
}else{
if(pos.corner.charAt(1)=="M"&&pos.aroundCorner.charAt(1)=="M"){
this.connectorNode.style.left=_17.x+((_17.w-this.connectorNode.offsetWidth)>>1)-pos.x+"px";
}
}
_6.set(this.domNode,"opacity",0);
this.fadeIn.play();
this.isShowingNow=true;
this.aroundNode=_13;
},orient:function(_18,_19,_1a,_1b,_1c){
this.connectorNode.style.top="";
var _1d=_1b.w-this.connectorNode.offsetWidth;
_18.className="dijitTooltip "+{"MR-ML":"dijitTooltipRight","ML-MR":"dijitTooltipLeft","TM-BM":"dijitTooltipAbove","BM-TM":"dijitTooltipBelow","BL-TL":"dijitTooltipBelow dijitTooltipABLeft","TL-BL":"dijitTooltipAbove dijitTooltipABLeft","BR-TR":"dijitTooltipBelow dijitTooltipABRight","TR-BR":"dijitTooltipAbove dijitTooltipABRight","BR-BL":"dijitTooltipRight","BL-BR":"dijitTooltipLeft"}[_19+"-"+_1a];
this.domNode.style.width="auto";
var _1e=_5.getContentBox(this.domNode);
var _1f=Math.min((Math.max(_1d,1)),_1e.w);
var _20=_1f<_1e.w;
this.domNode.style.width=_1f+"px";
if(_20){
this.containerNode.style.overflow="auto";
var _21=this.containerNode.scrollWidth;
this.containerNode.style.overflow="visible";
if(_21>_1f){
_21=_21+_6.get(this.domNode,"paddingLeft")+_6.get(this.domNode,"paddingRight");
this.domNode.style.width=_21+"px";
}
}
if(_1a.charAt(0)=="B"&&_19.charAt(0)=="B"){
var mb=_5.getMarginBox(_18);
var _22=this.connectorNode.offsetHeight;
if(mb.h>_1b.h){
var _23=_1b.h-((_1c.h+_22)>>1);
this.connectorNode.style.top=_23+"px";
this.connectorNode.style.bottom="";
}else{
this.connectorNode.style.bottom=Math.min(Math.max(_1c.h/2-_22/2,0),mb.h-_22)+"px";
this.connectorNode.style.top="";
}
}else{
this.connectorNode.style.top="";
this.connectorNode.style.bottom="";
}
return Math.max(0,_1e.w-_1d);
},_onShow:function(){
if(_8("ie")){
this.domNode.style.filter="";
}
},hide:function(_24){
if(this._onDeck&&this._onDeck[1]==_24){
this._onDeck=null;
}else{
if(this.aroundNode===_24){
this.fadeIn.stop();
this.isShowingNow=false;
this.aroundNode=null;
this.fadeOut.play();
}else{
}
}
},_onHide:function(){
this.domNode.style.cssText="";
this.containerNode.innerHTML="";
if(this._onDeck){
this.show.apply(this,this._onDeck);
this._onDeck=null;
}
},_setAutoTextDir:function(_25){
this.applyTextDir(_25,_8("ie")?_25.outerText:_25.textContent);
_1.forEach(_25.children,function(_26){
this._setAutoTextDir(_26);
},this);
},_setTextDirAttr:function(_27){
this._set("textDir",typeof _27!="undefined"?_27:"");
if(_27=="auto"){
this._setAutoTextDir(this.containerNode);
}else{
this.containerNode.dir=this.textDir;
}
}});
_10.showTooltip=function(_28,_29,_2a,rtl,_2b){
if(!_16._masterTT){
_10._masterTT=_16._masterTT=new _11();
}
return _16._masterTT.show(_28,_29,_2a,rtl,_2b);
};
_10.hideTooltip=function(_2c){
return _16._masterTT&&_16._masterTT.hide(_2c);
};
var _16=_2("dijit.Tooltip",_c,{label:"",showDelay:400,connectId:[],position:[],_setConnectIdAttr:function(_2d){
_1.forEach(this._connections||[],function(_2e){
_1.forEach(_2e,_7.hitch(this,"disconnect"));
},this);
this._connectIds=_1.filter(_7.isArrayLike(_2d)?_2d:(_2d?[_2d]:[]),function(id){
return _3.byId(id);
});
this._connections=_1.map(this._connectIds,function(id){
var _2f=_3.byId(id);
return [this.connect(_2f,"onmouseenter","_onHover"),this.connect(_2f,"onmouseleave","_onUnHover"),this.connect(_2f,"onfocus","_onHover"),this.connect(_2f,"onblur","_onUnHover")];
},this);
this._set("connectId",_2d);
},addTarget:function(_30){
var id=_30.id||_30;
if(_1.indexOf(this._connectIds,id)==-1){
this.set("connectId",this._connectIds.concat(id));
}
},removeTarget:function(_31){
var id=_31.id||_31,idx=_1.indexOf(this._connectIds,id);
if(idx>=0){
this._connectIds.splice(idx,1);
this.set("connectId",this._connectIds);
}
},buildRendering:function(){
this.inherited(arguments);
_4.add(this.domNode,"dijitTooltipData");
},startup:function(){
this.inherited(arguments);
var ids=this.connectId;
_1.forEach(_7.isArrayLike(ids)?ids:[ids],this.addTarget,this);
},_onHover:function(e){
if(!this._showTimer){
var _32=e.target;
this._showTimer=setTimeout(_7.hitch(this,function(){
this.open(_32);
}),this.showDelay);
}
},_onUnHover:function(){
if(this._focus){
return;
}
if(this._showTimer){
clearTimeout(this._showTimer);
delete this._showTimer;
}
this.close();
},open:function(_33){
if(this._showTimer){
clearTimeout(this._showTimer);
delete this._showTimer;
}
_16.show(this.label||this.domNode.innerHTML,_33,this.position,!this.isLeftToRight(),this.textDir);
this._connectNode=_33;
this.onShow(_33,this.position);
},close:function(){
if(this._connectNode){
_16.hide(this._connectNode);
delete this._connectNode;
this.onHide();
}
if(this._showTimer){
clearTimeout(this._showTimer);
delete this._showTimer;
}
},onShow:function(){
},onHide:function(){
},uninitialize:function(){
this.close();
this.inherited(arguments);
}});
_16._MasterTooltip=_11;
_16.show=_10.showTooltip;
_16.hide=_10.hideTooltip;
_16.defaultPosition=["after-centered","before-centered"];
return _16;
});

View File

@@ -0,0 +1,51 @@
//>>built
require({cache:{"url:dijit/templates/TooltipDialog.html":"<div role=\"presentation\" tabIndex=\"-1\">\n\t<div class=\"dijitTooltipContainer\" role=\"presentation\">\n\t\t<div class =\"dijitTooltipContents dijitTooltipFocusNode\" data-dojo-attach-point=\"containerNode\" role=\"dialog\"></div>\n\t</div>\n\t<div class=\"dijitTooltipConnector\" role=\"presentation\"></div>\n</div>\n"}});
define("dijit/TooltipDialog",["dojo/_base/declare","dojo/dom-class","dojo/_base/event","dojo/keys","dojo/_base/lang","./focus","./layout/ContentPane","./_DialogMixin","./form/_FormMixin","./_TemplatedMixin","dojo/text!./templates/TooltipDialog.html","."],function(_1,_2,_3,_4,_5,_6,_7,_8,_9,_a,_b,_c){
return _1("dijit.TooltipDialog",[_7,_a,_9,_8],{title:"",doLayout:false,autofocus:true,baseClass:"dijitTooltipDialog",_firstFocusItem:null,_lastFocusItem:null,templateString:_b,_setTitleAttr:function(_d){
this.containerNode.title=_d;
this._set("title",_d);
},postCreate:function(){
this.inherited(arguments);
this.connect(this.containerNode,"onkeypress","_onKey");
},orient:function(_e,_f,_10){
var _11="dijitTooltipAB"+(_10.charAt(1)=="L"?"Left":"Right")+" dijitTooltip"+(_10.charAt(0)=="T"?"Below":"Above");
_2.replace(this.domNode,_11,this._currentOrientClass||"");
this._currentOrientClass=_11;
},focus:function(){
this._getFocusItems(this.containerNode);
_6.focus(this._firstFocusItem);
},onOpen:function(pos){
this.orient(this.domNode,pos.aroundCorner,pos.corner);
this._onShow();
},onClose:function(){
this.onHide();
},_onKey:function(evt){
var _12=evt.target;
if(evt.charOrCode===_4.TAB){
this._getFocusItems(this.containerNode);
}
var _13=(this._firstFocusItem==this._lastFocusItem);
if(evt.charOrCode==_4.ESCAPE){
setTimeout(_5.hitch(this,"onCancel"),0);
_3.stop(evt);
}else{
if(_12==this._firstFocusItem&&evt.shiftKey&&evt.charOrCode===_4.TAB){
if(!_13){
_6.focus(this._lastFocusItem);
}
_3.stop(evt);
}else{
if(_12==this._lastFocusItem&&evt.charOrCode===_4.TAB&&!evt.shiftKey){
if(!_13){
_6.focus(this._firstFocusItem);
}
_3.stop(evt);
}else{
if(evt.charOrCode===_4.TAB){
evt.stopPropagation();
}
}
}
}
}});
});

View File

@@ -0,0 +1,676 @@
//>>built
require({cache:{"url:dijit/templates/TreeNode.html":"<div class=\"dijitTreeNode\" role=\"presentation\"\n\t><div data-dojo-attach-point=\"rowNode\" class=\"dijitTreeRow\" role=\"presentation\" data-dojo-attach-event=\"onmouseenter:_onMouseEnter, onmouseleave:_onMouseLeave, onclick:_onClick, ondblclick:_onDblClick\"\n\t\t><img src=\"${_blankGif}\" alt=\"\" data-dojo-attach-point=\"expandoNode\" class=\"dijitTreeExpando\" role=\"presentation\"\n\t\t/><span data-dojo-attach-point=\"expandoNodeText\" class=\"dijitExpandoText\" role=\"presentation\"\n\t\t></span\n\t\t><span data-dojo-attach-point=\"contentNode\"\n\t\t\tclass=\"dijitTreeContent\" role=\"presentation\">\n\t\t\t<img src=\"${_blankGif}\" alt=\"\" data-dojo-attach-point=\"iconNode\" class=\"dijitIcon dijitTreeIcon\" role=\"presentation\"\n\t\t\t/><span data-dojo-attach-point=\"labelNode\" class=\"dijitTreeLabel\" role=\"treeitem\" tabindex=\"-1\" aria-selected=\"false\" data-dojo-attach-event=\"onfocus:_onLabelFocus\"></span>\n\t\t</span\n\t></div>\n\t<div data-dojo-attach-point=\"containerNode\" class=\"dijitTreeContainer\" role=\"presentation\" style=\"display: none;\"></div>\n</div>\n","url:dijit/templates/Tree.html":"<div class=\"dijitTree dijitTreeContainer\" role=\"tree\"\n\tdata-dojo-attach-event=\"onkeypress:_onKeyPress\">\n\t<div class=\"dijitInline dijitTreeIndent\" style=\"position: absolute; top: -9999px\" data-dojo-attach-point=\"indentDetector\"></div>\n</div>\n"}});
define("dijit/Tree",["dojo/_base/array","dojo/_base/connect","dojo/cookie","dojo/_base/declare","dojo/_base/Deferred","dojo/DeferredList","dojo/dom","dojo/dom-class","dojo/dom-geometry","dojo/dom-style","dojo/_base/event","dojo/fx","dojo/_base/kernel","dojo/keys","dojo/_base/lang","dojo/topic","./focus","./registry","./_base/manager","./_Widget","./_TemplatedMixin","./_Container","./_Contained","./_CssStateMixin","dojo/text!./templates/TreeNode.html","dojo/text!./templates/Tree.html","./tree/TreeStoreModel","./tree/ForestStoreModel","./tree/_dndSelector"],function(_1,_2,_3,_4,_5,_6,_7,_8,_9,_a,_b,_c,_d,_e,_f,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19,_1a,_1b,_1c,_1d){
var _1e=_4("dijit._TreeNode",[_14,_15,_16,_17,_18],{item:null,isTreeNode:true,label:"",_setLabelAttr:{node:"labelNode",type:"innerText"},isExpandable:null,isExpanded:false,state:"UNCHECKED",templateString:_19,baseClass:"dijitTreeNode",cssStateNodes:{rowNode:"dijitTreeRow",labelNode:"dijitTreeLabel"},_setTooltipAttr:{node:"rowNode",type:"attribute",attribute:"title"},buildRendering:function(){
this.inherited(arguments);
this._setExpando();
this._updateItemClasses(this.item);
if(this.isExpandable){
this.labelNode.setAttribute("aria-expanded",this.isExpanded);
}
this.setSelected(false);
},_setIndentAttr:function(_1f){
var _20=(Math.max(_1f,0)*this.tree._nodePixelIndent)+"px";
_a.set(this.domNode,"backgroundPosition",_20+" 0px");
_a.set(this.rowNode,this.isLeftToRight()?"paddingLeft":"paddingRight",_20);
_1.forEach(this.getChildren(),function(_21){
_21.set("indent",_1f+1);
});
this._set("indent",_1f);
},markProcessing:function(){
this.state="LOADING";
this._setExpando(true);
},unmarkProcessing:function(){
this._setExpando(false);
},_updateItemClasses:function(_22){
var _23=this.tree,_24=_23.model;
if(_23._v10Compat&&_22===_24.root){
_22=null;
}
this._applyClassAndStyle(_22,"icon","Icon");
this._applyClassAndStyle(_22,"label","Label");
this._applyClassAndStyle(_22,"row","Row");
},_applyClassAndStyle:function(_25,_26,_27){
var _28="_"+_26+"Class";
var _29=_26+"Node";
var _2a=this[_28];
this[_28]=this.tree["get"+_27+"Class"](_25,this.isExpanded);
_8.replace(this[_29],this[_28]||"",_2a||"");
_a.set(this[_29],this.tree["get"+_27+"Style"](_25,this.isExpanded)||{});
},_updateLayout:function(){
var _2b=this.getParent();
if(!_2b||!_2b.rowNode||_2b.rowNode.style.display=="none"){
_8.add(this.domNode,"dijitTreeIsRoot");
}else{
_8.toggle(this.domNode,"dijitTreeIsLast",!this.getNextSibling());
}
},_setExpando:function(_2c){
var _2d=["dijitTreeExpandoLoading","dijitTreeExpandoOpened","dijitTreeExpandoClosed","dijitTreeExpandoLeaf"],_2e=["*","-","+","*"],idx=_2c?0:(this.isExpandable?(this.isExpanded?1:2):3);
_8.replace(this.expandoNode,_2d[idx],_2d);
this.expandoNodeText.innerHTML=_2e[idx];
},expand:function(){
if(this._expandDeferred){
return this._expandDeferred;
}
this._wipeOut&&this._wipeOut.stop();
this.isExpanded=true;
this.labelNode.setAttribute("aria-expanded","true");
if(this.tree.showRoot||this!==this.tree.rootNode){
this.containerNode.setAttribute("role","group");
}
_8.add(this.contentNode,"dijitTreeContentExpanded");
this._setExpando();
this._updateItemClasses(this.item);
if(this==this.tree.rootNode){
this.tree.domNode.setAttribute("aria-expanded","true");
}
var def,_2f=_c.wipeIn({node:this.containerNode,duration:_13.defaultDuration,onEnd:function(){
def.callback(true);
}});
def=(this._expandDeferred=new _5(function(){
_2f.stop();
}));
_2f.play();
return def;
},collapse:function(){
if(!this.isExpanded){
return;
}
if(this._expandDeferred){
this._expandDeferred.cancel();
delete this._expandDeferred;
}
this.isExpanded=false;
this.labelNode.setAttribute("aria-expanded","false");
if(this==this.tree.rootNode){
this.tree.domNode.setAttribute("aria-expanded","false");
}
_8.remove(this.contentNode,"dijitTreeContentExpanded");
this._setExpando();
this._updateItemClasses(this.item);
if(!this._wipeOut){
this._wipeOut=_c.wipeOut({node:this.containerNode,duration:_13.defaultDuration});
}
this._wipeOut.play();
},indent:0,setChildItems:function(_30){
var _31=this.tree,_32=_31.model,_33=[];
_1.forEach(this.getChildren(),function(_34){
_16.prototype.removeChild.call(this,_34);
},this);
this.state="LOADED";
if(_30&&_30.length>0){
this.isExpandable=true;
_1.forEach(_30,function(_35){
var id=_32.getIdentity(_35),_36=_31._itemNodesMap[id],_37;
if(_36){
for(var i=0;i<_36.length;i++){
if(_36[i]&&!_36[i].getParent()){
_37=_36[i];
_37.set("indent",this.indent+1);
break;
}
}
}
if(!_37){
_37=this.tree._createTreeNode({item:_35,tree:_31,isExpandable:_32.mayHaveChildren(_35),label:_31.getLabel(_35),tooltip:_31.getTooltip(_35),dir:_31.dir,lang:_31.lang,textDir:_31.textDir,indent:this.indent+1});
if(_36){
_36.push(_37);
}else{
_31._itemNodesMap[id]=[_37];
}
}
this.addChild(_37);
if(this.tree.autoExpand||this.tree._state(_37)){
_33.push(_31._expandNode(_37));
}
},this);
_1.forEach(this.getChildren(),function(_38){
_38._updateLayout();
});
}else{
this.isExpandable=false;
}
if(this._setExpando){
this._setExpando(false);
}
this._updateItemClasses(this.item);
if(this==_31.rootNode){
var fc=this.tree.showRoot?this:this.getChildren()[0];
if(fc){
fc.setFocusable(true);
_31.lastFocused=fc;
}else{
_31.domNode.setAttribute("tabIndex","0");
}
}
return new _6(_33);
},getTreePath:function(){
var _39=this;
var _3a=[];
while(_39&&_39!==this.tree.rootNode){
_3a.unshift(_39.item);
_39=_39.getParent();
}
_3a.unshift(this.tree.rootNode.item);
return _3a;
},getIdentity:function(){
return this.tree.model.getIdentity(this.item);
},removeChild:function(_3b){
this.inherited(arguments);
var _3c=this.getChildren();
if(_3c.length==0){
this.isExpandable=false;
this.collapse();
}
_1.forEach(_3c,function(_3d){
_3d._updateLayout();
});
},makeExpandable:function(){
this.isExpandable=true;
this._setExpando(false);
},_onLabelFocus:function(){
this.tree._onNodeFocus(this);
},setSelected:function(_3e){
this.labelNode.setAttribute("aria-selected",_3e);
_8.toggle(this.rowNode,"dijitTreeRowSelected",_3e);
},setFocusable:function(_3f){
this.labelNode.setAttribute("tabIndex",_3f?"0":"-1");
},_onClick:function(evt){
this.tree._onClick(this,evt);
},_onDblClick:function(evt){
this.tree._onDblClick(this,evt);
},_onMouseEnter:function(evt){
this.tree._onNodeMouseEnter(this,evt);
},_onMouseLeave:function(evt){
this.tree._onNodeMouseLeave(this,evt);
},_setTextDirAttr:function(_40){
if(_40&&((this.textDir!=_40)||!this._created)){
this._set("textDir",_40);
this.applyTextDir(this.labelNode,this.labelNode.innerText||this.labelNode.textContent||"");
_1.forEach(this.getChildren(),function(_41){
_41.set("textDir",_40);
},this);
}
}});
var _42=_4("dijit.Tree",[_14,_15],{store:null,model:null,query:null,label:"",showRoot:true,childrenAttr:["children"],paths:[],path:[],selectedItems:null,selectedItem:null,openOnClick:false,openOnDblClick:false,templateString:_1a,persist:true,autoExpand:false,dndController:_1d,dndParams:["onDndDrop","itemCreator","onDndCancel","checkAcceptance","checkItemAcceptance","dragThreshold","betweenThreshold"],onDndDrop:null,itemCreator:null,onDndCancel:null,checkAcceptance:null,checkItemAcceptance:null,dragThreshold:5,betweenThreshold:0,_nodePixelIndent:19,_publish:function(_43,_44){
_10.publish(this.id,_f.mixin({tree:this,event:_43},_44||{}));
},postMixInProperties:function(){
this.tree=this;
if(this.autoExpand){
this.persist=false;
}
this._itemNodesMap={};
if(!this.cookieName&&this.id){
this.cookieName=this.id+"SaveStateCookie";
}
this._loadDeferred=new _5();
this.inherited(arguments);
},postCreate:function(){
this._initState();
if(!this.model){
this._store2model();
}
this.connect(this.model,"onChange","_onItemChange");
this.connect(this.model,"onChildrenChange","_onItemChildrenChange");
this.connect(this.model,"onDelete","_onItemDelete");
this._load();
this.inherited(arguments);
if(this.dndController){
if(_f.isString(this.dndController)){
this.dndController=_f.getObject(this.dndController);
}
var _45={};
for(var i=0;i<this.dndParams.length;i++){
if(this[this.dndParams[i]]){
_45[this.dndParams[i]]=this[this.dndParams[i]];
}
}
this.dndController=new this.dndController(this,_45);
}
},_store2model:function(){
this._v10Compat=true;
_d.deprecated("Tree: from version 2.0, should specify a model object rather than a store/query");
var _46={id:this.id+"_ForestStoreModel",store:this.store,query:this.query,childrenAttrs:this.childrenAttr};
if(this.params.mayHaveChildren){
_46.mayHaveChildren=_f.hitch(this,"mayHaveChildren");
}
if(this.params.getItemChildren){
_46.getChildren=_f.hitch(this,function(_47,_48,_49){
this.getItemChildren((this._v10Compat&&_47===this.model.root)?null:_47,_48,_49);
});
}
this.model=new _1c(_46);
this.showRoot=Boolean(this.label);
},onLoad:function(){
},_load:function(){
this.model.getRoot(_f.hitch(this,function(_4a){
var rn=(this.rootNode=this.tree._createTreeNode({item:_4a,tree:this,isExpandable:true,label:this.label||this.getLabel(_4a),textDir:this.textDir,indent:this.showRoot?0:-1}));
if(!this.showRoot){
rn.rowNode.style.display="none";
this.domNode.setAttribute("role","presentation");
rn.labelNode.setAttribute("role","presentation");
rn.containerNode.setAttribute("role","tree");
}
this.domNode.appendChild(rn.domNode);
var _4b=this.model.getIdentity(_4a);
if(this._itemNodesMap[_4b]){
this._itemNodesMap[_4b].push(rn);
}else{
this._itemNodesMap[_4b]=[rn];
}
rn._updateLayout();
this._expandNode(rn).addCallback(_f.hitch(this,function(){
this._loadDeferred.callback(true);
this.onLoad();
}));
}),function(err){
console.error(this,": error loading root: ",err);
});
},getNodesByItem:function(_4c){
if(!_4c){
return [];
}
var _4d=_f.isString(_4c)?_4c:this.model.getIdentity(_4c);
return [].concat(this._itemNodesMap[_4d]);
},_setSelectedItemAttr:function(_4e){
this.set("selectedItems",[_4e]);
},_setSelectedItemsAttr:function(_4f){
var _50=this;
this._loadDeferred.addCallback(_f.hitch(this,function(){
var _51=_1.map(_4f,function(_52){
return (!_52||_f.isString(_52))?_52:_50.model.getIdentity(_52);
});
var _53=[];
_1.forEach(_51,function(id){
_53=_53.concat(_50._itemNodesMap[id]||[]);
});
this.set("selectedNodes",_53);
}));
},_setPathAttr:function(_54){
if(_54.length){
return this.set("paths",[_54]);
}else{
return this.set("paths",[]);
}
},_setPathsAttr:function(_55){
var _56=this;
return new _6(_1.map(_55,function(_57){
var d=new _5();
_57=_1.map(_57,function(_58){
return _f.isString(_58)?_58:_56.model.getIdentity(_58);
});
if(_57.length){
_56._loadDeferred.addCallback(function(){
_59(_57,[_56.rootNode],d);
});
}else{
d.errback("Empty path");
}
return d;
})).addCallback(_5a);
function _59(_5b,_5c,def){
var _5d=_5b.shift();
var _5e=_1.filter(_5c,function(_5f){
return _5f.getIdentity()==_5d;
})[0];
if(!!_5e){
if(_5b.length){
_56._expandNode(_5e).addCallback(function(){
_59(_5b,_5e.getChildren(),def);
});
}else{
def.callback(_5e);
}
}else{
def.errback("Could not expand path at "+_5d);
}
};
function _5a(_60){
_56.set("selectedNodes",_1.map(_1.filter(_60,function(x){
return x[0];
}),function(x){
return x[1];
}));
};
},_setSelectedNodeAttr:function(_61){
this.set("selectedNodes",[_61]);
},_setSelectedNodesAttr:function(_62){
this._loadDeferred.addCallback(_f.hitch(this,function(){
this.dndController.setSelection(_62);
}));
},mayHaveChildren:function(){
},getItemChildren:function(){
},getLabel:function(_63){
return this.model.getLabel(_63);
},getIconClass:function(_64,_65){
return (!_64||this.model.mayHaveChildren(_64))?(_65?"dijitFolderOpened":"dijitFolderClosed"):"dijitLeaf";
},getLabelClass:function(){
},getRowClass:function(){
},getIconStyle:function(){
},getLabelStyle:function(){
},getRowStyle:function(){
},getTooltip:function(){
return "";
},_onKeyPress:function(e){
if(e.altKey){
return;
}
var _66=_12.getEnclosingWidget(e.target);
if(!_66){
return;
}
var key=e.charOrCode;
if(typeof key=="string"&&key!=" "){
if(!e.altKey&&!e.ctrlKey&&!e.shiftKey&&!e.metaKey){
this._onLetterKeyNav({node:_66,key:key.toLowerCase()});
_b.stop(e);
}
}else{
if(this._curSearch){
clearTimeout(this._curSearch.timer);
delete this._curSearch;
}
var map=this._keyHandlerMap;
if(!map){
map={};
map[_e.ENTER]="_onEnterKey";
map[_e.SPACE]=map[" "]="_onEnterKey";
map[this.isLeftToRight()?_e.LEFT_ARROW:_e.RIGHT_ARROW]="_onLeftArrow";
map[this.isLeftToRight()?_e.RIGHT_ARROW:_e.LEFT_ARROW]="_onRightArrow";
map[_e.UP_ARROW]="_onUpArrow";
map[_e.DOWN_ARROW]="_onDownArrow";
map[_e.HOME]="_onHomeKey";
map[_e.END]="_onEndKey";
this._keyHandlerMap=map;
}
if(this._keyHandlerMap[key]){
this[this._keyHandlerMap[key]]({node:_66,item:_66.item,evt:e});
_b.stop(e);
}
}
},_onEnterKey:function(_67){
this._publish("execute",{item:_67.item,node:_67.node});
this.dndController.userSelect(_67.node,_2.isCopyKey(_67.evt),_67.evt.shiftKey);
this.onClick(_67.item,_67.node,_67.evt);
},_onDownArrow:function(_68){
var _69=this._getNextNode(_68.node);
if(_69&&_69.isTreeNode){
this.focusNode(_69);
}
},_onUpArrow:function(_6a){
var _6b=_6a.node;
var _6c=_6b.getPreviousSibling();
if(_6c){
_6b=_6c;
while(_6b.isExpandable&&_6b.isExpanded&&_6b.hasChildren()){
var _6d=_6b.getChildren();
_6b=_6d[_6d.length-1];
}
}else{
var _6e=_6b.getParent();
if(!(!this.showRoot&&_6e===this.rootNode)){
_6b=_6e;
}
}
if(_6b&&_6b.isTreeNode){
this.focusNode(_6b);
}
},_onRightArrow:function(_6f){
var _70=_6f.node;
if(_70.isExpandable&&!_70.isExpanded){
this._expandNode(_70);
}else{
if(_70.hasChildren()){
_70=_70.getChildren()[0];
if(_70&&_70.isTreeNode){
this.focusNode(_70);
}
}
}
},_onLeftArrow:function(_71){
var _72=_71.node;
if(_72.isExpandable&&_72.isExpanded){
this._collapseNode(_72);
}else{
var _73=_72.getParent();
if(_73&&_73.isTreeNode&&!(!this.showRoot&&_73===this.rootNode)){
this.focusNode(_73);
}
}
},_onHomeKey:function(){
var _74=this._getRootOrFirstNode();
if(_74){
this.focusNode(_74);
}
},_onEndKey:function(){
var _75=this.rootNode;
while(_75.isExpanded){
var c=_75.getChildren();
_75=c[c.length-1];
}
if(_75&&_75.isTreeNode){
this.focusNode(_75);
}
},multiCharSearchDuration:250,_onLetterKeyNav:function(_76){
var cs=this._curSearch;
if(cs){
cs.pattern=cs.pattern+_76.key;
clearTimeout(cs.timer);
}else{
cs=this._curSearch={pattern:_76.key,startNode:_76.node};
}
var _77=this;
cs.timer=setTimeout(function(){
delete _77._curSearch;
},this.multiCharSearchDuration);
var _78=cs.startNode;
do{
_78=this._getNextNode(_78);
if(!_78){
_78=this._getRootOrFirstNode();
}
}while(_78!==cs.startNode&&(_78.label.toLowerCase().substr(0,cs.pattern.length)!=cs.pattern));
if(_78&&_78.isTreeNode){
if(_78!==cs.startNode){
this.focusNode(_78);
}
}
},isExpandoNode:function(_79,_7a){
return _7.isDescendant(_79,_7a.expandoNode);
},_onClick:function(_7b,e){
var _7c=e.target,_7d=this.isExpandoNode(_7c,_7b);
if((this.openOnClick&&_7b.isExpandable)||_7d){
if(_7b.isExpandable){
this._onExpandoClick({node:_7b});
}
}else{
this._publish("execute",{item:_7b.item,node:_7b,evt:e});
this.onClick(_7b.item,_7b,e);
this.focusNode(_7b);
}
_b.stop(e);
},_onDblClick:function(_7e,e){
var _7f=e.target,_80=(_7f==_7e.expandoNode||_7f==_7e.expandoNodeText);
if((this.openOnDblClick&&_7e.isExpandable)||_80){
if(_7e.isExpandable){
this._onExpandoClick({node:_7e});
}
}else{
this._publish("execute",{item:_7e.item,node:_7e,evt:e});
this.onDblClick(_7e.item,_7e,e);
this.focusNode(_7e);
}
_b.stop(e);
},_onExpandoClick:function(_81){
var _82=_81.node;
this.focusNode(_82);
if(_82.isExpanded){
this._collapseNode(_82);
}else{
this._expandNode(_82);
}
},onClick:function(){
},onDblClick:function(){
},onOpen:function(){
},onClose:function(){
},_getNextNode:function(_83){
if(_83.isExpandable&&_83.isExpanded&&_83.hasChildren()){
return _83.getChildren()[0];
}else{
while(_83&&_83.isTreeNode){
var _84=_83.getNextSibling();
if(_84){
return _84;
}
_83=_83.getParent();
}
return null;
}
},_getRootOrFirstNode:function(){
return this.showRoot?this.rootNode:this.rootNode.getChildren()[0];
},_collapseNode:function(_85){
if(_85._expandNodeDeferred){
delete _85._expandNodeDeferred;
}
if(_85.isExpandable){
if(_85.state=="LOADING"){
return;
}
_85.collapse();
this.onClose(_85.item,_85);
this._state(_85,false);
}
},_expandNode:function(_86,_87){
if(_86._expandNodeDeferred&&!_87){
return _86._expandNodeDeferred;
}
var _88=this.model,_89=_86.item,_8a=this;
switch(_86.state){
case "UNCHECKED":
_86.markProcessing();
var def=(_86._expandNodeDeferred=new _5());
_88.getChildren(_89,function(_8b){
_86.unmarkProcessing();
var _8c=_86.setChildItems(_8b);
var ed=_8a._expandNode(_86,true);
_8c.addCallback(function(){
ed.addCallback(function(){
def.callback();
});
});
},function(err){
console.error(_8a,": error loading root children: ",err);
});
break;
default:
def=(_86._expandNodeDeferred=_86.expand());
this.onOpen(_86.item,_86);
this._state(_86,true);
}
return def;
},focusNode:function(_8d){
_11.focus(_8d.labelNode);
},_onNodeFocus:function(_8e){
if(_8e&&_8e!=this.lastFocused){
if(this.lastFocused&&!this.lastFocused._destroyed){
this.lastFocused.setFocusable(false);
}
_8e.setFocusable(true);
this.lastFocused=_8e;
}
},_onNodeMouseEnter:function(){
},_onNodeMouseLeave:function(){
},_onItemChange:function(_8f){
var _90=this.model,_91=_90.getIdentity(_8f),_92=this._itemNodesMap[_91];
if(_92){
var _93=this.getLabel(_8f),_94=this.getTooltip(_8f);
_1.forEach(_92,function(_95){
_95.set({item:_8f,label:_93,tooltip:_94});
_95._updateItemClasses(_8f);
});
}
},_onItemChildrenChange:function(_96,_97){
var _98=this.model,_99=_98.getIdentity(_96),_9a=this._itemNodesMap[_99];
if(_9a){
_1.forEach(_9a,function(_9b){
_9b.setChildItems(_97);
});
}
},_onItemDelete:function(_9c){
var _9d=this.model,_9e=_9d.getIdentity(_9c),_9f=this._itemNodesMap[_9e];
if(_9f){
_1.forEach(_9f,function(_a0){
this.dndController.removeTreeNode(_a0);
var _a1=_a0.getParent();
if(_a1){
_a1.removeChild(_a0);
}
_a0.destroyRecursive();
},this);
delete this._itemNodesMap[_9e];
}
},_initState:function(){
this._openedNodes={};
if(this.persist&&this.cookieName){
var _a2=_3(this.cookieName);
if(_a2){
_1.forEach(_a2.split(","),function(_a3){
this._openedNodes[_a3]=true;
},this);
}
}
},_state:function(_a4,_a5){
if(!this.persist){
return false;
}
var _a6=_1.map(_a4.getTreePath(),function(_a7){
return this.model.getIdentity(_a7);
},this).join("/");
if(arguments.length===1){
return this._openedNodes[_a6];
}else{
if(_a5){
this._openedNodes[_a6]=true;
}else{
delete this._openedNodes[_a6];
}
var ary=[];
for(var id in this._openedNodes){
ary.push(id);
}
_3(this.cookieName,ary.join(","),{expires:365});
}
},destroy:function(){
if(this._curSearch){
clearTimeout(this._curSearch.timer);
delete this._curSearch;
}
if(this.rootNode){
this.rootNode.destroyRecursive();
}
if(this.dndController&&!_f.isString(this.dndController)){
this.dndController.destroy();
}
this.rootNode=null;
this.inherited(arguments);
},destroyRecursive:function(){
this.destroy();
},resize:function(_a8){
if(_a8){
_9.setMarginBox(this.domNode,_a8);
}
this._nodePixelIndent=_9.position(this.tree.indentDetector).w;
if(this.tree.rootNode){
this.tree.rootNode.set("indent",this.showRoot?0:-1);
}
},_createTreeNode:function(_a9){
return new _1e(_a9);
},_setTextDirAttr:function(_aa){
if(_aa&&this.textDir!=_aa){
this._set("textDir",_aa);
this.rootNode.set("textDir",_aa);
}
}});
_42._TreeNode=_1e;
return _42;
});

View File

@@ -0,0 +1,76 @@
//>>built
define("dijit/WidgetSet",["dojo/_base/array","dojo/_base/declare","dojo/_base/window","./registry"],function(_1,_2,_3,_4){
var _5=_2("dijit.WidgetSet",null,{constructor:function(){
this._hash={};
this.length=0;
},add:function(_6){
if(this._hash[_6.id]){
throw new Error("Tried to register widget with id=="+_6.id+" but that id is already registered");
}
this._hash[_6.id]=_6;
this.length++;
},remove:function(id){
if(this._hash[id]){
delete this._hash[id];
this.length--;
}
},forEach:function(_7,_8){
_8=_8||_3.global;
var i=0,id;
for(id in this._hash){
_7.call(_8,this._hash[id],i++,this._hash);
}
return this;
},filter:function(_9,_a){
_a=_a||_3.global;
var _b=new _5(),i=0,id;
for(id in this._hash){
var w=this._hash[id];
if(_9.call(_a,w,i++,this._hash)){
_b.add(w);
}
}
return _b;
},byId:function(id){
return this._hash[id];
},byClass:function(_c){
var _d=new _5(),id,_e;
for(id in this._hash){
_e=this._hash[id];
if(_e.declaredClass==_c){
_d.add(_e);
}
}
return _d;
},toArray:function(){
var ar=[];
for(var id in this._hash){
ar.push(this._hash[id]);
}
return ar;
},map:function(_f,_10){
return _1.map(this.toArray(),_f,_10);
},every:function(_11,_12){
_12=_12||_3.global;
var x=0,i;
for(i in this._hash){
if(!_11.call(_12,this._hash[i],x++,this._hash)){
return false;
}
}
return true;
},some:function(_13,_14){
_14=_14||_3.global;
var x=0,i;
for(i in this._hash){
if(_13.call(_14,this._hash[i],x++,this._hash)){
return true;
}
}
return false;
}});
_1.forEach(["forEach","filter","byClass","map","every","some"],function(_15){
_4[_15]=_5.prototype[_15];
});
return _5;
});

View File

@@ -0,0 +1,15 @@
//>>built
define("dijit/_BidiSupport",["./_WidgetBase"],function(_1){
_1.extend({getTextDir:function(_2){
return this.textDir=="auto"?this._checkContextual(_2):this.textDir;
},_checkContextual:function(_3){
var _4=/[A-Za-z\u05d0-\u065f\u066a-\u06ef\u06fa-\u07ff\ufb1d-\ufdff\ufe70-\ufefc]/.exec(_3);
return _4?(_4[0]<="z"?"ltr":"rtl"):this.dir?this.dir:this.isLeftToRight()?"ltr":"rtl";
},applyTextDir:function(_5,_6){
var _7=this.textDir=="auto"?this._checkContextual(_6):this.textDir;
if(_5.dir!=_7){
_5.dir=_7;
}
}});
return _1;
});

View File

@@ -0,0 +1,5 @@
//>>built
define("dijit/_Calendar",["dojo/_base/kernel","./Calendar","."],function(_1,_2,_3){
_1.deprecated("dijit._Calendar is deprecated","dijit._Calendar moved to dijit.Calendar",2);
_3._Calendar=_2;
});

View File

@@ -0,0 +1,20 @@
//>>built
define("dijit/_Contained",["dojo/_base/declare","./registry"],function(_1,_2){
return _1("dijit._Contained",null,{_getSibling:function(_3){
var _4=this.domNode;
do{
_4=_4[_3+"Sibling"];
}while(_4&&_4.nodeType!=1);
return _4&&_2.byNode(_4);
},getPreviousSibling:function(){
return this._getSibling("previous");
},getNextSibling:function(){
return this._getSibling("next");
},getIndexInParent:function(){
var p=this.getParent();
if(!p||!p.getIndexOfChild){
return -1;
}
return p.getIndexOfChild(this);
}});
});

View File

@@ -0,0 +1,42 @@
//>>built
define("dijit/_Container",["dojo/_base/array","dojo/_base/declare","dojo/dom-construct","./registry"],function(_1,_2,_3,_4){
return _2("dijit._Container",null,{buildRendering:function(){
this.inherited(arguments);
if(!this.containerNode){
this.containerNode=this.domNode;
}
},addChild:function(_5,_6){
var _7=this.containerNode;
if(_6&&typeof _6=="number"){
var _8=this.getChildren();
if(_8&&_8.length>=_6){
_7=_8[_6-1].domNode;
_6="after";
}
}
_3.place(_5.domNode,_7,_6);
if(this._started&&!_5._started){
_5.startup();
}
},removeChild:function(_9){
if(typeof _9=="number"){
_9=this.getChildren()[_9];
}
if(_9){
var _a=_9.domNode;
if(_a&&_a.parentNode){
_a.parentNode.removeChild(_a);
}
}
},hasChildren:function(){
return this.getChildren().length>0;
},_getSiblingOfChild:function(_b,_c){
var _d=_b.domNode,_e=(_c>0?"nextSibling":"previousSibling");
do{
_d=_d[_e];
}while(_d&&(_d.nodeType!=1||!_4.byNode(_d)));
return _d&&_4.byNode(_d);
},getIndexOfChild:function(_f){
return _1.indexOf(this.getChildren(),_f);
}});
});

View File

@@ -0,0 +1,133 @@
//>>built
define("dijit/_CssStateMixin",["dojo/touch","dojo/_base/array","dojo/_base/declare","dojo/dom-class","dojo/_base/lang","dojo/_base/window"],function(_1,_2,_3,_4,_5,_6){
return _3("dijit._CssStateMixin",[],{cssStateNodes:{},hovering:false,active:false,_applyAttributes:function(){
this.inherited(arguments);
_2.forEach(["onmouseenter","onmouseleave",_1.press],function(e){
this.connect(this.domNode,e,"_cssMouseEvent");
},this);
_2.forEach(["disabled","readOnly","checked","selected","focused","state","hovering","active"],function(_7){
this.watch(_7,_5.hitch(this,"_setStateClass"));
},this);
for(var ap in this.cssStateNodes){
this._trackMouseState(this[ap],this.cssStateNodes[ap]);
}
this._setStateClass();
},_cssMouseEvent:function(_8){
if(!this.disabled){
switch(_8.type){
case "mouseenter":
case "mouseover":
this._set("hovering",true);
this._set("active",this._mouseDown);
break;
case "mouseleave":
case "mouseout":
this._set("hovering",false);
this._set("active",false);
break;
case "mousedown":
case "touchpress":
this._set("active",true);
this._mouseDown=true;
var _9=this.connect(_6.body(),_1.release,function(){
this._mouseDown=false;
this._set("active",false);
this.disconnect(_9);
});
break;
}
}
},_setStateClass:function(){
var _a=this.baseClass.split(" ");
function _b(_c){
_a=_a.concat(_2.map(_a,function(c){
return c+_c;
}),"dijit"+_c);
};
if(!this.isLeftToRight()){
_b("Rtl");
}
var _d=this.checked=="mixed"?"Mixed":(this.checked?"Checked":"");
if(this.checked){
_b(_d);
}
if(this.state){
_b(this.state);
}
if(this.selected){
_b("Selected");
}
if(this.disabled){
_b("Disabled");
}else{
if(this.readOnly){
_b("ReadOnly");
}else{
if(this.active){
_b("Active");
}else{
if(this.hovering){
_b("Hover");
}
}
}
}
if(this.focused){
_b("Focused");
}
var tn=this.stateNode||this.domNode,_e={};
_2.forEach(tn.className.split(" "),function(c){
_e[c]=true;
});
if("_stateClasses" in this){
_2.forEach(this._stateClasses,function(c){
delete _e[c];
});
}
_2.forEach(_a,function(c){
_e[c]=true;
});
var _f=[];
for(var c in _e){
_f.push(c);
}
tn.className=_f.join(" ");
this._stateClasses=_a;
},_trackMouseState:function(_10,_11){
var _12=false,_13=false,_14=false;
var _15=this,cn=_5.hitch(this,"connect",_10);
function _16(){
var _17=("disabled" in _15&&_15.disabled)||("readonly" in _15&&_15.readonly);
_4.toggle(_10,_11+"Hover",_12&&!_13&&!_17);
_4.toggle(_10,_11+"Active",_13&&!_17);
_4.toggle(_10,_11+"Focused",_14&&!_17);
};
cn("onmouseenter",function(){
_12=true;
_16();
});
cn("onmouseleave",function(){
_12=false;
_13=false;
_16();
});
cn(_1.press,function(){
_13=true;
_16();
});
cn(_1.release,function(){
_13=false;
_16();
});
cn("onfocus",function(){
_14=true;
_16();
});
cn("onblur",function(){
_14=false;
_16();
});
this.watch("disabled",_16);
this.watch("readOnly",_16);
}});
});

View File

@@ -0,0 +1,14 @@
//>>built
define("dijit/_DialogMixin",["dojo/_base/declare","./a11y"],function(_1,_2){
return _1("dijit._DialogMixin",null,{execute:function(){
},onCancel:function(){
},onExecute:function(){
},_onSubmit:function(){
this.onExecute();
this.execute(this.get("value"));
},_getFocusItems:function(){
var _3=_2._getTabNavigable(this.containerNode);
this._firstFocusItem=_3.lowest||_3.first||this.closeButtonNode||this.domNode;
this._lastFocusItem=_3.last||_3.highest||this._firstFocusItem;
}});
});

View File

@@ -0,0 +1,11 @@
//>>built
define("dijit/_FocusMixin",["./focus","./_WidgetBase","dojo/_base/declare","dojo/_base/lang"],function(_1,_2,_3,_4){
_4.extend(_2,{focused:false,onFocus:function(){
},onBlur:function(){
},_onFocus:function(){
this.onFocus();
},_onBlur:function(){
this.onBlur();
}});
return _3("dijit._FocusMixin",null,{_focusManager:_1});
});

View File

@@ -0,0 +1,216 @@
//>>built
define("dijit/_HasDropDown",["dojo/_base/declare","dojo/_base/Deferred","dojo/_base/event","dojo/dom","dojo/dom-attr","dojo/dom-class","dojo/dom-geometry","dojo/dom-style","dojo/has","dojo/keys","dojo/_base/lang","dojo/touch","dojo/_base/window","dojo/window","./registry","./focus","./popup","./_FocusMixin"],function(_1,_2,_3,_4,_5,_6,_7,_8,_9,_a,_b,_c,_d,_e,_f,_10,_11,_12){
return _1("dijit._HasDropDown",_12,{_buttonNode:null,_arrowWrapperNode:null,_popupStateNode:null,_aroundNode:null,dropDown:null,autoWidth:true,forceWidth:false,maxHeight:0,dropDownPosition:["below","above"],_stopClickEvents:true,_onDropDownMouseDown:function(e){
if(this.disabled||this.readOnly){
return;
}
e.preventDefault();
this._docHandler=this.connect(_d.doc,_c.release,"_onDropDownMouseUp");
this.toggleDropDown();
},_onDropDownMouseUp:function(e){
if(e&&this._docHandler){
this.disconnect(this._docHandler);
}
var _13=this.dropDown,_14=false;
if(e&&this._opened){
var c=_7.position(this._buttonNode,true);
if(!(e.pageX>=c.x&&e.pageX<=c.x+c.w)||!(e.pageY>=c.y&&e.pageY<=c.y+c.h)){
var t=e.target;
while(t&&!_14){
if(_6.contains(t,"dijitPopup")){
_14=true;
}else{
t=t.parentNode;
}
}
if(_14){
t=e.target;
if(_13.onItemClick){
var _15;
while(t&&!(_15=_f.byNode(t))){
t=t.parentNode;
}
if(_15&&_15.onClick&&_15.getParent){
_15.getParent().onItemClick(_15,e);
}
}
return;
}
}
}
if(this._opened){
if(_13.focus&&_13.autoFocus!==false){
window.setTimeout(_b.hitch(_13,"focus"),1);
}
}else{
setTimeout(_b.hitch(this,"focus"),0);
}
if(_9("ios")){
this._justGotMouseUp=true;
setTimeout(_b.hitch(this,function(){
this._justGotMouseUp=false;
}),0);
}
},_onDropDownClick:function(e){
if(_9("ios")&&!this._justGotMouseUp){
this._onDropDownMouseDown(e);
this._onDropDownMouseUp(e);
}
if(this._stopClickEvents){
_3.stop(e);
}
},buildRendering:function(){
this.inherited(arguments);
this._buttonNode=this._buttonNode||this.focusNode||this.domNode;
this._popupStateNode=this._popupStateNode||this.focusNode||this._buttonNode;
var _16={"after":this.isLeftToRight()?"Right":"Left","before":this.isLeftToRight()?"Left":"Right","above":"Up","below":"Down","left":"Left","right":"Right"}[this.dropDownPosition[0]]||this.dropDownPosition[0]||"Down";
_6.add(this._arrowWrapperNode||this._buttonNode,"dijit"+_16+"ArrowButton");
},postCreate:function(){
this.inherited(arguments);
this.connect(this._buttonNode,_c.press,"_onDropDownMouseDown");
this.connect(this._buttonNode,"onclick","_onDropDownClick");
this.connect(this.focusNode,"onkeypress","_onKey");
this.connect(this.focusNode,"onkeyup","_onKeyUp");
},destroy:function(){
if(this.dropDown){
if(!this.dropDown._destroyed){
this.dropDown.destroyRecursive();
}
delete this.dropDown;
}
this.inherited(arguments);
},_onKey:function(e){
if(this.disabled||this.readOnly){
return;
}
var d=this.dropDown,_17=e.target;
if(d&&this._opened&&d.handleKey){
if(d.handleKey(e)===false){
_3.stop(e);
return;
}
}
if(d&&this._opened&&e.charOrCode==_a.ESCAPE){
this.closeDropDown();
_3.stop(e);
}else{
if(!this._opened&&(e.charOrCode==_a.DOWN_ARROW||((e.charOrCode==_a.ENTER||e.charOrCode==" ")&&((_17.tagName||"").toLowerCase()!=="input"||(_17.type&&_17.type.toLowerCase()!=="text"))))){
this._toggleOnKeyUp=true;
_3.stop(e);
}
}
},_onKeyUp:function(){
if(this._toggleOnKeyUp){
delete this._toggleOnKeyUp;
this.toggleDropDown();
var d=this.dropDown;
if(d&&d.focus){
setTimeout(_b.hitch(d,"focus"),1);
}
}
},_onBlur:function(){
var _18=_10.curNode&&this.dropDown&&_4.isDescendant(_10.curNode,this.dropDown.domNode);
this.closeDropDown(_18);
this.inherited(arguments);
},isLoaded:function(){
return true;
},loadDropDown:function(_19){
_19();
},loadAndOpenDropDown:function(){
var d=new _2(),_1a=_b.hitch(this,function(){
this.openDropDown();
d.resolve(this.dropDown);
});
if(!this.isLoaded()){
this.loadDropDown(_1a);
}else{
_1a();
}
return d;
},toggleDropDown:function(){
if(this.disabled||this.readOnly){
return;
}
if(!this._opened){
this.loadAndOpenDropDown();
}else{
this.closeDropDown();
}
},openDropDown:function(){
var _1b=this.dropDown,_1c=_1b.domNode,_1d=this._aroundNode||this.domNode,_1e=this;
if(!this._preparedNode){
this._preparedNode=true;
if(_1c.style.width){
this._explicitDDWidth=true;
}
if(_1c.style.height){
this._explicitDDHeight=true;
}
}
if(this.maxHeight||this.forceWidth||this.autoWidth){
var _1f={display:"",visibility:"hidden"};
if(!this._explicitDDWidth){
_1f.width="";
}
if(!this._explicitDDHeight){
_1f.height="";
}
_8.set(_1c,_1f);
var _20=this.maxHeight;
if(_20==-1){
var _21=_e.getBox(),_22=_7.position(_1d,false);
_20=Math.floor(Math.max(_22.y,_21.h-(_22.y+_22.h)));
}
_11.moveOffScreen(_1b);
if(_1b.startup&&!_1b._started){
_1b.startup();
}
var mb=_7.getMarginSize(_1c);
var _23=(_20&&mb.h>_20);
_8.set(_1c,{overflowX:"hidden",overflowY:_23?"auto":"hidden"});
if(_23){
mb.h=_20;
if("w" in mb){
mb.w+=16;
}
}else{
delete mb.h;
}
if(this.forceWidth){
mb.w=_1d.offsetWidth;
}else{
if(this.autoWidth){
mb.w=Math.max(mb.w,_1d.offsetWidth);
}else{
delete mb.w;
}
}
if(_b.isFunction(_1b.resize)){
_1b.resize(mb);
}else{
_7.setMarginBox(_1c,mb);
}
}
var _24=_11.open({parent:this,popup:_1b,around:_1d,orient:this.dropDownPosition,onExecute:function(){
_1e.closeDropDown(true);
},onCancel:function(){
_1e.closeDropDown(true);
},onClose:function(){
_5.set(_1e._popupStateNode,"popupActive",false);
_6.remove(_1e._popupStateNode,"dijitHasDropDownOpen");
_1e._opened=false;
}});
_5.set(this._popupStateNode,"popupActive","true");
_6.add(_1e._popupStateNode,"dijitHasDropDownOpen");
this._opened=true;
return _24;
},closeDropDown:function(_25){
if(this._opened){
if(_25){
this.focus();
}
_11.close(this.dropDown);
this._opened=false;
}
}});
});

View File

@@ -0,0 +1,95 @@
//>>built
define("dijit/_KeyNavContainer",["dojo/_base/kernel","./_Container","./_FocusMixin","dojo/_base/array","dojo/keys","dojo/_base/declare","dojo/_base/event","dojo/dom-attr","dojo/_base/lang"],function(_1,_2,_3,_4,_5,_6,_7,_8,_9){
return _6("dijit._KeyNavContainer",[_3,_2],{tabIndex:"0",connectKeyNavHandlers:function(_a,_b){
var _c=(this._keyNavCodes={});
var _d=_9.hitch(this,"focusPrev");
var _e=_9.hitch(this,"focusNext");
_4.forEach(_a,function(_f){
_c[_f]=_d;
});
_4.forEach(_b,function(_10){
_c[_10]=_e;
});
_c[_5.HOME]=_9.hitch(this,"focusFirstChild");
_c[_5.END]=_9.hitch(this,"focusLastChild");
this.connect(this.domNode,"onkeypress","_onContainerKeypress");
this.connect(this.domNode,"onfocus","_onContainerFocus");
},startupKeyNavChildren:function(){
_1.deprecated("startupKeyNavChildren() call no longer needed","","2.0");
},startup:function(){
this.inherited(arguments);
_4.forEach(this.getChildren(),_9.hitch(this,"_startupChild"));
},addChild:function(_11,_12){
this.inherited(arguments);
this._startupChild(_11);
},focus:function(){
this.focusFirstChild();
},focusFirstChild:function(){
this.focusChild(this._getFirstFocusableChild());
},focusLastChild:function(){
this.focusChild(this._getLastFocusableChild());
},focusNext:function(){
this.focusChild(this._getNextFocusableChild(this.focusedChild,1));
},focusPrev:function(){
this.focusChild(this._getNextFocusableChild(this.focusedChild,-1),true);
},focusChild:function(_13,_14){
if(!_13){
return;
}
if(this.focusedChild&&_13!==this.focusedChild){
this._onChildBlur(this.focusedChild);
}
_13.set("tabIndex",this.tabIndex);
_13.focus(_14?"end":"start");
this._set("focusedChild",_13);
},_startupChild:function(_15){
_15.set("tabIndex","-1");
this.connect(_15,"_onFocus",function(){
_15.set("tabIndex",this.tabIndex);
});
this.connect(_15,"_onBlur",function(){
_15.set("tabIndex","-1");
});
},_onContainerFocus:function(evt){
if(evt.target!==this.domNode||this.focusedChild){
return;
}
this.focusFirstChild();
_8.set(this.domNode,"tabIndex","-1");
},_onBlur:function(evt){
if(this.tabIndex){
_8.set(this.domNode,"tabIndex",this.tabIndex);
}
this.focusedChild=null;
this.inherited(arguments);
},_onContainerKeypress:function(evt){
if(evt.ctrlKey||evt.altKey){
return;
}
var _16=this._keyNavCodes[evt.charOrCode];
if(_16){
_16();
_7.stop(evt);
}
},_onChildBlur:function(){
},_getFirstFocusableChild:function(){
return this._getNextFocusableChild(null,1);
},_getLastFocusableChild:function(){
return this._getNextFocusableChild(null,-1);
},_getNextFocusableChild:function(_17,dir){
if(_17){
_17=this._getSiblingOfChild(_17,dir);
}
var _18=this.getChildren();
for(var i=0;i<_18.length;i++){
if(!_17){
_17=_18[(dir>0)?0:(_18.length-1)];
}
if(_17.isFocusable()){
return _17;
}
_17=this._getSiblingOfChild(_17,dir);
}
return null;
}});
});

View File

@@ -0,0 +1,162 @@
//>>built
define("dijit/_MenuBase",["./popup","dojo/window","./_Widget","./_KeyNavContainer","./_TemplatedMixin","dojo/_base/declare","dojo/dom","dojo/dom-attr","dojo/dom-class","dojo/_base/lang","dojo/_base/array"],function(pm,_1,_2,_3,_4,_5,_6,_7,_8,_9,_a){
return _5("dijit._MenuBase",[_2,_4,_3],{parentMenu:null,popupDelay:500,onExecute:function(){
},onCancel:function(){
},_moveToPopup:function(_b){
if(this.focusedChild&&this.focusedChild.popup&&!this.focusedChild.disabled){
this.focusedChild._onClick(_b);
}else{
var _c=this._getTopMenu();
if(_c&&_c._isMenuBar){
_c.focusNext();
}
}
},_onPopupHover:function(){
if(this.currentPopup&&this.currentPopup._pendingClose_timer){
var _d=this.currentPopup.parentMenu;
if(_d.focusedChild){
_d.focusedChild._setSelected(false);
}
_d.focusedChild=this.currentPopup.from_item;
_d.focusedChild._setSelected(true);
this._stopPendingCloseTimer(this.currentPopup);
}
},onItemHover:function(_e){
if(this.isActive){
this.focusChild(_e);
if(this.focusedChild.popup&&!this.focusedChild.disabled&&!this.hover_timer){
this.hover_timer=setTimeout(_9.hitch(this,"_openPopup"),this.popupDelay);
}
}
if(this.focusedChild){
this.focusChild(_e);
}
this._hoveredChild=_e;
},_onChildBlur:function(_f){
this._stopPopupTimer();
_f._setSelected(false);
var _10=_f.popup;
if(_10){
this._stopPendingCloseTimer(_10);
_10._pendingClose_timer=setTimeout(function(){
_10._pendingClose_timer=null;
if(_10.parentMenu){
_10.parentMenu.currentPopup=null;
}
pm.close(_10);
},this.popupDelay);
}
},onItemUnhover:function(_11){
if(this.isActive){
this._stopPopupTimer();
}
if(this._hoveredChild==_11){
this._hoveredChild=null;
}
},_stopPopupTimer:function(){
if(this.hover_timer){
clearTimeout(this.hover_timer);
this.hover_timer=null;
}
},_stopPendingCloseTimer:function(_12){
if(_12._pendingClose_timer){
clearTimeout(_12._pendingClose_timer);
_12._pendingClose_timer=null;
}
},_stopFocusTimer:function(){
if(this._focus_timer){
clearTimeout(this._focus_timer);
this._focus_timer=null;
}
},_getTopMenu:function(){
for(var top=this;top.parentMenu;top=top.parentMenu){
}
return top;
},onItemClick:function(_13,evt){
if(typeof this.isShowingNow=="undefined"){
this._markActive();
}
this.focusChild(_13);
if(_13.disabled){
return false;
}
if(_13.popup){
this._openPopup();
}else{
this.onExecute();
_13.onClick(evt);
}
},_openPopup:function(){
this._stopPopupTimer();
var _14=this.focusedChild;
if(!_14){
return;
}
var _15=_14.popup;
if(_15.isShowingNow){
return;
}
if(this.currentPopup){
this._stopPendingCloseTimer(this.currentPopup);
pm.close(this.currentPopup);
}
_15.parentMenu=this;
_15.from_item=_14;
var _16=this;
pm.open({parent:this,popup:_15,around:_14.domNode,orient:this._orient||["after","before"],onCancel:function(){
_16.focusChild(_14);
_16._cleanUp();
_14._setSelected(true);
_16.focusedChild=_14;
},onExecute:_9.hitch(this,"_cleanUp")});
this.currentPopup=_15;
_15.connect(_15.domNode,"onmouseenter",_9.hitch(_16,"_onPopupHover"));
if(_15.focus){
_15._focus_timer=setTimeout(_9.hitch(_15,function(){
this._focus_timer=null;
this.focus();
}),0);
}
},_markActive:function(){
this.isActive=true;
_8.replace(this.domNode,"dijitMenuActive","dijitMenuPassive");
},onOpen:function(){
this.isShowingNow=true;
this._markActive();
},_markInactive:function(){
this.isActive=false;
_8.replace(this.domNode,"dijitMenuPassive","dijitMenuActive");
},onClose:function(){
this._stopFocusTimer();
this._markInactive();
this.isShowingNow=false;
this.parentMenu=null;
},_closeChild:function(){
this._stopPopupTimer();
if(this.currentPopup){
if(_a.indexOf(this._focusManager.activeStack,this.id)>=0){
_7.set(this.focusedChild.focusNode,"tabIndex",this.tabIndex);
this.focusedChild.focusNode.focus();
}
pm.close(this.currentPopup);
this.currentPopup=null;
}
if(this.focusedChild){
this.focusedChild._setSelected(false);
this.focusedChild._onUnhover();
this.focusedChild=null;
}
},_onItemFocus:function(_17){
if(this._hoveredChild&&this._hoveredChild!=_17){
this._hoveredChild._onUnhover();
}
},_onBlur:function(){
this._cleanUp();
this.inherited(arguments);
},_cleanUp:function(){
this._closeChild();
if(typeof this.isShowingNow=="undefined"){
this._markInactive();
}
}});
});

View File

@@ -0,0 +1,49 @@
//>>built
define("dijit/_OnDijitClickMixin",["dojo/on","dojo/_base/array","dojo/keys","dojo/_base/declare","dojo/_base/sniff","dojo/_base/unload","dojo/_base/window"],function(on,_1,_2,_3,_4,_5,_6){
var _7=null;
if(_4("ie")){
(function(){
var _8=function(_9){
_7=_9.srcElement;
};
_6.doc.attachEvent("onkeydown",_8);
_5.addOnWindowUnload(function(){
_6.doc.detachEvent("onkeydown",_8);
});
})();
}else{
_6.doc.addEventListener("keydown",function(_a){
_7=_a.target;
},true);
}
var _b=function(_c,_d){
if(/input|button/i.test(_c.nodeName)){
return on(_c,"click",_d);
}else{
function _e(e){
return (e.keyCode==_2.ENTER||e.keyCode==_2.SPACE)&&!e.ctrlKey&&!e.shiftKey&&!e.altKey&&!e.metaKey;
};
var _f=[on(_c,"keypress",function(e){
if(_e(e)){
_7=e.target;
e.preventDefault();
}
}),on(_c,"keyup",function(e){
if(_e(e)&&e.target==_7){
_7=null;
_d.call(this,e);
}
}),on(_c,"click",function(e){
_d.call(this,e);
})];
return {remove:function(){
_1.forEach(_f,function(h){
h.remove();
});
}};
}
};
return _3("dijit._OnDijitClickMixin",null,{connect:function(obj,_10,_11){
return this.inherited(arguments,[obj,_10=="ondijitclick"?_b:_10,_11]);
}});
});

View File

@@ -0,0 +1,93 @@
//>>built
define("dijit/_PaletteMixin",["dojo/_base/declare","dojo/dom-attr","dojo/dom-class","dojo/dom-construct","dojo/_base/event","dojo/keys","dojo/_base/lang","./_CssStateMixin","./focus","./typematic"],function(_1,_2,_3,_4,_5,_6,_7,_8,_9,_a){
return _1("dijit._PaletteMixin",[_8],{defaultTimeout:500,timeoutChangeRate:0.9,value:"",_selectedCell:-1,tabIndex:"0",cellClass:"dijitPaletteCell",dyeClass:"",summary:"",_setSummaryAttr:"paletteTableNode",_dyeFactory:function(_b){
var _c=_7.getObject(this.dyeClass);
return new _c(_b);
},_preparePalette:function(_d,_e){
this._cells=[];
var _f=this._blankGif;
this.connect(this.gridNode,"ondijitclick","_onCellClick");
for(var row=0;row<_d.length;row++){
var _10=_4.create("tr",{tabIndex:"-1"},this.gridNode);
for(var col=0;col<_d[row].length;col++){
var _11=_d[row][col];
if(_11){
var _12=this._dyeFactory(_11,row,col);
var _13=_4.create("td",{"class":this.cellClass,tabIndex:"-1",title:_e[_11],role:"gridcell"});
_12.fillCell(_13,_f);
_4.place(_13,_10);
_13.index=this._cells.length;
this._cells.push({node:_13,dye:_12});
}
}
}
this._xDim=_d[0].length;
this._yDim=_d.length;
var _14={UP_ARROW:-this._xDim,DOWN_ARROW:this._xDim,RIGHT_ARROW:this.isLeftToRight()?1:-1,LEFT_ARROW:this.isLeftToRight()?-1:1};
for(var key in _14){
this._connects.push(_a.addKeyListener(this.domNode,{charOrCode:_6[key],ctrlKey:false,altKey:false,shiftKey:false},this,function(){
var _15=_14[key];
return function(_16){
this._navigateByKey(_15,_16);
};
}(),this.timeoutChangeRate,this.defaultTimeout));
}
},postCreate:function(){
this.inherited(arguments);
this._setCurrent(this._cells[0].node);
},focus:function(){
_9.focus(this._currentFocus);
},_onCellClick:function(evt){
var _17=evt.target;
while(_17.tagName!="TD"){
if(!_17.parentNode||_17==this.gridNode){
return;
}
_17=_17.parentNode;
}
var _18=this._getDye(_17).getValue();
this._setCurrent(_17);
_9.focus(_17);
this._setValueAttr(_18,true);
_5.stop(evt);
},_setCurrent:function(_19){
if("_currentFocus" in this){
_2.set(this._currentFocus,"tabIndex","-1");
}
this._currentFocus=_19;
if(_19){
_2.set(_19,"tabIndex",this.tabIndex);
}
},_setValueAttr:function(_1a,_1b){
if(this._selectedCell>=0){
_3.remove(this._cells[this._selectedCell].node,this.cellClass+"Selected");
}
this._selectedCell=-1;
if(_1a){
for(var i=0;i<this._cells.length;i++){
if(_1a==this._cells[i].dye.getValue()){
this._selectedCell=i;
_3.add(this._cells[i].node,this.cellClass+"Selected");
break;
}
}
}
this._set("value",this._selectedCell>=0?_1a:null);
if(_1b||_1b===undefined){
this.onChange(_1a);
}
},onChange:function(){
},_navigateByKey:function(_1c,_1d){
if(_1d==-1){
return;
}
var _1e=this._currentFocus.index+_1c;
if(_1e<this._cells.length&&_1e>-1){
var _1f=this._cells[_1e].node;
this._setCurrent(_1f);
setTimeout(_7.hitch(dijit,"focus",_1f),0);
}
},_getDye:function(_20){
return this._cells[_20.index].dye;
}});
});

View File

@@ -0,0 +1,27 @@
//>>built
define("dijit/_Templated",["./_WidgetBase","./_TemplatedMixin","./_WidgetsInTemplateMixin","dojo/_base/array","dojo/_base/declare","dojo/_base/lang","dojo/_base/kernel"],function(_1,_2,_3,_4,_5,_6,_7){
_6.extend(_1,{waiRole:"",waiState:""});
return _5("dijit._Templated",[_2,_3],{widgetsInTemplate:false,constructor:function(){
_7.deprecated(this.declaredClass+": dijit._Templated deprecated, use dijit._TemplatedMixin and if necessary dijit._WidgetsInTemplateMixin","","2.0");
},_attachTemplateNodes:function(_8,_9){
this.inherited(arguments);
var _a=_6.isArray(_8)?_8:(_8.all||_8.getElementsByTagName("*"));
var x=_6.isArray(_8)?0:-1;
for(;x<_a.length;x++){
var _b=(x==-1)?_8:_a[x];
var _c=_9(_b,"waiRole");
if(_c){
_b.setAttribute("role",_c);
}
var _d=_9(_b,"waiState");
if(_d){
_4.forEach(_d.split(/\s*,\s*/),function(_e){
if(_e.indexOf("-")!=-1){
var _f=_e.split("-");
_b.setAttribute("aria-"+_f[0],_f[1]);
}
});
}
}
}});
});

View File

@@ -0,0 +1,140 @@
//>>built
define("dijit/_TemplatedMixin",["dojo/_base/lang","dojo/touch","./_WidgetBase","dojo/string","dojo/cache","dojo/_base/array","dojo/_base/declare","dojo/dom-construct","dojo/_base/sniff","dojo/_base/unload","dojo/_base/window"],function(_1,_2,_3,_4,_5,_6,_7,_8,_9,_a,_b){
var _c=_7("dijit._TemplatedMixin",null,{templateString:null,templatePath:null,_skipNodeCache:false,_earlyTemplatedStartup:false,constructor:function(){
this._attachPoints=[];
this._attachEvents=[];
},_stringRepl:function(_d){
var _e=this.declaredClass,_f=this;
return _4.substitute(_d,this,function(_10,key){
if(key.charAt(0)=="!"){
_10=_1.getObject(key.substr(1),false,_f);
}
if(typeof _10=="undefined"){
throw new Error(_e+" template:"+key);
}
if(_10==null){
return "";
}
return key.charAt(0)=="!"?_10:_10.toString().replace(/"/g,"&quot;");
},this);
},buildRendering:function(){
if(!this.templateString){
this.templateString=_5(this.templatePath,{sanitize:true});
}
var _11=_c.getCachedTemplate(this.templateString,this._skipNodeCache);
var _12;
if(_1.isString(_11)){
_12=_8.toDom(this._stringRepl(_11));
if(_12.nodeType!=1){
throw new Error("Invalid template: "+_11);
}
}else{
_12=_11.cloneNode(true);
}
this.domNode=_12;
this.inherited(arguments);
this._attachTemplateNodes(_12,function(n,p){
return n.getAttribute(p);
});
this._beforeFillContent();
this._fillContent(this.srcNodeRef);
},_beforeFillContent:function(){
},_fillContent:function(_13){
var _14=this.containerNode;
if(_13&&_14){
while(_13.hasChildNodes()){
_14.appendChild(_13.firstChild);
}
}
},_attachTemplateNodes:function(_15,_16){
var _17=_1.isArray(_15)?_15:(_15.all||_15.getElementsByTagName("*"));
var x=_1.isArray(_15)?0:-1;
for(;x<_17.length;x++){
var _18=(x==-1)?_15:_17[x];
if(this.widgetsInTemplate&&(_16(_18,"dojoType")||_16(_18,"data-dojo-type"))){
continue;
}
var _19=_16(_18,"dojoAttachPoint")||_16(_18,"data-dojo-attach-point");
if(_19){
var _1a,_1b=_19.split(/\s*,\s*/);
while((_1a=_1b.shift())){
if(_1.isArray(this[_1a])){
this[_1a].push(_18);
}else{
this[_1a]=_18;
}
this._attachPoints.push(_1a);
}
}
var _1c=_16(_18,"dojoAttachEvent")||_16(_18,"data-dojo-attach-event");
if(_1c){
var _1d,_1e=_1c.split(/\s*,\s*/);
var _1f=_1.trim;
while((_1d=_1e.shift())){
if(_1d){
var _20=null;
if(_1d.indexOf(":")!=-1){
var _21=_1d.split(":");
_1d=_1f(_21[0]);
_20=_1f(_21[1]);
}else{
_1d=_1f(_1d);
}
if(!_20){
_20=_1d;
}
this._attachEvents.push(this.connect(_18,_2[_1d]||_1d,_20));
}
}
}
}
},destroyRendering:function(){
_6.forEach(this._attachPoints,function(_22){
delete this[_22];
},this);
this._attachPoints=[];
_6.forEach(this._attachEvents,this.disconnect,this);
this._attachEvents=[];
this.inherited(arguments);
}});
_c._templateCache={};
_c.getCachedTemplate=function(_23,_24){
var _25=_c._templateCache;
var key=_23;
var _26=_25[key];
if(_26){
try{
if(!_26.ownerDocument||_26.ownerDocument==_b.doc){
return _26;
}
}
catch(e){
}
_8.destroy(_26);
}
_23=_4.trim(_23);
if(_24||_23.match(/\$\{([^\}]+)\}/g)){
return (_25[key]=_23);
}else{
var _27=_8.toDom(_23);
if(_27.nodeType!=1){
throw new Error("Invalid template: "+_23);
}
return (_25[key]=_27);
}
};
if(_9("ie")){
_a.addOnWindowUnload(function(){
var _28=_c._templateCache;
for(var key in _28){
var _29=_28[key];
if(typeof _29=="object"){
_8.destroy(_29);
}
delete _28[key];
}
});
}
_1.extend(_3,{dojoAttachEvent:"",dojoAttachPoint:""});
return _c;
});

View File

@@ -0,0 +1,219 @@
//>>built
require({cache:{"url:dijit/templates/TimePicker.html":"<div id=\"widget_${id}\" class=\"dijitMenu\"\n ><div data-dojo-attach-point=\"upArrow\" class=\"dijitButtonNode dijitUpArrowButton\" data-dojo-attach-event=\"onmouseenter:_buttonMouse,onmouseleave:_buttonMouse\"\n\t\t><div class=\"dijitReset dijitInline dijitArrowButtonInner\" role=\"presentation\">&#160;</div\n\t\t><div class=\"dijitArrowButtonChar\">&#9650;</div></div\n ><div data-dojo-attach-point=\"timeMenu,focusNode\" data-dojo-attach-event=\"onclick:_onOptionSelected,onmouseover,onmouseout\"></div\n ><div data-dojo-attach-point=\"downArrow\" class=\"dijitButtonNode dijitDownArrowButton\" data-dojo-attach-event=\"onmouseenter:_buttonMouse,onmouseleave:_buttonMouse\"\n\t\t><div class=\"dijitReset dijitInline dijitArrowButtonInner\" role=\"presentation\">&#160;</div\n\t\t><div class=\"dijitArrowButtonChar\">&#9660;</div></div\n></div>\n"}});
define("dijit/_TimePicker",["dojo/_base/array","dojo/date","dojo/date/locale","dojo/date/stamp","dojo/_base/declare","dojo/dom-class","dojo/dom-construct","dojo/_base/event","dojo/_base/kernel","dojo/keys","dojo/_base/lang","dojo/_base/sniff","dojo/query","dijit/typematic","./_Widget","./_TemplatedMixin","./form/_FormValueWidget","dojo/text!./templates/TimePicker.html"],function(_1,_2,_3,_4,_5,_6,_7,_8,_9,_a,_b,_c,_d,_e,_f,_10,_11,_12){
return _5("dijit._TimePicker",[_f,_10],{templateString:_12,baseClass:"dijitTimePicker",clickableIncrement:"T00:15:00",visibleIncrement:"T01:00:00",visibleRange:"T05:00:00",value:new Date(),_visibleIncrement:2,_clickableIncrement:1,_totalIncrements:10,constraints:{},serialize:_4.toISOString,setValue:function(_13){
_9.deprecated("dijit._TimePicker:setValue() is deprecated. Use set('value', ...) instead.","","2.0");
this.set("value",_13);
},_setValueAttr:function(_14){
this._set("value",_14);
this._showText();
},_setFilterStringAttr:function(val){
this._set("filterString",val);
this._showText();
},isDisabledDate:function(){
return false;
},_getFilteredNodes:function(_15,_16,_17,_18){
var _19=[],_1a=_18?_18.date:this._refDate,n,i=_15,max=this._maxIncrement+Math.abs(i),chk=_17?-1:1,dec=_17?1:0,inc=1-dec;
do{
i-=dec;
n=this._createOption(i);
if(n){
if((_17&&n.date>_1a)||(!_17&&n.date<_1a)){
break;
}
_19[_17?"unshift":"push"](n);
_1a=n.date;
}
i+=inc;
}while(_19.length<_16&&(i*chk)<max);
return _19;
},_showText:function(){
var _1b=_4.fromISOString;
this.timeMenu.innerHTML="";
this._clickableIncrementDate=_1b(this.clickableIncrement);
this._visibleIncrementDate=_1b(this.visibleIncrement);
this._visibleRangeDate=_1b(this.visibleRange);
var _1c=function(_1d){
return _1d.getHours()*60*60+_1d.getMinutes()*60+_1d.getSeconds();
},_1e=_1c(this._clickableIncrementDate),_1f=_1c(this._visibleIncrementDate),_20=_1c(this._visibleRangeDate),_21=(this.value||this.currentFocus).getTime();
this._refDate=new Date(_21-_21%(_1e*1000));
this._refDate.setFullYear(1970,0,1);
this._clickableIncrement=1;
this._totalIncrements=_20/_1e;
this._visibleIncrement=_1f/_1e;
this._maxIncrement=(60*60*24)/_1e;
var _22=Math.min(this._totalIncrements,10),_23=this._getFilteredNodes(0,(_22>>1)+1,false),_24=[],_25=_22-_23.length,_26=this._getFilteredNodes(0,_25,true,_23[0]);
if(_26.length<_25&&_23.length>0){
_24=this._getFilteredNodes(_23.length,_25-_26.length,false,_23[_23.length-1]);
}
_1.forEach(_26.concat(_23,_24),function(n){
this.timeMenu.appendChild(n);
},this);
},constructor:function(){
this.constraints={};
},postMixInProperties:function(){
this.inherited(arguments);
this._setConstraintsAttr(this.constraints);
},_setConstraintsAttr:function(_27){
_b.mixin(this,_27);
if(!_27.locale){
_27.locale=this.lang;
}
},postCreate:function(){
this.connect(this.timeMenu,_c("ie")?"onmousewheel":"DOMMouseScroll","_mouseWheeled");
this._connects.push(_e.addMouseListener(this.upArrow,this,"_onArrowUp",33,250));
this._connects.push(_e.addMouseListener(this.downArrow,this,"_onArrowDown",33,250));
this.inherited(arguments);
},_buttonMouse:function(e){
_6.toggle(e.currentTarget,e.currentTarget==this.upArrow?"dijitUpArrowHover":"dijitDownArrowHover",e.type=="mouseenter"||e.type=="mouseover");
},_createOption:function(_28){
var _29=new Date(this._refDate);
var _2a=this._clickableIncrementDate;
_29.setHours(_29.getHours()+_2a.getHours()*_28,_29.getMinutes()+_2a.getMinutes()*_28,_29.getSeconds()+_2a.getSeconds()*_28);
if(this.constraints.selector=="time"){
_29.setFullYear(1970,0,1);
}
var _2b=_3.format(_29,this.constraints);
if(this.filterString&&_2b.toLowerCase().indexOf(this.filterString)!==0){
return null;
}
var div=_7.create("div",{"class":this.baseClass+"Item"});
div.date=_29;
div.index=_28;
_7.create("div",{"class":this.baseClass+"ItemInner",innerHTML:_2b},div);
if(_28%this._visibleIncrement<1&&_28%this._visibleIncrement>-1){
_6.add(div,this.baseClass+"Marker");
}else{
if(!(_28%this._clickableIncrement)){
_6.add(div,this.baseClass+"Tick");
}
}
if(this.isDisabledDate(_29)){
_6.add(div,this.baseClass+"ItemDisabled");
}
if(this.value&&!_2.compare(this.value,_29,this.constraints.selector)){
div.selected=true;
_6.add(div,this.baseClass+"ItemSelected");
if(_6.contains(div,this.baseClass+"Marker")){
_6.add(div,this.baseClass+"MarkerSelected");
}else{
_6.add(div,this.baseClass+"TickSelected");
}
this._highlightOption(div,true);
}
return div;
},_onOptionSelected:function(tgt){
var _2c=tgt.target.date||tgt.target.parentNode.date;
if(!_2c||this.isDisabledDate(_2c)){
return;
}
this._highlighted_option=null;
this.set("value",_2c);
this.onChange(_2c);
},onChange:function(){
},_highlightOption:function(_2d,_2e){
if(!_2d){
return;
}
if(_2e){
if(this._highlighted_option){
this._highlightOption(this._highlighted_option,false);
}
this._highlighted_option=_2d;
}else{
if(this._highlighted_option!==_2d){
return;
}else{
this._highlighted_option=null;
}
}
_6.toggle(_2d,this.baseClass+"ItemHover",_2e);
if(_6.contains(_2d,this.baseClass+"Marker")){
_6.toggle(_2d,this.baseClass+"MarkerHover",_2e);
}else{
_6.toggle(_2d,this.baseClass+"TickHover",_2e);
}
},onmouseover:function(e){
this._keyboardSelected=null;
var tgr=(e.target.parentNode===this.timeMenu)?e.target:e.target.parentNode;
if(!_6.contains(tgr,this.baseClass+"Item")){
return;
}
this._highlightOption(tgr,true);
},onmouseout:function(e){
this._keyboardSelected=null;
var tgr=(e.target.parentNode===this.timeMenu)?e.target:e.target.parentNode;
this._highlightOption(tgr,false);
},_mouseWheeled:function(e){
this._keyboardSelected=null;
_8.stop(e);
var _2f=(_c("ie")?e.wheelDelta:-e.detail);
this[(_2f>0?"_onArrowUp":"_onArrowDown")]();
},_onArrowUp:function(_30){
if(typeof _30=="number"&&_30==-1){
return;
}
if(!this.timeMenu.childNodes.length){
return;
}
var _31=this.timeMenu.childNodes[0].index;
var _32=this._getFilteredNodes(_31,1,true,this.timeMenu.childNodes[0]);
if(_32.length){
this.timeMenu.removeChild(this.timeMenu.childNodes[this.timeMenu.childNodes.length-1]);
this.timeMenu.insertBefore(_32[0],this.timeMenu.childNodes[0]);
}
},_onArrowDown:function(_33){
if(typeof _33=="number"&&_33==-1){
return;
}
if(!this.timeMenu.childNodes.length){
return;
}
var _34=this.timeMenu.childNodes[this.timeMenu.childNodes.length-1].index+1;
var _35=this._getFilteredNodes(_34,1,false,this.timeMenu.childNodes[this.timeMenu.childNodes.length-1]);
if(_35.length){
this.timeMenu.removeChild(this.timeMenu.childNodes[0]);
this.timeMenu.appendChild(_35[0]);
}
},handleKey:function(e){
if(e.charOrCode==_a.DOWN_ARROW||e.charOrCode==_a.UP_ARROW){
_8.stop(e);
if(this._highlighted_option&&!this._highlighted_option.parentNode){
this._highlighted_option=null;
}
var _36=this.timeMenu,tgt=this._highlighted_option||_d("."+this.baseClass+"ItemSelected",_36)[0];
if(!tgt){
tgt=_36.childNodes[0];
}else{
if(_36.childNodes.length){
if(e.charOrCode==_a.DOWN_ARROW&&!tgt.nextSibling){
this._onArrowDown();
}else{
if(e.charOrCode==_a.UP_ARROW&&!tgt.previousSibling){
this._onArrowUp();
}
}
if(e.charOrCode==_a.DOWN_ARROW){
tgt=tgt.nextSibling;
}else{
tgt=tgt.previousSibling;
}
}
}
this._highlightOption(tgt,true);
this._keyboardSelected=tgt;
return false;
}else{
if(e.charOrCode==_a.ENTER||e.charOrCode===_a.TAB){
if(!this._keyboardSelected&&e.charOrCode===_a.TAB){
return true;
}
if(this._highlighted_option){
this._onOptionSelected({target:this._highlighted_option});
}
return e.charOrCode===_a.TAB;
}
}
return undefined;
}});
});

View File

@@ -0,0 +1,73 @@
//>>built
define("dijit/_Widget",["dojo/aspect","dojo/_base/config","dojo/_base/connect","dojo/_base/declare","dojo/_base/kernel","dojo/_base/lang","dojo/query","dojo/ready","./registry","./_WidgetBase","./_OnDijitClickMixin","./_FocusMixin","dojo/uacss","./hccss"],function(_1,_2,_3,_4,_5,_6,_7,_8,_9,_a,_b,_c){
function _d(){
};
function _e(_f){
return function(obj,_10,_11,_12){
if(obj&&typeof _10=="string"&&obj[_10]==_d){
return obj.on(_10.substring(2).toLowerCase(),_6.hitch(_11,_12));
}
return _f.apply(_3,arguments);
};
};
_1.around(_3,"connect",_e);
if(_5.connect){
_1.around(_5,"connect",_e);
}
var _13=_4("dijit._Widget",[_a,_b,_c],{onClick:_d,onDblClick:_d,onKeyDown:_d,onKeyPress:_d,onKeyUp:_d,onMouseDown:_d,onMouseMove:_d,onMouseOut:_d,onMouseOver:_d,onMouseLeave:_d,onMouseEnter:_d,onMouseUp:_d,constructor:function(_14){
this._toConnect={};
for(var _15 in _14){
if(this[_15]===_d){
this._toConnect[_15.replace(/^on/,"").toLowerCase()]=_14[_15];
delete _14[_15];
}
}
},postCreate:function(){
this.inherited(arguments);
for(var _16 in this._toConnect){
this.on(_16,this._toConnect[_16]);
}
delete this._toConnect;
},on:function(_17,_18){
if(this[this._onMap(_17)]===_d){
return _3.connect(this.domNode,_17.toLowerCase(),this,_18);
}
return this.inherited(arguments);
},_setFocusedAttr:function(val){
this._focused=val;
this._set("focused",val);
},setAttribute:function(_19,_1a){
_5.deprecated(this.declaredClass+"::setAttribute(attr, value) is deprecated. Use set() instead.","","2.0");
this.set(_19,_1a);
},attr:function(_1b,_1c){
if(_2.isDebug){
var _1d=arguments.callee._ach||(arguments.callee._ach={}),_1e=(arguments.callee.caller||"unknown caller").toString();
if(!_1d[_1e]){
_5.deprecated(this.declaredClass+"::attr() is deprecated. Use get() or set() instead, called from "+_1e,"","2.0");
_1d[_1e]=true;
}
}
var _1f=arguments.length;
if(_1f>=2||typeof _1b==="object"){
return this.set.apply(this,arguments);
}else{
return this.get(_1b);
}
},getDescendants:function(){
_5.deprecated(this.declaredClass+"::getDescendants() is deprecated. Use getChildren() instead.","","2.0");
return this.containerNode?_7("[widgetId]",this.containerNode).map(_9.byNode):[];
},_onShow:function(){
this.onShow();
},onShow:function(){
},onHide:function(){
},onClose:function(){
return true;
}});
if(!_5.isAsync){
_8(0,function(){
var _20=["dijit/_base"];
require(_20);
});
}
return _13;
});

View File

@@ -0,0 +1,288 @@
//>>built
define("dijit/_WidgetBase",["require","dojo/_base/array","dojo/aspect","dojo/_base/config","dojo/_base/connect","dojo/_base/declare","dojo/dom","dojo/dom-attr","dojo/dom-class","dojo/dom-construct","dojo/dom-geometry","dojo/dom-style","dojo/_base/kernel","dojo/_base/lang","dojo/on","dojo/ready","dojo/Stateful","dojo/topic","dojo/_base/window","./registry"],function(_1,_2,_3,_4,_5,_6,_7,_8,_9,_a,_b,_c,_d,_e,on,_f,_10,_11,win,_12){
if(!_d.isAsync){
_f(0,function(){
var _13=["dijit/_base/manager"];
_1(_13);
});
}
var _14={};
function _15(obj){
var ret={};
for(var _16 in obj){
ret[_16.toLowerCase()]=true;
}
return ret;
};
function _17(_18){
return function(val){
_8[val?"set":"remove"](this.domNode,_18,val);
this._set(_18,val);
};
};
return _6("dijit._WidgetBase",_10,{id:"",_setIdAttr:"domNode",lang:"",_setLangAttr:_17("lang"),dir:"",_setDirAttr:_17("dir"),textDir:"","class":"",_setClassAttr:{node:"domNode",type:"class"},style:"",title:"",tooltip:"",baseClass:"",srcNodeRef:null,domNode:null,containerNode:null,attributeMap:{},_blankGif:_4.blankGif||_1.toUrl("dojo/resources/blank.gif"),postscript:function(_19,_1a){
this.create(_19,_1a);
},create:function(_1b,_1c){
this.srcNodeRef=_7.byId(_1c);
this._connects=[];
this._supportingWidgets=[];
if(this.srcNodeRef&&(typeof this.srcNodeRef.id=="string")){
this.id=this.srcNodeRef.id;
}
if(_1b){
this.params=_1b;
_e.mixin(this,_1b);
}
this.postMixInProperties();
if(!this.id){
this.id=_12.getUniqueId(this.declaredClass.replace(/\./g,"_"));
}
_12.add(this);
this.buildRendering();
if(this.domNode){
this._applyAttributes();
var _1d=this.srcNodeRef;
if(_1d&&_1d.parentNode&&this.domNode!==_1d){
_1d.parentNode.replaceChild(this.domNode,_1d);
}
}
if(this.domNode){
this.domNode.setAttribute("widgetId",this.id);
}
this.postCreate();
if(this.srcNodeRef&&!this.srcNodeRef.parentNode){
delete this.srcNodeRef;
}
this._created=true;
},_applyAttributes:function(){
var _1e=this.constructor,_1f=_1e._setterAttrs;
if(!_1f){
_1f=(_1e._setterAttrs=[]);
for(var _20 in this.attributeMap){
_1f.push(_20);
}
var _21=_1e.prototype;
for(var _22 in _21){
if(_22 in this.attributeMap){
continue;
}
var _23="_set"+_22.replace(/^[a-z]|-[a-zA-Z]/g,function(c){
return c.charAt(c.length-1).toUpperCase();
})+"Attr";
if(_23 in _21){
_1f.push(_22);
}
}
}
_2.forEach(_1f,function(_24){
if(this.params&&_24 in this.params){
}else{
if(this[_24]){
this.set(_24,this[_24]);
}
}
},this);
for(var _25 in this.params){
this.set(_25,this[_25]);
}
},postMixInProperties:function(){
},buildRendering:function(){
if(!this.domNode){
this.domNode=this.srcNodeRef||_a.create("div");
}
if(this.baseClass){
var _26=this.baseClass.split(" ");
if(!this.isLeftToRight()){
_26=_26.concat(_2.map(_26,function(_27){
return _27+"Rtl";
}));
}
_9.add(this.domNode,_26);
}
},postCreate:function(){
},startup:function(){
if(this._started){
return;
}
this._started=true;
_2.forEach(this.getChildren(),function(obj){
if(!obj._started&&!obj._destroyed&&_e.isFunction(obj.startup)){
obj.startup();
obj._started=true;
}
});
},destroyRecursive:function(_28){
this._beingDestroyed=true;
this.destroyDescendants(_28);
this.destroy(_28);
},destroy:function(_29){
this._beingDestroyed=true;
this.uninitialize();
var c;
while(c=this._connects.pop()){
c.remove();
}
var w;
while(w=this._supportingWidgets.pop()){
if(w.destroyRecursive){
w.destroyRecursive();
}else{
if(w.destroy){
w.destroy();
}
}
}
this.destroyRendering(_29);
_12.remove(this.id);
this._destroyed=true;
},destroyRendering:function(_2a){
if(this.bgIframe){
this.bgIframe.destroy(_2a);
delete this.bgIframe;
}
if(this.domNode){
if(_2a){
_8.remove(this.domNode,"widgetId");
}else{
_a.destroy(this.domNode);
}
delete this.domNode;
}
if(this.srcNodeRef){
if(!_2a){
_a.destroy(this.srcNodeRef);
}
delete this.srcNodeRef;
}
},destroyDescendants:function(_2b){
_2.forEach(this.getChildren(),function(_2c){
if(_2c.destroyRecursive){
_2c.destroyRecursive(_2b);
}
});
},uninitialize:function(){
return false;
},_setStyleAttr:function(_2d){
var _2e=this.domNode;
if(_e.isObject(_2d)){
_c.set(_2e,_2d);
}else{
if(_2e.style.cssText){
_2e.style.cssText+="; "+_2d;
}else{
_2e.style.cssText=_2d;
}
}
this._set("style",_2d);
},_attrToDom:function(_2f,_30,_31){
_31=arguments.length>=3?_31:this.attributeMap[_2f];
_2.forEach(_e.isArray(_31)?_31:[_31],function(_32){
var _33=this[_32.node||_32||"domNode"];
var _34=_32.type||"attribute";
switch(_34){
case "attribute":
if(_e.isFunction(_30)){
_30=_e.hitch(this,_30);
}
var _35=_32.attribute?_32.attribute:(/^on[A-Z][a-zA-Z]*$/.test(_2f)?_2f.toLowerCase():_2f);
_8.set(_33,_35,_30);
break;
case "innerText":
_33.innerHTML="";
_33.appendChild(win.doc.createTextNode(_30));
break;
case "innerHTML":
_33.innerHTML=_30;
break;
case "class":
_9.replace(_33,_30,this[_2f]);
break;
}
},this);
},get:function(_36){
var _37=this._getAttrNames(_36);
return this[_37.g]?this[_37.g]():this[_36];
},set:function(_38,_39){
if(typeof _38==="object"){
for(var x in _38){
this.set(x,_38[x]);
}
return this;
}
var _3a=this._getAttrNames(_38),_3b=this[_3a.s];
if(_e.isFunction(_3b)){
var _3c=_3b.apply(this,Array.prototype.slice.call(arguments,1));
}else{
var _3d=this.focusNode&&!_e.isFunction(this.focusNode)?"focusNode":"domNode",tag=this[_3d].tagName,_3e=_14[tag]||(_14[tag]=_15(this[_3d])),map=_38 in this.attributeMap?this.attributeMap[_38]:_3a.s in this?this[_3a.s]:((_3a.l in _3e&&typeof _39!="function")||/^aria-|^data-|^role$/.test(_38))?_3d:null;
if(map!=null){
this._attrToDom(_38,_39,map);
}
this._set(_38,_39);
}
return _3c||this;
},_attrPairNames:{},_getAttrNames:function(_3f){
var apn=this._attrPairNames;
if(apn[_3f]){
return apn[_3f];
}
var uc=_3f.replace(/^[a-z]|-[a-zA-Z]/g,function(c){
return c.charAt(c.length-1).toUpperCase();
});
return (apn[_3f]={n:_3f+"Node",s:"_set"+uc+"Attr",g:"_get"+uc+"Attr",l:uc.toLowerCase()});
},_set:function(_40,_41){
var _42=this[_40];
this[_40]=_41;
if(this._watchCallbacks&&this._created&&_41!==_42){
this._watchCallbacks(_40,_42,_41);
}
},on:function(_43,_44){
return _3.after(this,this._onMap(_43),_44,true);
},_onMap:function(_45){
var _46=this.constructor,map=_46._onMap;
if(!map){
map=(_46._onMap={});
for(var _47 in _46.prototype){
if(/^on/.test(_47)){
map[_47.replace(/^on/,"").toLowerCase()]=_47;
}
}
}
return map[_45.toLowerCase()];
},toString:function(){
return "[Widget "+this.declaredClass+", "+(this.id||"NO ID")+"]";
},getChildren:function(){
return this.containerNode?_12.findWidgets(this.containerNode):[];
},getParent:function(){
return _12.getEnclosingWidget(this.domNode.parentNode);
},connect:function(obj,_48,_49){
var _4a=_5.connect(obj,_48,this,_49);
this._connects.push(_4a);
return _4a;
},disconnect:function(_4b){
var i=_2.indexOf(this._connects,_4b);
if(i!=-1){
_4b.remove();
this._connects.splice(i,1);
}
},subscribe:function(t,_4c){
var _4d=_11.subscribe(t,_e.hitch(this,_4c));
this._connects.push(_4d);
return _4d;
},unsubscribe:function(_4e){
this.disconnect(_4e);
},isLeftToRight:function(){
return this.dir?(this.dir=="ltr"):_b.isBodyLtr();
},isFocusable:function(){
return this.focus&&(_c.get(this.domNode,"display")!="none");
},placeAt:function(_4f,_50){
if(_4f.declaredClass&&_4f.addChild){
_4f.addChild(this,_50);
}else{
_a.place(this.domNode,_4f,_50);
}
return this;
},getTextDir:function(_51,_52){
return _52;
},applyTextDir:function(){
}});
});

View File

@@ -0,0 +1,20 @@
//>>built
define("dijit/_WidgetsInTemplateMixin",["dojo/_base/array","dojo/_base/declare","dojo/parser","dijit/registry"],function(_1,_2,_3,_4){
return _2("dijit._WidgetsInTemplateMixin",null,{_earlyTemplatedStartup:false,widgetsInTemplate:true,_beforeFillContent:function(){
if(this.widgetsInTemplate){
var _5=this.domNode;
var cw=(this._startupWidgets=_3.parse(_5,{noStart:!this._earlyTemplatedStartup,template:true,inherited:{dir:this.dir,lang:this.lang,textDir:this.textDir},propsThis:this,scope:"dojo"}));
this._supportingWidgets=_4.findWidgets(_5);
this._attachTemplateNodes(cw,function(n,p){
return n[p];
});
}
},startup:function(){
_1.forEach(this._startupWidgets,function(w){
if(w&&!w._started&&w.startup){
w.startup();
}
});
this.inherited(arguments);
}});
});

View File

@@ -0,0 +1,4 @@
//>>built
define("dijit/_base",[".","./a11y","./WidgetSet","./_base/focus","./_base/manager","./_base/place","./_base/popup","./_base/scroll","./_base/sniff","./_base/typematic","./_base/wai","./_base/window"],function(_1){
return _1._base;
});

View File

@@ -0,0 +1,161 @@
//>>built
define("dijit/_base/focus",["dojo/_base/array","dojo/dom","dojo/_base/lang","dojo/topic","dojo/_base/window","../focus",".."],function(_1,_2,_3,_4,_5,_6,_7){
_3.mixin(_7,{_curFocus:null,_prevFocus:null,isCollapsed:function(){
return _7.getBookmark().isCollapsed;
},getBookmark:function(){
var bm,rg,tg,_8=_5.doc.selection,cf=_6.curNode;
if(_5.global.getSelection){
_8=_5.global.getSelection();
if(_8){
if(_8.isCollapsed){
tg=cf?cf.tagName:"";
if(tg){
tg=tg.toLowerCase();
if(tg=="textarea"||(tg=="input"&&(!cf.type||cf.type.toLowerCase()=="text"))){
_8={start:cf.selectionStart,end:cf.selectionEnd,node:cf,pRange:true};
return {isCollapsed:(_8.end<=_8.start),mark:_8};
}
}
bm={isCollapsed:true};
if(_8.rangeCount){
bm.mark=_8.getRangeAt(0).cloneRange();
}
}else{
rg=_8.getRangeAt(0);
bm={isCollapsed:false,mark:rg.cloneRange()};
}
}
}else{
if(_8){
tg=cf?cf.tagName:"";
tg=tg.toLowerCase();
if(cf&&tg&&(tg=="button"||tg=="textarea"||tg=="input")){
if(_8.type&&_8.type.toLowerCase()=="none"){
return {isCollapsed:true,mark:null};
}else{
rg=_8.createRange();
return {isCollapsed:rg.text&&rg.text.length?false:true,mark:{range:rg,pRange:true}};
}
}
bm={};
try{
rg=_8.createRange();
bm.isCollapsed=!(_8.type=="Text"?rg.htmlText.length:rg.length);
}
catch(e){
bm.isCollapsed=true;
return bm;
}
if(_8.type.toUpperCase()=="CONTROL"){
if(rg.length){
bm.mark=[];
var i=0,_9=rg.length;
while(i<_9){
bm.mark.push(rg.item(i++));
}
}else{
bm.isCollapsed=true;
bm.mark=null;
}
}else{
bm.mark=rg.getBookmark();
}
}else{
console.warn("No idea how to store the current selection for this browser!");
}
}
return bm;
},moveToBookmark:function(_a){
var _b=_5.doc,_c=_a.mark;
if(_c){
if(_5.global.getSelection){
var _d=_5.global.getSelection();
if(_d&&_d.removeAllRanges){
if(_c.pRange){
var n=_c.node;
n.selectionStart=_c.start;
n.selectionEnd=_c.end;
}else{
_d.removeAllRanges();
_d.addRange(_c);
}
}else{
console.warn("No idea how to restore selection for this browser!");
}
}else{
if(_b.selection&&_c){
var rg;
if(_c.pRange){
rg=_c.range;
}else{
if(_3.isArray(_c)){
rg=_b.body.createControlRange();
_1.forEach(_c,function(n){
rg.addElement(n);
});
}else{
rg=_b.body.createTextRange();
rg.moveToBookmark(_c);
}
}
rg.select();
}
}
}
},getFocus:function(_e,_f){
var _10=!_6.curNode||(_e&&_2.isDescendant(_6.curNode,_e.domNode))?_7._prevFocus:_6.curNode;
return {node:_10,bookmark:_10&&(_10==_6.curNode)&&_5.withGlobal(_f||_5.global,_7.getBookmark),openedForWindow:_f};
},_activeStack:[],registerIframe:function(_11){
return _6.registerIframe(_11);
},unregisterIframe:function(_12){
_12&&_12.remove();
},registerWin:function(_13,_14){
return _6.registerWin(_13,_14);
},unregisterWin:function(_15){
_15&&_15.remove();
}});
_6.focus=function(_16){
if(!_16){
return;
}
var _17="node" in _16?_16.node:_16,_18=_16.bookmark,_19=_16.openedForWindow,_1a=_18?_18.isCollapsed:false;
if(_17){
var _1b=(_17.tagName.toLowerCase()=="iframe")?_17.contentWindow:_17;
if(_1b&&_1b.focus){
try{
_1b.focus();
}
catch(e){
}
}
_6._onFocusNode(_17);
}
if(_18&&_5.withGlobal(_19||_5.global,_7.isCollapsed)&&!_1a){
if(_19){
_19.focus();
}
try{
_5.withGlobal(_19||_5.global,_7.moveToBookmark,null,[_18]);
}
catch(e2){
}
}
};
_6.watch("curNode",function(_1c,_1d,_1e){
_7._curFocus=_1e;
_7._prevFocus=_1d;
if(_1e){
_4.publish("focusNode",_1e);
}
});
_6.watch("activeStack",function(_1f,_20,_21){
_7._activeStack=_21;
});
_6.on("widget-blur",function(_22,by){
_4.publish("widgetBlur",_22,by);
});
_6.on("widget-focus",function(_23,by){
_4.publish("widgetFocus",_23,by);
});
return _7;
});

View File

@@ -0,0 +1,8 @@
//>>built
define("dijit/_base/manager",["dojo/_base/array","dojo/_base/config","../registry",".."],function(_1,_2,_3,_4){
_1.forEach(["byId","getUniqueId","findWidgets","_destroyAll","byNode","getEnclosingWidget"],function(_5){
_4[_5]=_3[_5];
});
_4.defaultDuration=_2["defaultDuration"]||200;
return _4;
});

View File

@@ -0,0 +1,50 @@
//>>built
define("dijit/_base/place",["dojo/_base/array","dojo/_base/lang","dojo/window","../place",".."],function(_1,_2,_3,_4,_5){
_5.getViewport=function(){
return _3.getBox();
};
_5.placeOnScreen=_4.at;
_5.placeOnScreenAroundElement=function(_6,_7,_8,_9){
var _a;
if(_2.isArray(_8)){
_a=_8;
}else{
_a=[];
for(var _b in _8){
_a.push({aroundCorner:_b,corner:_8[_b]});
}
}
return _4.around(_6,_7,_a,true,_9);
};
_5.placeOnScreenAroundNode=_5.placeOnScreenAroundElement;
_5.placeOnScreenAroundRectangle=_5.placeOnScreenAroundElement;
_5.getPopupAroundAlignment=function(_c,_d){
var _e={};
_1.forEach(_c,function(_f){
var ltr=_d;
switch(_f){
case "after":
_e[_d?"BR":"BL"]=_d?"BL":"BR";
break;
case "before":
_e[_d?"BL":"BR"]=_d?"BR":"BL";
break;
case "below-alt":
ltr=!ltr;
case "below":
_e[ltr?"BL":"BR"]=ltr?"TL":"TR";
_e[ltr?"BR":"BL"]=ltr?"TR":"TL";
break;
case "above-alt":
ltr=!ltr;
case "above":
default:
_e[ltr?"TL":"TR"]=ltr?"BL":"BR";
_e[ltr?"TR":"TL"]=ltr?"BR":"BL";
break;
}
});
return _e;
};
return _5;
});

View File

@@ -0,0 +1,23 @@
//>>built
define("dijit/_base/popup",["dojo/dom-class","../popup","../BackgroundIframe"],function(_1,_2){
var _3=_2._createWrapper;
_2._createWrapper=function(_4){
if(!_4.declaredClass){
_4={_popupWrapper:(_4.parentNode&&_1.contains(_4.parentNode,"dijitPopup"))?_4.parentNode:null,domNode:_4,destroy:function(){
}};
}
return _3.call(this,_4);
};
var _5=_2.open;
_2.open=function(_6){
if(_6.orient&&typeof _6.orient!="string"&&!("length" in _6.orient)){
var _7=[];
for(var _8 in _6.orient){
_7.push({aroundCorner:_8,corner:_6.orient[_8]});
}
_6.orient=_7;
}
return _5.call(this,_6);
};
return _2;
});

View File

@@ -0,0 +1,6 @@
//>>built
define("dijit/_base/scroll",["dojo/window",".."],function(_1,_2){
_2.scrollIntoView=function(_3,_4){
_1.scrollIntoView(_3,_4);
};
});

View File

@@ -0,0 +1,3 @@
//>>built
define("dijit/_base/sniff",["dojo/uacss"],function(){
});

View File

@@ -0,0 +1,3 @@
//>>built
define("dijit/_base/typematic",["../typematic"],function(){
});

View File

@@ -0,0 +1,31 @@
//>>built
define("dijit/_base/wai",["dojo/dom-attr","dojo/_base/lang","..","../hccss"],function(_1,_2,_3){
_2.mixin(_3,{hasWaiRole:function(_4,_5){
var _6=this.getWaiRole(_4);
return _5?(_6.indexOf(_5)>-1):(_6.length>0);
},getWaiRole:function(_7){
return _2.trim((_1.get(_7,"role")||"").replace("wairole:",""));
},setWaiRole:function(_8,_9){
_1.set(_8,"role",_9);
},removeWaiRole:function(_a,_b){
var _c=_1.get(_a,"role");
if(!_c){
return;
}
if(_b){
var t=_2.trim((" "+_c+" ").replace(" "+_b+" "," "));
_1.set(_a,"role",t);
}else{
_a.removeAttribute("role");
}
},hasWaiState:function(_d,_e){
return _d.hasAttribute?_d.hasAttribute("aria-"+_e):!!_d.getAttribute("aria-"+_e);
},getWaiState:function(_f,_10){
return _f.getAttribute("aria-"+_10)||"";
},setWaiState:function(_11,_12,_13){
_11.setAttribute("aria-"+_12,_13);
},removeWaiState:function(_14,_15){
_14.removeAttribute("aria-"+_15);
}});
return _3;
});

View File

@@ -0,0 +1,6 @@
//>>built
define("dijit/_base/window",["dojo/window",".."],function(_1,_2){
_2.getDocumentWindow=function(_3){
return _1.get(_3);
};
});

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,102 @@
//>>built
define("dijit/_editor/_Plugin",["dojo/_base/connect","dojo/_base/declare","dojo/_base/lang","../form/Button"],function(_1,_2,_3,_4){
var _5=_2("dijit._editor._Plugin",null,{constructor:function(_6){
this.params=_6||{};
_3.mixin(this,this.params);
this._connects=[];
this._attrPairNames={};
},editor:null,iconClassPrefix:"dijitEditorIcon",button:null,command:"",useDefaultCommand:true,buttonClass:_4,disabled:false,getLabel:function(_7){
return this.editor.commands[_7];
},_initButton:function(){
if(this.command.length){
var _8=this.getLabel(this.command),_9=this.editor,_a=this.iconClassPrefix+" "+this.iconClassPrefix+this.command.charAt(0).toUpperCase()+this.command.substr(1);
if(!this.button){
var _b=_3.mixin({label:_8,dir:_9.dir,lang:_9.lang,showLabel:false,iconClass:_a,dropDown:this.dropDown,tabIndex:"-1"},this.params||{});
this.button=new this.buttonClass(_b);
}
}
if(this.get("disabled")&&this.button){
this.button.set("disabled",this.get("disabled"));
}
},destroy:function(){
var h;
while(h=this._connects.pop()){
h.remove();
}
if(this.dropDown){
this.dropDown.destroyRecursive();
}
},connect:function(o,f,tf){
this._connects.push(_1.connect(o,f,this,tf));
},updateState:function(){
var e=this.editor,c=this.command,_c,_d;
if(!e||!e.isLoaded||!c.length){
return;
}
var _e=this.get("disabled");
if(this.button){
try{
_d=!_e&&e.queryCommandEnabled(c);
if(this.enabled!==_d){
this.enabled=_d;
this.button.set("disabled",!_d);
}
if(typeof this.button.checked=="boolean"){
_c=e.queryCommandState(c);
if(this.checked!==_c){
this.checked=_c;
this.button.set("checked",e.queryCommandState(c));
}
}
}
catch(e){
}
}
},setEditor:function(_f){
this.editor=_f;
this._initButton();
if(this.button&&this.useDefaultCommand){
if(this.editor.queryCommandAvailable(this.command)){
this.connect(this.button,"onClick",_3.hitch(this.editor,"execCommand",this.command,this.commandArg));
}else{
this.button.domNode.style.display="none";
}
}
this.connect(this.editor,"onNormalizedDisplayChanged","updateState");
},setToolbar:function(_10){
if(this.button){
_10.addChild(this.button);
}
},set:function(_11,_12){
if(typeof _11==="object"){
for(var x in _11){
this.set(x,_11[x]);
}
return this;
}
var _13=this._getAttrNames(_11);
if(this[_13.s]){
var _14=this[_13.s].apply(this,Array.prototype.slice.call(arguments,1));
}else{
this._set(_11,_12);
}
return _14||this;
},get:function(_15){
var _16=this._getAttrNames(_15);
return this[_16.g]?this[_16.g]():this[_15];
},_setDisabledAttr:function(_17){
this.disabled=_17;
this.updateState();
},_getAttrNames:function(_18){
var apn=this._attrPairNames;
if(apn[_18]){
return apn[_18];
}
var uc=_18.charAt(0).toUpperCase()+_18.substr(1);
return (apn[_18]={s:"_set"+uc+"Attr",g:"_get"+uc+"Attr"});
},_set:function(_19,_1a){
this[_19]=_1a;
}});
_5.registry={};
return _5;
});

View File

@@ -0,0 +1,141 @@
//>>built
define("dijit/_editor/html",["dojo/_base/lang","dojo/_base/sniff",".."],function(_1,_2,_3){
_1.getObject("_editor",true,_3);
_3._editor.escapeXml=function(_4,_5){
_4=_4.replace(/&/gm,"&amp;").replace(/</gm,"&lt;").replace(/>/gm,"&gt;").replace(/"/gm,"&quot;");
if(!_5){
_4=_4.replace(/'/gm,"&#39;");
}
return _4;
};
_3._editor.getNodeHtml=function(_6){
var _7;
switch(_6.nodeType){
case 1:
var _8=_6.nodeName.toLowerCase();
if(!_8||_8.charAt(0)=="/"){
return "";
}
_7="<"+_8;
var _9=[];
var _a;
if(_2("ie")&&_6.outerHTML){
var s=_6.outerHTML;
s=s.substr(0,s.indexOf(">")).replace(/(['"])[^"']*\1/g,"");
var _b=/(\b\w+)\s?=/g;
var m,_c;
while((m=_b.exec(s))){
_c=m[1];
if(_c.substr(0,3)!="_dj"){
if(_c=="src"||_c=="href"){
if(_6.getAttribute("_djrealurl")){
_9.push([_c,_6.getAttribute("_djrealurl")]);
continue;
}
}
var _d,_e;
switch(_c){
case "style":
_d=_6.style.cssText.toLowerCase();
break;
case "class":
_d=_6.className;
break;
case "width":
if(_8==="img"){
_e=/width=(\S+)/i.exec(s);
if(_e){
_d=_e[1];
}
break;
}
case "height":
if(_8==="img"){
_e=/height=(\S+)/i.exec(s);
if(_e){
_d=_e[1];
}
break;
}
default:
_d=_6.getAttribute(_c);
}
if(_d!=null){
_9.push([_c,_d.toString()]);
}
}
}
}else{
var i=0;
while((_a=_6.attributes[i++])){
var n=_a.name;
if(n.substr(0,3)!="_dj"){
var v=_a.value;
if(n=="src"||n=="href"){
if(_6.getAttribute("_djrealurl")){
v=_6.getAttribute("_djrealurl");
}
}
_9.push([n,v]);
}
}
}
_9.sort(function(a,b){
return a[0]<b[0]?-1:(a[0]==b[0]?0:1);
});
var j=0;
while((_a=_9[j++])){
_7+=" "+_a[0]+"=\""+(_1.isString(_a[1])?_3._editor.escapeXml(_a[1],true):_a[1])+"\"";
}
if(_8==="script"){
_7+=">"+_6.innerHTML+"</"+_8+">";
}else{
if(_6.childNodes.length){
_7+=">"+_3._editor.getChildrenHtml(_6)+"</"+_8+">";
}else{
switch(_8){
case "br":
case "hr":
case "img":
case "input":
case "base":
case "meta":
case "area":
case "basefont":
_7+=" />";
break;
default:
_7+="></"+_8+">";
}
}
}
break;
case 4:
case 3:
_7=_3._editor.escapeXml(_6.nodeValue,true);
break;
case 8:
_7="<!--"+_3._editor.escapeXml(_6.nodeValue,true)+"-->";
break;
default:
_7="<!-- Element not recognized - Type: "+_6.nodeType+" Name: "+_6.nodeName+"-->";
}
return _7;
};
_3._editor.getChildrenHtml=function(_f){
var out="";
if(!_f){
return out;
}
var _10=_f["childNodes"]||_f;
var _11=!_2("ie")||_10!==_f;
var _12,i=0;
while((_12=_10[i++])){
if(!_11||_12.parentNode==_f){
out+=_3._editor.getNodeHtml(_12);
}
}
return out;
};
return _3._editor;
});

View File

@@ -0,0 +1,63 @@
//>>built
define("dijit/_editor/nls/FontChoice", { root:
//begin v1.x content
({
fontSize: "Size",
fontName: "Font",
formatBlock: "Format",
serif: "serif",
"sans-serif": "sans-serif",
monospace: "monospace",
cursive: "cursive",
fantasy: "fantasy",
noFormat: "None",
p: "Paragraph",
h1: "Heading",
h2: "Subheading",
h3: "Sub-subheading",
pre: "Pre-formatted",
1: "xx-small",
2: "x-small",
3: "small",
4: "medium",
5: "large",
6: "x-large",
7: "xx-large"
})
//end v1.x content
,
"zh": true,
"zh-tw": true,
"tr": true,
"th": true,
"sv": true,
"sl": true,
"sk": true,
"ru": true,
"ro": true,
"pt": true,
"pt-pt": true,
"pl": true,
"nl": true,
"nb": true,
"ko": true,
"kk": true,
"ja": true,
"it": true,
"hu": true,
"hr": true,
"he": true,
"fr": true,
"fi": true,
"es": true,
"el": true,
"de": true,
"da": true,
"cs": true,
"ca": true,
"az": true,
"ar": true
});

View File

@@ -0,0 +1,49 @@
//>>built
define("dijit/_editor/nls/LinkDialog", { root:
//begin v1.x content
({
createLinkTitle: "Link Properties",
insertImageTitle: "Image Properties",
url: "URL:",
text: "Description:",
target: "Target:",
set: "Set",
currentWindow: "Current Window",
parentWindow: "Parent Window",
topWindow: "Topmost Window",
newWindow: "New Window"
})
//end v1.x content
,
"zh": true,
"zh-tw": true,
"tr": true,
"th": true,
"sv": true,
"sl": true,
"sk": true,
"ru": true,
"ro": true,
"pt": true,
"pt-pt": true,
"pl": true,
"nl": true,
"nb": true,
"ko": true,
"kk": true,
"ja": true,
"it": true,
"hu": true,
"hr": true,
"he": true,
"fr": true,
"fi": true,
"es": true,
"el": true,
"de": true,
"da": true,
"cs": true,
"ca": true,
"az": true,
"ar": true
});

View File

@@ -0,0 +1,31 @@
//>>built
define(
"dijit/_editor/nls/ar/FontChoice", //begin v1.x content
({
fontSize: "الحجم",
fontName: "طاقم طباعة",
formatBlock: "النسق",
serif: "serif",
"sans-serif": "sans-serif",
monospace: "أحادي المسافة",
cursive: "كتابة بحروف متصلة",
fantasy: "خيالي",
noFormat: "‏لا شيء‏",
p: "فقرة",
h1: "عنوان",
h2: "عنوان فرعي",
h3: "فرعي-عنوان فرعي",
pre: "منسق بصفة مسبقة",
1: "صغير جدا جدا",
2: "صغير جدا",
3: "صغير",
4: "متوسط",
5: "كبير",
6: "كبير جدا",
7: "كبير جدا جدا"
})
//end v1.x content
);

View File

@@ -0,0 +1,18 @@
//>>built
define(
"dijit/_editor/nls/ar/LinkDialog", //begin v1.x content
({
createLinkTitle: "خصائص الوصلة",
insertImageTitle: "خصائص الصورة",
url: "‏عنوان URL:",
text: "الوصف:",
target: "الهدف:",
set: "تحديد",
currentWindow: "النافذة الحالية",
parentWindow: "النافذة الرئيسية",
topWindow: "النافذة العلوية",
newWindow: "‏نافذة جديدة‏"
})
//end v1.x content
);

View File

@@ -0,0 +1,55 @@
//>>built
define(
"dijit/_editor/nls/ar/commands", //begin v1.x content
({
'bold': 'عري~ض',
'copy': 'نسخ',
'cut': 'قص',
'delete': 'حذف',
'indent': 'ازاحة للداخل',
'insertHorizontalRule': 'مسطرة أفقية',
'insertOrderedList': '‏كشف مرقم‏',
'insertUnorderedList': 'كشف نقطي',
'italic': '~مائل',
'justifyCenter': 'محاذاة في الوسط',
'justifyFull': 'ضبط',
'justifyLeft': 'محاذاة الى اليسار',
'justifyRight': 'محاذاة الى اليمين',
'outdent': 'ازاحة للخارج',
'paste': 'لصق',
'redo': '‏اعادة‏',
'removeFormat': 'ازالة النسق',
'selectAll': '‏اختيار كل‏',
'strikethrough': 'تشطيب',
'subscript': 'رمز سفلي',
'superscript': 'رمز علوي',
'underline': '~تسطير',
'undo': 'تراجع',
'unlink': 'ازالة وصلة',
'createLink': 'تكوين وصلة',
'toggleDir': 'تبديل الاتجاه',
'insertImage': 'ادراج صورة',
'insertTable': 'ادراج/تحرير جدول',
'toggleTableBorder': 'تبديل حدود الجدول',
'deleteTable': 'حذف جدول',
'tableProp': 'خصائص الجدول',
'htmlToggle': 'مصدر HTML',
'foreColor': 'لون الواجهة الأمامية',
'hiliteColor': '‏لون الخلفية‏',
'plainFormatBlock': 'نمط الفقرة',
'formatBlock': 'نمط الفقرة',
'fontSize': 'حجم طاقم الطباعة',
'fontName': 'اسم طاقم الطباعة',
'tabIndent': 'ازاحة علامة الجدولة للداخل',
"fullScreen": "تبديل الشاشة الكاملة",
"viewSource": "مشاهدة مصدر HTML",
"print": "طباعة",
"newPage": "صفحة جديدة",
/* Error messages */
'systemShortcut': 'يكون التصرف "${0}" متاحا فقط ببرنامج الاستعراض الخاص بك باستخدام المسار المختصر للوحة المفاتيح. استخدم ${1}.',
'ctrlKey':'ctrl+${0}',
'appleKey':'\u2318${0}' // "command" or open-apple key on Macintosh
})
//end v1.x content
);

View File

@@ -0,0 +1,28 @@
//>>built
define(
"dijit/_editor/nls/az/FontChoice", //begin v1.x content
({
"1" : "xx-kiçik",
"2" : "x-kiçik",
"formatBlock" : "Format",
"3" : "kiçik",
"4" : "orta",
"5" : "böyük",
"6" : "çox-böyük",
"7" : "ən böyük",
"fantasy" : "fantaziya",
"serif" : "serif",
"p" : "Abzas",
"pre" : "Əvvəldən düzəldilmiş",
"sans-serif" : "sans-serif",
"fontName" : "Şrift",
"h1" : "Başlıq",
"h2" : "Alt Başlıq",
"h3" : "Alt Alt Başlıq",
"monospace" : "Tək aralıqlı",
"fontSize" : "Ölçü",
"cursive" : "Əl yazısı",
"noFormat" : "Heç biri"
})
//end v1.x content
);

View File

@@ -0,0 +1,17 @@
//>>built
define(
"dijit/_editor/nls/az/LinkDialog", //begin v1.x content
({
"text" : "Yazı:",
"insertImageTitle" : "Şəkil başlığı əlavə et",
"set" : "Yönəlt",
"newWindow" : "Yeni pəncərə",
"topWindow" : "Üst pəncərə",
"target" : "Hədəf:",
"createLinkTitle" : "Köprü başlığı yarat",
"parentWindow" : "Ana pəncərə",
"currentWindow" : "Hazırki pəncərə",
"url" : "URL:"
})
//end v1.x content
);

View File

@@ -0,0 +1,53 @@
//>>built
define(
"dijit/_editor/nls/az/commands", //begin v1.x content
({
"removeFormat" : "Formatı Sil",
"copy" :"Köçür",
"paste" :"Yapışdır",
"selectAll" :"Hamısını seç",
"insertOrderedList" :"Nömrəli siyahı",
"insertTable" :"Cədvəl əlavə et",
"print" :"Yazdır",
"underline" :"Altıxətli",
"foreColor" :"Ön plan rəngi",
"htmlToggle" :"HTML kodu",
"formatBlock" :"Abzas stili",
"newPage" :"Yeni səhifə",
"insertHorizontalRule" :"Üfüqi qayda",
"delete" :"Sil",
"insertUnorderedList" :"İşarələnmiş siyahı",
"tableProp" :"Cədvəl xüsusiyyətləri",
"insertImage" :"Şəkil əlavə et",
"superscript" :"Üst işarə",
"subscript" :"Alt işarə",
"createLink" :"Körpü yarat",
"undo" :"Geriyə al",
"fullScreen" :"Tam ekran aç",
"italic" :"İtalik",
"fontName" :"Yazı tipi",
"justifyLeft" :"Sol tərəfə Doğrult",
"unlink" :"Körpünü sil",
"toggleTableBorder" :"Cədvəl kənarlarını göstər/Gizlət",
"viewSource" :"HTML qaynaq kodunu göstər",
"fontSize" :"Yazı tipi böyüklüğü",
"systemShortcut" :"\"${0}\" prosesi yalnız printerinizdə klaviatura qısayolu ilə istifadə oluna bilər. Bundan istifadə edin",
"indent" :"Girinti",
"redo" :"Yenilə",
"strikethrough" :"Üstündən xətt çəkilmiş",
"justifyFull" :"Doğrult",
"justifyCenter" :"Ortaya doğrult",
"hiliteColor" :"Arxa plan rəngi",
"deleteTable" :"Cədvəli sil",
"outdent" :ıxıntı",
"cut" :"Kəs",
"plainFormatBlock" :"Abzas stili",
"toggleDir" :"İstiqaməti dəyişdir",
"bold" :"Qalın",
"tabIndent" :"Qulp girintisi",
"justifyRight" :"Sağa doğrult",
"appleKey" : "⌘${0}",
"ctrlKey" : "ctrl+${0}"
})
//end v1.x content
);

View File

@@ -0,0 +1,31 @@
//>>built
define(
"dijit/_editor/nls/ca/FontChoice", //begin v1.x content
({
fontSize: "Mida",
fontName: "Tipus de lletra",
formatBlock: "Format",
serif: "serif",
"sans-serif": "sans-serif",
monospace: "monoespai",
cursive: "Cursiva",
fantasy: "Fantasia",
noFormat: "Cap",
p: "Paràgraf",
h1: "Títol",
h2: "Subtítol",
h3: "Subsubtítol",
pre: "Format previ",
1: "xx-petit",
2: "x-petit",
3: "petit",
4: "mitjà",
5: "gran",
6: "x-gran",
7: "xx-gran"
})
//end v1.x content
);

View File

@@ -0,0 +1,17 @@
//>>built
define(
"dijit/_editor/nls/ca/LinkDialog", //begin v1.x content
({
createLinkTitle: "Propietats de l\'enllaç",
insertImageTitle: "Propietats de la imatge",
url: "URL:",
text: "Descripció:",
target: "Destinació:",
set: "Defineix",
currentWindow: "Finestra actual",
parentWindow: "Finestra pare",
topWindow: "Finestra superior",
newWindow: "Finestra nova"
})
//end v1.x content
);

Some files were not shown because too many files have changed in this diff Show More