Compare commits

...

8 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
5693 changed files with 481335 additions and 35 deletions

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 +1 @@
RELEASE-1.2.3 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',
)
)
);

View File

Before

Width:  |  Height:  |  Size: 902 B

After

Width:  |  Height:  |  Size: 902 B

View File

Before

Width:  |  Height:  |  Size: 6.9 KiB

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
);

View File

@ -0,0 +1,53 @@
//>>built
define(
"dijit/_editor/nls/ca/commands", //begin v1.x content
({
'bold': 'Negreta',
'copy': 'Copia',
'cut': 'Retalla',
'delete': 'Suprimeix',
'indent': 'Sagnat',
'insertHorizontalRule': 'Regla horitzontal',
'insertOrderedList': 'Llista numerada',
'insertUnorderedList': 'Llista de vinyetes',
'italic': 'Cursiva',
'justifyCenter': 'Centra',
'justifyFull': 'Justifica',
'justifyLeft': 'Alinea a l\'esquerra',
'justifyRight': 'Alinea a la dreta',
'outdent': 'Sagna a l\'esquerra',
'paste': 'Enganxa',
'redo': 'Refés',
'removeFormat': 'Elimina el format',
'selectAll': 'Selecciona-ho tot',
'strikethrough': 'Ratllat',
'subscript': 'Subíndex',
'superscript': 'Superíndex',
'underline': 'Subratllat',
'undo': 'Desfés',
'unlink': 'Elimina l\'enllaç',
'createLink': 'Crea un enllaç',
'toggleDir': 'Inverteix la direcció',
'insertImage': 'Insereix imatge',
'insertTable': 'Insereix/edita la taula',
'toggleTableBorder': 'Inverteix els contorns de taula',
'deleteTable': 'Suprimeix la taula',
'tableProp': 'Propietat de taula',
'htmlToggle': 'Font HTML',
'foreColor': 'Color de primer pla',
'hiliteColor': 'Color de fons',
'plainFormatBlock': 'Estil de paràgraf',
'formatBlock': 'Estil de paràgraf',
'fontSize': 'Cos de la lletra',
'fontName': 'Nom del tipus de lletra',
'tabIndent': 'Sagnat',
"fullScreen": "Commuta pantalla completa",
"viewSource": "Visualitza font HTML",
"print": "Imprimeix",
"newPage": "Pàgina nova",
/* Error messages */
'systemShortcut': 'L\'acció "${0}" és l\'única disponible al navegador utilitzant una drecera del teclat. Utilitzeu ${1}.',
'ctrlKey':'control+${0}'
})
//end v1.x content
);

View File

@ -0,0 +1,86 @@
//>>built
define("dijit/_editor/nls/commands", { root:
//begin v1.x content
({
'bold': 'Bold',
'copy': 'Copy',
'cut': 'Cut',
'delete': 'Delete',
'indent': 'Indent',
'insertHorizontalRule': 'Horizontal Rule',
'insertOrderedList': 'Numbered List',
'insertUnorderedList': 'Bullet List',
'italic': 'Italic',
'justifyCenter': 'Align Center',
'justifyFull': 'Justify',
'justifyLeft': 'Align Left',
'justifyRight': 'Align Right',
'outdent': 'Outdent',
'paste': 'Paste',
'redo': 'Redo',
'removeFormat': 'Remove Format',
'selectAll': 'Select All',
'strikethrough': 'Strikethrough',
'subscript': 'Subscript',
'superscript': 'Superscript',
'underline': 'Underline',
'undo': 'Undo',
'unlink': 'Remove Link',
'createLink': 'Create Link',
'toggleDir': 'Toggle Direction',
'insertImage': 'Insert Image',
'insertTable': 'Insert/Edit Table',
'toggleTableBorder': 'Toggle Table Border',
'deleteTable': 'Delete Table',
'tableProp': 'Table Property',
'htmlToggle': 'HTML Source',
'foreColor': 'Foreground Color',
'hiliteColor': 'Background Color',
'plainFormatBlock': 'Paragraph Style',
'formatBlock': 'Paragraph Style',
'fontSize': 'Font Size',
'fontName': 'Font Name',
'tabIndent': 'Tab Indent',
"fullScreen": "Toggle Full Screen",
"viewSource": "View HTML Source",
"print": "Print",
"newPage": "New Page",
/* Error messages */
'systemShortcut': 'The "${0}" action is only available in your browser using a keyboard shortcut. Use ${1}.',
'ctrlKey':'ctrl+${0}',
'appleKey':'\u2318${0}' // "command" or open-apple key on Macintosh
})
//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
});

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