Commit 880b401b34a68e5bceb58feb0f406822d723140d
1 parent
7c1b385d
Merged in from DEV trunk...
KTS-3095 "Backslashes, ampersands etc and different characters in the Workflow and Document type names with ' " <> | ; in its name" Fixed. Committed By: Conrad Vermeulen Reviewed By: Megan Watson KTS-3088 "Linking a document to itself does not create a link." Fixed. Added a check to return an error if the document is trying to link to itself. Committed By: Jonathan Byrne Reviewed By: Megan Watson KTC-387 "Duplication of the log-in footer after logging out from languages other than English." Fixed. Updated dulicate tags due to "2007 to 2008" issue. Committed By: Kevin Fourie Reviewed By: Jonathan Byrne KTS-673 "The search algorithm needs some work" Added. Examples folder was missing. KTS-2901 "Search2: the quick search options are not clickable" Updated. This should resolve the javascript error. Committed By: Conrad Vermeulen Reviewed By: Megan Watson KTC-400 "Exception thrown when clicking on a document's version history link" Fixed. Added function to check plugin availability Committed By: Megan Watson Reviewed By: Conrad Vermeulen KTS-3090 "Get an error when trying to view all groups on your active directory server." Fixed. Added error checking. Committed by: Megan Watson Reviewed by: Conrad Vermeulen git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/STABLE/trunk@8180 c91229c3-7414-0410-bfa2-8a42b809f60b
Showing
190 changed files
with
7943 additions
and
2 deletions
lib/plugins/plugin.inc.php
| @@ -652,6 +652,13 @@ class KTPlugin { | @@ -652,6 +652,13 @@ class KTPlugin { | ||
| 652 | function run_setup() { | 652 | function run_setup() { |
| 653 | return true; | 653 | return true; |
| 654 | } | 654 | } |
| 655 | + | ||
| 656 | + function setAvailability($sNamespace, $bAvailable = true){ | ||
| 657 | + $aValues = array('unavailable' => $bAvailable); | ||
| 658 | + $aWhere = array('namespace' => $sNamespace); | ||
| 659 | + $res = DBUtil::whereUpdate('plugins', $aValues, $aWhere); | ||
| 660 | + return $res; | ||
| 661 | + } | ||
| 655 | 662 | ||
| 656 | function stripKtDir($sFilename) { | 663 | function stripKtDir($sFilename) { |
| 657 | if (strpos($sFilename, KT_DIR) === 0 ||strpos($sFilename, realpath(KT_DIR)) === 0) { | 664 | if (strpos($sFilename, KT_DIR) === 0 ||strpos($sFilename, realpath(KT_DIR)) === 0) { |
| @@ -762,3 +769,4 @@ class KTPlugin { | @@ -762,3 +769,4 @@ class KTPlugin { | ||
| 762 | } | 769 | } |
| 763 | } | 770 | } |
| 764 | 771 | ||
| 772 | +?> | ||
| 765 | \ No newline at end of file | 773 | \ No newline at end of file |
lib/plugins/pluginutil.inc.php
| @@ -218,7 +218,7 @@ class KTPluginUtil { | @@ -218,7 +218,7 @@ class KTPluginUtil { | ||
| 218 | // Allow for templates that don't correctly link to the plugin | 218 | // Allow for templates that don't correctly link to the plugin |
| 219 | $query = "SELECT * FROM plugin_helper h | 219 | $query = "SELECT * FROM plugin_helper h |
| 220 | LEFT JOIN plugins p ON (p.namespace = h.plugin) | 220 | LEFT JOIN plugins p ON (p.namespace = h.plugin) |
| 221 | - WHERE h.classtype='locations' AND (disabled = 0 OR disabled IS NULL)"; | 221 | + WHERE h.classtype='locations' AND (disabled = 0 OR disabled IS NULL) AND unavailable = 0"; |
| 222 | 222 | ||
| 223 | $aLocations = DBUtil::getResultArray($query); | 223 | $aLocations = DBUtil::getResultArray($query); |
| 224 | 224 |
plugins/ktstandard/KTDocumentLinks.php
| @@ -288,6 +288,18 @@ class KTDocumentLinkAction extends KTDocumentAction { | @@ -288,6 +288,18 @@ class KTDocumentLinkAction extends KTDocumentAction { | ||
| 288 | 288 | ||
| 289 | // select a type for the link | 289 | // select a type for the link |
| 290 | function do_type_select() { | 290 | function do_type_select() { |
| 291 | + | ||
| 292 | + //Checking to see if the document is being linked to itself and returning an error if it is. | ||
| 293 | + $iTempParentDocId = $_REQUEST['fDocumentId']; | ||
| 294 | + $aTempDocuments = $_REQUEST['linkselection']; | ||
| 295 | + foreach ($aTempDocuments as $iTempDocId) | ||
| 296 | + { | ||
| 297 | + if($iTempParentDocId == $iTempDocId) | ||
| 298 | + { | ||
| 299 | + $this->errorRedirectToMain(_kt('A document cannot be linked to itself.')); | ||
| 300 | + } | ||
| 301 | + } | ||
| 302 | + | ||
| 291 | $this->oPage->setBreadcrumbDetails(_kt("link")); | 303 | $this->oPage->setBreadcrumbDetails(_kt("link")); |
| 292 | 304 | ||
| 293 | $sType = (isset($_REQUEST['linktype'])) ? $_REQUEST['linktype'] : 'internal'; | 305 | $sType = (isset($_REQUEST['linktype'])) ? $_REQUEST['linktype'] : 'internal'; |
plugins/ktstandard/ldap/ldapbaseauthenticationprovider.inc.php
| @@ -504,11 +504,15 @@ class KTLDAPBaseAuthenticationProvider extends KTAuthenticationProvider { | @@ -504,11 +504,15 @@ class KTLDAPBaseAuthenticationProvider extends KTAuthenticationProvider { | ||
| 504 | $fields = array(); | 504 | $fields = array(); |
| 505 | $fields[] = new KTStringWidget(_kt("Group's name"), _kt("The group's name, or part thereof, to find the group that you wish to add"), 'name', '', $this->oPage, true); | 505 | $fields[] = new KTStringWidget(_kt("Group's name"), _kt("The group's name, or part thereof, to find the group that you wish to add"), 'name', '', $this->oPage, true); |
| 506 | 506 | ||
| 507 | - $oAuthenticator = $this->getAuthenticator($oSource); | ||
| 508 | $name = KTUtil::arrayGet($_REQUEST, 'name'); | 507 | $name = KTUtil::arrayGet($_REQUEST, 'name'); |
| 509 | if (!empty($name)) { | 508 | if (!empty($name)) { |
| 510 | $oAuthenticator = $this->getAuthenticator($oSource); | 509 | $oAuthenticator = $this->getAuthenticator($oSource); |
| 511 | $aSearchResults = $oAuthenticator->searchGroups($name); | 510 | $aSearchResults = $oAuthenticator->searchGroups($name); |
| 511 | + | ||
| 512 | + if(PEAR::isError($aSearchResults)){ | ||
| 513 | + $this->addErrorMessage($aSearchResults->getMessage()); | ||
| 514 | + $aSearchResults = array(); | ||
| 515 | + } | ||
| 512 | } | 516 | } |
| 513 | 517 | ||
| 514 | $aTemplateData = array( | 518 | $aTemplateData = array( |
| @@ -973,6 +977,11 @@ class KTLDAPBaseAuthenticator extends Authenticator { | @@ -973,6 +977,11 @@ class KTLDAPBaseAuthenticator extends Authenticator { | ||
| 973 | } | 977 | } |
| 974 | $sFilter = sprintf('(&(objectClass=group)(cn=*%s*))', $sSearch); | 978 | $sFilter = sprintf('(&(objectClass=group)(cn=*%s*))', $sSearch); |
| 975 | $oResults = $this->oLdap->search($rootDn, $sFilter, $aParams); | 979 | $oResults = $this->oLdap->search($rootDn, $sFilter, $aParams); |
| 980 | + | ||
| 981 | + if(PEAR::isError($oResults)){ | ||
| 982 | + return $oResults; | ||
| 983 | + } | ||
| 984 | + | ||
| 976 | $aRet = array(); | 985 | $aRet = array(); |
| 977 | foreach($oResults->entries() as $oEntry) { | 986 | foreach($oResults->entries() as $oEntry) { |
| 978 | $aAttr = $oEntry->attributes(); | 987 | $aAttr = $oEntry->attributes(); |
thirdpartyjs/extjs/examples/README.txt
0 → 100644
thirdpartyjs/extjs/examples/debug/debug-console.html
0 → 100644
| 1 | +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> | ||
| 2 | +<html> | ||
| 3 | +<head> | ||
| 4 | +<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> | ||
| 5 | +<title>Ext Debug Console</title> | ||
| 6 | +<link rel="stylesheet" type="text/css" href="../../resources/css/ext-all.css" /> | ||
| 7 | + | ||
| 8 | + <!-- GC --> <!-- LIBS --> <script type="text/javascript" src="../../adapter/ext/ext-base.js"></script> <!-- ENDLIBS --> | ||
| 9 | + | ||
| 10 | + <script type="text/javascript" src="../../ext-all-debug.js"></script> | ||
| 11 | + | ||
| 12 | +<link rel="stylesheet" type="text/css" href="../examples.css" /> | ||
| 13 | + | ||
| 14 | +</head> | ||
| 15 | +<body> | ||
| 16 | +<script type="text/javascript" src="../examples.js"></script><!-- EXAMPLES --> | ||
| 17 | + <h1>Ext Debug Console</h1> | ||
| 18 | + <div style="width:700px"> | ||
| 19 | + <p>Included in ext-all-debug.js is the Ext Debug Console. It offers a limited amount of <a href="http://getfirebug.com">FireBug</a> | ||
| 20 | + functionality cross browser. The most important feature is the "DOM Inspector" and CSS and DOM attribute editing. In any browser where "console" | ||
| 21 | + is not already defined, the Ext console will handle console.log(), time() and other calls. | ||
| 22 | + </p> | ||
| 23 | + <p> | ||
| 24 | + <b>Try It</b><br/> | ||
| 25 | + This page includes ext-all-debug.js and some test markup so you can try it out. Hit <b>control+shift+home</b> to bring up the console or click on the image below. | ||
| 26 | + </p> | ||
| 27 | + <a href="#" onclick="Ext.log('Hello from the Ext console.');return false;"><img src="inspector.gif" width="600" height="337" style="margin:15px;"/></a> | ||
| 28 | + | ||
| 29 | + <p> | ||
| 30 | + The full source is available in the "source" directory of the Ext download. | ||
| 31 | + </p> | ||
| 32 | + <hr /> | ||
| 33 | + <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed metus nibh, sodales a, porta at, vulputate eget, dui. Pellentesque ut nisl. Maecenas tortor turpis, interdum non, sodales non, iaculis ac, lacus. Vestibulum auctor, tortor quis iaculis malesuada, libero lectus bibendum purus, sit amet tincidunt quam turpis vel lacus. In pellentesque nisl non sem. Suspendisse nunc sem, pretium eget, cursus a, fringilla vel, urna. Aliquam commodo ullamcorper erat. Nullam vel justo in neque porttitor laoreet. Aenean lacus dui, consequat eu, adipiscing eget, nonummy non, nisi. Morbi nunc est, dignissim non, ornare sed, luctus eu, massa. Vivamus eget quam. Vivamus tincidunt diam nec urna. Curabitur velit. Quisque dolor magna, ornare sed, elementum porta, luctus in, leo.</p> | ||
| 34 | + <p>Donec quis dui. Sed imperdiet. Nunc consequat, est eu sollicitudin gravida, mauris ligula lacinia mauris, eu porta dui nisl in velit. Nam congue, odio id auctor nonummy, augue lectus euismod nunc, in tristique turpis dolor sed urna. Donec sit amet quam eget diam fermentum pharetra. Integer tincidunt arcu ut purus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla blandit malesuada odio. Nam augue. Aenean molestie sapien in mi. Suspendisse tincidunt. Pellentesque tempus dui vitae sapien. Donec aliquam ipsum sit amet pede. Sed scelerisque mi a erat. Curabitur rutrum ullamcorper risus. Maecenas et lorem ut felis dictum viverra. Fusce sem. Donec pharetra nibh sit amet sapien.</p> | ||
| 35 | + <p>Aenean ut orci sed ligula consectetuer pretium. Aliquam odio. Nam pellentesque enim. Nam tincidunt condimentum nisi. Maecenas convallis luctus ligula. Donec accumsan ornare risus. Vestibulum id magna a nunc posuere laoreet. Integer iaculis leo vitae nibh. Nam vulputate, mauris vitae luctus pharetra, pede neque bibendum tellus, facilisis commodo diam nisi eget lacus. Duis consectetuer pulvinar nisi. Cras interdum ultricies sem. Nullam tristique. Suspendisse elementum purus eu nisl. Nulla facilisi. Phasellus ultricies ullamcorper lorem. Sed euismod ante vitae lacus. Nam nunc leo, congue vehicula, luctus ac, tempus non, ante. Morbi suscipit purus a nulla. Sed eu diam.</p> | ||
| 36 | + <p>Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Cras imperdiet felis id velit. Ut non quam at sem dictum ullamcorper. Vestibulum pharetra purus sed pede. Aliquam ultrices, nunc in varius mattis, felis justo pretium magna, eget laoreet justo eros id eros. Aliquam elementum diam fringilla nulla. Praesent laoreet sapien vel metus. Cras tempus, sapien condimentum dictum dapibus, lorem augue fringilla orci, ut tincidunt eros nisi eget turpis. Nullam nunc nunc, eleifend et, dictum et, pharetra a, neque. Ut feugiat. Aliquam erat volutpat. Donec pretium odio nec felis. Phasellus sagittis lacus eget sapien. Donec est. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae;</p> | ||
| 37 | + <p>Vestibulum semper. Nullam non odio. Aliquam quam. Mauris eu lectus non nunc auctor ullamcorper. Sed tincidunt molestie enim. Phasellus lobortis justo sit amet quam. Duis nulla erat, varius a, cursus in, tempor sollicitudin, mauris. Aliquam mi velit, consectetuer mattis, consequat tristique, pulvinar ac, nisl. Aliquam mattis vehicula elit. Proin quis leo sed tellus scelerisque molestie. Quisque luctus. Integer mattis. Donec id augue sed leo aliquam egestas. Quisque in sem. Donec dictum enim in dolor. Praesent non erat. Nulla ultrices vestibulum quam.</p> | ||
| 38 | + <p>Duis hendrerit, est vel lobortis sagittis, tortor erat scelerisque tortor, sed pellentesque sem enim id metus. Maecenas at pede. Nulla velit libero, dictum at, mattis quis, sagittis vel, ante. Phasellus faucibus rutrum dui. Cras mauris elit, bibendum at, feugiat non, porta id, neque. Nulla et felis nec odio mollis vehicula. Donec elementum tincidunt mauris. Duis vel dui. Fusce iaculis enim ac nulla. In risus.</p> | ||
| 39 | + <p>Donec gravida. Donec et enim. Morbi sollicitudin, lacus a facilisis pulvinar, odio turpis dapibus elit, in tincidunt turpis felis nec libero. Nam vestibulum tempus ipsum. In hac habitasse platea dictumst. Nulla facilisi. Donec semper ligula. Donec commodo tortor in quam. Etiam massa. Ut tempus ligula eget tellus. Curabitur id velit ut velit varius commodo. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nulla facilisi. Fusce ornare pellentesque libero. Nunc rhoncus. Suspendisse potenti. Ut consequat, leo eu accumsan vehicula, justo sem lobortis elit, ac sollicitudin ipsum neque nec ante.</p> | ||
| 40 | + <p>Aliquam elementum mauris id sem. Vivamus varius, est ut nonummy consectetuer, nulla quam bibendum velit, ac gravida nisi felis sit amet urna. Aliquam nec risus. Maecenas lacinia purus ut velit. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Suspendisse sit amet dui vitae lacus fermentum sodales. Donec varius dapibus nisl. Praesent at velit id risus convallis bibendum. Aliquam felis nibh, rutrum nec, blandit non, mattis sit amet, magna. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Etiam varius dignissim nibh. Quisque id orci ac ante hendrerit molestie. Aliquam malesuada enim non neque.</p> | ||
| 41 | +</div></body> | ||
| 42 | +</html> |
thirdpartyjs/extjs/examples/debug/inspector.gif
0 → 100644
50.2 KB
thirdpartyjs/extjs/examples/dialog/blog.html
0 → 100644
| 1 | +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> | ||
| 2 | +<html> | ||
| 3 | +<head> | ||
| 4 | +<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> | ||
| 5 | +<title>Comment Dialog Example</title> | ||
| 6 | +<link rel="stylesheet" type="text/css" href="../../resources/css/ext-all.css" /> | ||
| 7 | + | ||
| 8 | + <!-- GC --> <!-- LIBS --> <script type="text/javascript" src="../../adapter/ext/ext-base.js"></script> <!-- ENDLIBS --> | ||
| 9 | + | ||
| 10 | + <script type="text/javascript" src="../../ext-all.js"></script> | ||
| 11 | + | ||
| 12 | +<script type="text/javascript" src="post.js"></script> | ||
| 13 | +<link rel="stylesheet" type="text/css" href="post.css" /> | ||
| 14 | + | ||
| 15 | +</head> | ||
| 16 | +<body> | ||
| 17 | +<script type="text/javascript" src="../examples.js"></script><!-- EXAMPLES --> | ||
| 18 | + <div class="post"> | ||
| 19 | + <h2>Comment Dialog Example</h2> | ||
| 20 | + <div id="comment-box"> | ||
| 21 | + <ul> | ||
| 22 | + <li><a id="post-comment" href="#">Post Comment</a></li> | ||
| 23 | + <li><a id="view-comments" href="#">View Comments</a></li> | ||
| 24 | + </ul> | ||
| 25 | + </div> | ||
| 26 | + <p>This is a more complex example that shows how to implement a comment dialog similar to the one on <a href="http://www.jackslocum.com/yui/" target="_blank">my blog<a/>. | ||
| 27 | + The dialog retrieves the comments in JSON format and renders them to the "View Comments" tab. The "Post Comment" tab posts the comment | ||
| 28 | + to a file on the server that just returns a dummy response (not what you type in) in JSON format. The reason for the dummy response | ||
| 29 | + is so the example can easily be dropped in whatever your environment is and work.</p> | ||
| 30 | + <p>Note that the js is not minified so it is readable. See <a href="post.js">post.js</a> for the full source code.</p> | ||
| 31 | + <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed metus nibh, sodales a, porta at, vulputate eget, dui. Pellentesque ut nisl. Maecenas tortor turpis, interdum non, sodales non, iaculis ac, lacus. Vestibulum auctor, tortor quis iaculis malesuada, libero lectus bibendum purus, sit amet tincidunt quam turpis vel lacus. In pellentesque nisl non sem. Suspendisse nunc sem, pretium eget, cursus a, fringilla vel, urna. Aliquam commodo ullamcorper erat. Nullam vel justo in neque porttitor laoreet. Aenean lacus dui, consequat eu, adipiscing eget, nonummy non, nisi. Morbi nunc est, dignissim non, ornare sed, luctus eu, massa. Vivamus eget quam. Vivamus tincidunt diam nec urna. Curabitur velit. Quisque dolor magna, ornare sed, elementum porta, luctus in, leo.</p> | ||
| 32 | + <p>Donec quis dui. Sed imperdiet. Nunc consequat, est eu sollicitudin gravida, mauris ligula lacinia mauris, eu porta dui nisl in velit. Nam congue, odio id auctor nonummy, augue lectus euismod nunc, in tristique turpis dolor sed urna. Donec sit amet quam eget diam fermentum pharetra. Integer tincidunt arcu ut purus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla blandit malesuada odio. Nam augue. Aenean molestie sapien in mi. Suspendisse tincidunt. Pellentesque tempus dui vitae sapien. Donec aliquam ipsum sit amet pede. Sed scelerisque mi a erat. Curabitur rutrum ullamcorper risus. Maecenas et lorem ut felis dictum viverra. Fusce sem. Donec pharetra nibh sit amet sapien.</p> | ||
| 33 | + <p>Aenean ut orci sed ligula consectetuer pretium. Aliquam odio. Nam pellentesque enim. Nam tincidunt condimentum nisi. Maecenas convallis luctus ligula. Donec accumsan ornare risus. Vestibulum id magna a nunc posuere laoreet. Integer iaculis leo vitae nibh. Nam vulputate, mauris vitae luctus pharetra, pede neque bibendum tellus, facilisis commodo diam nisi eget lacus. Duis consectetuer pulvinar nisi. Cras interdum ultricies sem. Nullam tristique. Suspendisse elementum purus eu nisl. Nulla facilisi. Phasellus ultricies ullamcorper lorem. Sed euismod ante vitae lacus. Nam nunc leo, congue vehicula, luctus ac, tempus non, ante. Morbi suscipit purus a nulla. Sed eu diam.</p> | ||
| 34 | + <p>Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Cras imperdiet felis id velit. Ut non quam at sem dictum ullamcorper. Vestibulum pharetra purus sed pede. Aliquam ultrices, nunc in varius mattis, felis justo pretium magna, eget laoreet justo eros id eros. Aliquam elementum diam fringilla nulla. Praesent laoreet sapien vel metus. Cras tempus, sapien condimentum dictum dapibus, lorem augue fringilla orci, ut tincidunt eros nisi eget turpis. Nullam nunc nunc, eleifend et, dictum et, pharetra a, neque. Ut feugiat. Aliquam erat volutpat. Donec pretium odio nec felis. Phasellus sagittis lacus eget sapien. Donec est. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae;</p> | ||
| 35 | + <p>Vestibulum semper. Nullam non odio. Aliquam quam. Mauris eu lectus non nunc auctor ullamcorper. Sed tincidunt molestie enim. Phasellus lobortis justo sit amet quam. Duis nulla erat, varius a, cursus in, tempor sollicitudin, mauris. Aliquam mi velit, consectetuer mattis, consequat tristique, pulvinar ac, nisl. Aliquam mattis vehicula elit. Proin quis leo sed tellus scelerisque molestie. Quisque luctus. Integer mattis. Donec id augue sed leo aliquam egestas. Quisque in sem. Donec dictum enim in dolor. Praesent non erat. Nulla ultrices vestibulum quam.</p> | ||
| 36 | + <p>Duis hendrerit, est vel lobortis sagittis, tortor erat scelerisque tortor, sed pellentesque sem enim id metus. Maecenas at pede. Nulla velit libero, dictum at, mattis quis, sagittis vel, ante. Phasellus faucibus rutrum dui. Cras mauris elit, bibendum at, feugiat non, porta id, neque. Nulla et felis nec odio mollis vehicula. Donec elementum tincidunt mauris. Duis vel dui. Fusce iaculis enim ac nulla. In risus.</p> | ||
| 37 | + <p>Donec gravida. Donec et enim. Morbi sollicitudin, lacus a facilisis pulvinar, odio turpis dapibus elit, in tincidunt turpis felis nec libero. Nam vestibulum tempus ipsum. In hac habitasse platea dictumst. Nulla facilisi. Donec semper ligula. Donec commodo tortor in quam. Etiam massa. Ut tempus ligula eget tellus. Curabitur id velit ut velit varius commodo. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nulla facilisi. Fusce ornare pellentesque libero. Nunc rhoncus. Suspendisse potenti. Ut consequat, leo eu accumsan vehicula, justo sem lobortis elit, ac sollicitudin ipsum neque nec ante.</p> | ||
| 38 | + <p>Aliquam elementum mauris id sem. Vivamus varius, est ut nonummy consectetuer, nulla quam bibendum velit, ac gravida nisi felis sit amet urna. Aliquam nec risus. Maecenas lacinia purus ut velit. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Suspendisse sit amet dui vitae lacus fermentum sodales. Donec varius dapibus nisl. Praesent at velit id risus convallis bibendum. Aliquam felis nibh, rutrum nec, blandit non, mattis sit amet, magna. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Etiam varius dignissim nibh. Quisque id orci ac ante hendrerit molestie. Aliquam malesuada enim non neque.</p> | ||
| 39 | + </div> | ||
| 40 | + | ||
| 41 | + <!-- comments dialog --> | ||
| 42 | + <div id="comments-dlg" style="visibility:hidden;"> | ||
| 43 | + <div class="x-dlg-hd">Comments</div> | ||
| 44 | + <div class="x-dlg-bd"> | ||
| 45 | + <div id="post-tab" class="x-dlg-tab" title="Post Comment"> | ||
| 46 | + <div class="inner-tab"> | ||
| 47 | + <form action="" method="post" id="comment-form" onsubmit="return false;"> | ||
| 48 | + <input id="postId" type="hidden" name="postId" value="1" /> | ||
| 49 | + <p> | ||
| 50 | + <label for="author"><small>Name</small></label> | ||
| 51 | + <input class="textinput" type="text" name="author" id="author" value="" size="22" tabindex="1" /> | ||
| 52 | + </p> | ||
| 53 | + | ||
| 54 | + <p><label for="email"><small>E-mail (will not be published)</small></label> | ||
| 55 | + <input class="textinput" type="text" name="email" id="email" value="" size="22" tabindex="2" /> | ||
| 56 | + </p> | ||
| 57 | + | ||
| 58 | + <p><label for="url"><small>Website</small></label> | ||
| 59 | + <input class="textinput" type="text" name="url" id="url" value="" size="22" tabindex="3" /> | ||
| 60 | + </p> | ||
| 61 | + <p> | ||
| 62 | + <label for="comment"><small>Comment</small></label> | ||
| 63 | + <textarea name="comment" id="comment" tabindex="4" cols="40" rows="10"></textarea> | ||
| 64 | + </p> | ||
| 65 | + </form> | ||
| 66 | + </div> | ||
| 67 | + </div> | ||
| 68 | + <div id="view-tab" class="x-dlg-tab" title="View Comments"> | ||
| 69 | + <ul id="comments-list" class="inner-tab"> | ||
| 70 | + </ul> | ||
| 71 | + </div> | ||
| 72 | + </div> | ||
| 73 | + <div class="x-dlg-ft"> | ||
| 74 | + <div id="dlg-msg"> | ||
| 75 | + <span id="post-error" class="posting-msg"><img src="images/warning.gif" width="16" height="16" align="absmiddle" /> <span id="post-error-msg"></span></span> | ||
| 76 | + <span id="post-wait" class="posting-msg"><img src="../../images/grid/loading.gif" width="16" height="16" align="absmiddle" /> Posting Comment...</span> | ||
| 77 | + </div> | ||
| 78 | + </div> | ||
| 79 | + </div> | ||
| 80 | +</body> | ||
| 81 | +</html> |
thirdpartyjs/extjs/examples/dialog/comments.txt
0 → 100644
| 1 | +{"comments": [{ | ||
| 2 | + id: "1", | ||
| 3 | + author: "Jack Slocum", | ||
| 4 | + link: "http://www.jackslocum.com/", | ||
| 5 | + date: "October 29th, 2006 9:21pm", | ||
| 6 | + text: "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed metus nibh, sodales a, porta at, vulputate eget, dui. Pellentesque ut nisl. Maecenas tortor turpis, interdum non, sodales non, iaculis ac, lacus. Vestibulum auctor, tortor quis iaculis malesuada, libero lectus bibendum purus, sit amet tincidunt quam turpis vel lacus. In pellentesque nisl non sem. Suspendisse nunc sem, pretium eget, cursus a, fringilla vel, urna. Aliquam commodo ullamcorper erat. Nullam vel justo in neque porttitor laoreet. Aenean lacus dui, consequat eu, adipiscing eget, nonummy non, nisi. Morbi nunc est, dignissim non, ornare sed, luctus eu, massa." | ||
| 7 | + },{ | ||
| 8 | + id: "2", | ||
| 9 | + author: "Jack Slocum", | ||
| 10 | + link: "http://www.jackslocum.com/", | ||
| 11 | + date: "October 29th, 2006 9:21pm", | ||
| 12 | + text: "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed metus nibh, sodales a, porta at, vulputate eget, dui. Pellentesque ut nisl. Maecenas tortor turpis, interdum non, sodales non, iaculis ac, lacus. Vestibulum auctor, tortor quis iaculis malesuada, libero lectus bibendum purus, sit amet tincidunt quam turpis vel lacus. In pellentesque nisl non sem. Suspendisse nunc sem, pretium eget, cursus a, fringilla vel, urna. Aliquam commodo ullamcorper erat. Nullam vel justo in neque porttitor laoreet. Aenean lacus dui, consequat eu, adipiscing eget, nonummy non, nisi. Morbi nunc est, dignissim non, ornare sed, luctus eu, massa." | ||
| 13 | + },{ | ||
| 14 | + id: "3", | ||
| 15 | + author: "Jack Slocum", | ||
| 16 | + link: "http://www.jackslocum.com/", | ||
| 17 | + date: "October 29th, 2006 9:21pm", | ||
| 18 | + text: "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed metus nibh, sodales a, porta at, vulputate eget, dui. Pellentesque ut nisl. Maecenas tortor turpis, interdum non, sodales non, iaculis ac, lacus. Vestibulum auctor, tortor quis iaculis malesuada, libero lectus bibendum purus, sit amet tincidunt quam turpis vel lacus. In pellentesque nisl non sem. Suspendisse nunc sem, pretium eget, cursus a, fringilla vel, urna. Aliquam commodo ullamcorper erat. Nullam vel justo in neque porttitor laoreet. Aenean lacus dui, consequat eu, adipiscing eget, nonummy non, nisi. Morbi nunc est, dignissim non, ornare sed, luctus eu, massa." | ||
| 19 | + },{ | ||
| 20 | + id: "4", | ||
| 21 | + author: "Jack Slocum", | ||
| 22 | + link: "http://www.jackslocum.com/", | ||
| 23 | + date: "October 29th, 2006 9:21pm", | ||
| 24 | + text: "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed metus nibh, sodales a, porta at, vulputate eget, dui. Pellentesque ut nisl. Maecenas tortor turpis, interdum non, sodales non, iaculis ac, lacus. Vestibulum auctor, tortor quis iaculis malesuada, libero lectus bibendum purus, sit amet tincidunt quam turpis vel lacus. In pellentesque nisl non sem. Suspendisse nunc sem, pretium eget, cursus a, fringilla vel, urna. Aliquam commodo ullamcorper erat. Nullam vel justo in neque porttitor laoreet. Aenean lacus dui, consequat eu, adipiscing eget, nonummy non, nisi. Morbi nunc est, dignissim non, ornare sed, luctus eu, massa." | ||
| 25 | + },{ | ||
| 26 | + id: "5", | ||
| 27 | + author: "Jack Slocum", | ||
| 28 | + link: "http://www.jackslocum.com/", | ||
| 29 | + date: "October 29th, 2006 9:21pm", | ||
| 30 | + text: "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed metus nibh, sodales a, porta at, vulputate eget, dui. Pellentesque ut nisl. Maecenas tortor turpis, interdum non, sodales non, iaculis ac, lacus. Vestibulum auctor, tortor quis iaculis malesuada, libero lectus bibendum purus, sit amet tincidunt quam turpis vel lacus. In pellentesque nisl non sem. Suspendisse nunc sem, pretium eget, cursus a, fringilla vel, urna. Aliquam commodo ullamcorper erat. Nullam vel justo in neque porttitor laoreet. Aenean lacus dui, consequat eu, adipiscing eget, nonummy non, nisi. Morbi nunc est, dignissim non, ornare sed, luctus eu, massa." | ||
| 31 | + },{ | ||
| 32 | + id: "6", | ||
| 33 | + author: "Jack Slocum", | ||
| 34 | + link: "http://www.jackslocum.com/", | ||
| 35 | + date: "October 29th, 2006 9:21pm", | ||
| 36 | + text: "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed metus nibh, sodales a, porta at, vulputate eget, dui. Pellentesque ut nisl. Maecenas tortor turpis, interdum non, sodales non, iaculis ac, lacus. Vestibulum auctor, tortor quis iaculis malesuada, libero lectus bibendum purus, sit amet tincidunt quam turpis vel lacus. In pellentesque nisl non sem. Suspendisse nunc sem, pretium eget, cursus a, fringilla vel, urna. Aliquam commodo ullamcorper erat. Nullam vel justo in neque porttitor laoreet. Aenean lacus dui, consequat eu, adipiscing eget, nonummy non, nisi. Morbi nunc est, dignissim non, ornare sed, luctus eu, massa." | ||
| 37 | + },{ | ||
| 38 | + id: "7", | ||
| 39 | + author: "Jack Slocum", | ||
| 40 | + link: "http://www.jackslocum.com/", | ||
| 41 | + date: "October 29th, 2006 9:21pm", | ||
| 42 | + text: "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed metus nibh, sodales a, porta at, vulputate eget, dui. Pellentesque ut nisl. Maecenas tortor turpis, interdum non, sodales non, iaculis ac, lacus. Vestibulum auctor, tortor quis iaculis malesuada, libero lectus bibendum purus, sit amet tincidunt quam turpis vel lacus. In pellentesque nisl non sem. Suspendisse nunc sem, pretium eget, cursus a, fringilla vel, urna. Aliquam commodo ullamcorper erat. Nullam vel justo in neque porttitor laoreet. Aenean lacus dui, consequat eu, adipiscing eget, nonummy non, nisi. Morbi nunc est, dignissim non, ornare sed, luctus eu, massa." | ||
| 43 | + } | ||
| 44 | +]} | ||
| 0 | \ No newline at end of file | 45 | \ No newline at end of file |
thirdpartyjs/extjs/examples/dialog/hello.html
0 → 100644
| 1 | +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> | ||
| 2 | +<html> | ||
| 3 | +<head> | ||
| 4 | +<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> | ||
| 5 | +<title>Hello World Dialog Example</title> | ||
| 6 | +<link rel="stylesheet" type="text/css" href="../../resources/css/ext-all.css" /> | ||
| 7 | + | ||
| 8 | + <!-- GC --> <!-- LIBS --> | ||
| 9 | + <script type="text/javascript" src="../../adapter/yui/yui-utilities.js"></script> | ||
| 10 | + <script type="text/javascript" src="../../adapter/yui/ext-yui-adapter.js"></script> | ||
| 11 | + <!-- ENDLIBS --> | ||
| 12 | + | ||
| 13 | + <script type="text/javascript" src="../../ext-all.js"></script> | ||
| 14 | + | ||
| 15 | + <script language="javascript" src="hello.js"></script> | ||
| 16 | + | ||
| 17 | +<!-- Common Styles for the examples --> | ||
| 18 | +<link rel="stylesheet" type="text/css" href="../examples.css" /> | ||
| 19 | +</head> | ||
| 20 | +<body> | ||
| 21 | +<script type="text/javascript" src="../examples.js"></script><!-- EXAMPLES --> | ||
| 22 | + | ||
| 23 | +<h1>Hello World Dialog</h1> | ||
| 24 | +<p>This example shows how to create a very simple modal BasicDialog with "autoTabs".</p> | ||
| 25 | +<input type="button" id="show-dialog-btn" value="Hello World" /><br /><br /> | ||
| 26 | +<p>Note that the js is not minified so it is readable. See <a href="hello.js">hellos.js</a> for the full source code.</p> | ||
| 27 | +Here's snapshot of the code that creates the dialog: | ||
| 28 | +<pre class="code"><code>dialog = new Ext.BasicDialog("hello-dlg", { | ||
| 29 | + modal:true, | ||
| 30 | + autoTabs:true, | ||
| 31 | + width:500, | ||
| 32 | + height:300, | ||
| 33 | + shadow:true, | ||
| 34 | + minWidth:300, | ||
| 35 | + minHeight:300 | ||
| 36 | +}); | ||
| 37 | +dialog.addKeyListener(27, dialog.hide, dialog); | ||
| 38 | +dialog.addButton('Close', dialog.hide, dialog); | ||
| 39 | +dialog.addButton('Submit', dialog.hide, dialog).disable(); | ||
| 40 | +</code></pre> | ||
| 41 | + | ||
| 42 | + <!-- The dialog is created from existing markup. | ||
| 43 | + The inline styles just hide it until it created and should be in a stylesheet --> | ||
| 44 | + <div id="hello-dlg" style="visibility:hidden;position:absolute;top:0px;"> | ||
| 45 | + <div class="x-dlg-hd">Hello Dialog</div> | ||
| 46 | + <div class="x-dlg-bd"> | ||
| 47 | + <!-- Auto create tab 1 --> | ||
| 48 | + <div class="x-dlg-tab" title="Hello World 1"> | ||
| 49 | + <!-- Nested "inner-tab" to safely add padding --> | ||
| 50 | + <div class="inner-tab"> | ||
| 51 | + Hello...<br><br><br> | ||
| 52 | + </div> | ||
| 53 | + </div> | ||
| 54 | + <!-- Auto create tab 2 --> | ||
| 55 | + <div class="x-dlg-tab" title="Hello World 2"> | ||
| 56 | + <div class="inner-tab"> | ||
| 57 | + ... World! | ||
| 58 | + </div> | ||
| 59 | + </div> | ||
| 60 | + </div> | ||
| 61 | + </div> | ||
| 62 | +</div> | ||
| 63 | +</body> | ||
| 64 | +</html> |
thirdpartyjs/extjs/examples/dialog/hello.js
0 → 100644
| 1 | +/* | ||
| 2 | + * Ext JS Library 1.1 Beta 1 | ||
| 3 | + * Copyright(c) 2006-2007, Ext JS, LLC. | ||
| 4 | + * licensing@extjs.com | ||
| 5 | + * | ||
| 6 | + * http://www.extjs.com/license | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +// create the HelloWorld application (single instance) | ||
| 10 | +var HelloWorld = function(){ | ||
| 11 | + // everything in this space is private and only accessible in the HelloWorld block | ||
| 12 | + | ||
| 13 | + // define some private variables | ||
| 14 | + var dialog, showBtn; | ||
| 15 | + | ||
| 16 | + // return a public interface | ||
| 17 | + return { | ||
| 18 | + init : function(){ | ||
| 19 | + showBtn = Ext.get('show-dialog-btn'); | ||
| 20 | + // attach to click event | ||
| 21 | + showBtn.on('click', this.showDialog, this); | ||
| 22 | + }, | ||
| 23 | + | ||
| 24 | + showDialog : function(){ | ||
| 25 | + if(!dialog){ // lazy initialize the dialog and only create it once | ||
| 26 | + dialog = new Ext.BasicDialog("hello-dlg", { | ||
| 27 | + autoTabs:true, | ||
| 28 | + width:500, | ||
| 29 | + height:300, | ||
| 30 | + shadow:true, | ||
| 31 | + minWidth:300, | ||
| 32 | + minHeight:250, | ||
| 33 | + proxyDrag: true | ||
| 34 | + }); | ||
| 35 | + dialog.addKeyListener(27, dialog.hide, dialog); | ||
| 36 | + dialog.addButton('Submit', dialog.hide, dialog).disable(); | ||
| 37 | + dialog.addButton('Close', dialog.hide, dialog); | ||
| 38 | + } | ||
| 39 | + dialog.show(showBtn.dom); | ||
| 40 | + } | ||
| 41 | + }; | ||
| 42 | +}(); | ||
| 43 | + | ||
| 44 | +// using onDocumentReady instead of window.onload initializes the application | ||
| 45 | +// when the DOM is ready, without waiting for images and other resources to load | ||
| 46 | +Ext.onReady(HelloWorld.init, HelloWorld, true); | ||
| 0 | \ No newline at end of file | 47 | \ No newline at end of file |
thirdpartyjs/extjs/examples/dialog/images/comment-bg.gif
0 → 100644
838 Bytes
thirdpartyjs/extjs/examples/dialog/images/comment.gif
0 → 100644
595 Bytes
thirdpartyjs/extjs/examples/dialog/images/warning.gif
0 → 100644
960 Bytes
thirdpartyjs/extjs/examples/dialog/layout.html
0 → 100644
| 1 | +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> | ||
| 2 | +<html> | ||
| 3 | +<head> | ||
| 4 | +<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> | ||
| 5 | +<title>Layout Dialog Example</title> | ||
| 6 | +<link rel="stylesheet" type="text/css" href="../../resources/css/ext-all.css" /> | ||
| 7 | + | ||
| 8 | + <!-- GC --> <!-- LIBS --> <script type="text/javascript" src="../../adapter/ext/ext-base.js"></script> <!-- ENDLIBS --> | ||
| 9 | + <script type="text/javascript" src="../../ext-all.js"></script> | ||
| 10 | + | ||
| 11 | +<script language="javascript" src="layout.js"></script> | ||
| 12 | + | ||
| 13 | +<!-- Common Styles for the examples --> | ||
| 14 | +<link rel="stylesheet" type="text/css" href="../examples.css" /> | ||
| 15 | +</head> | ||
| 16 | +<body> | ||
| 17 | +<script type="text/javascript" src="../examples.js"></script><!-- EXAMPLES --> | ||
| 18 | +<h1>Layout Dialog Example</h1> | ||
| 19 | +<p>This example shows how to create a modal dialog with an embedded BorderLayout using LayoutDialog.</p> | ||
| 20 | +<input type="button" id="show-dialog-btn" value="Show Dialog" /><br /><br /> | ||
| 21 | +<p>Note that the js is not minified so it is readable. See <a href="layout.js">layout.js</a> for the full source code.</p> | ||
| 22 | + | ||
| 23 | + <!-- dialog is created from existing markup --> | ||
| 24 | + <div id="hello-dlg" style="visibility:hidden;"> | ||
| 25 | + <div class="x-dlg-hd">Layout Dialog</div> | ||
| 26 | + <div class="x-dlg-bd"> | ||
| 27 | + <div id="west" class="x-layout-inactive-content"> | ||
| 28 | + West | ||
| 29 | + </div> | ||
| 30 | + <div id="center" class="x-layout-inactive-content" style="padding:10px;"> | ||
| 31 | + <p>This dialog has the Vista theme applied.</p> | ||
| 32 | + <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed metus nibh, sodales a, porta at, vulputate eget, dui. Pellentesque ut nisl. Maecenas tortor turpis, interdum non, sodales non, iaculis ac, lacus. Vestibulum auctor, tortor quis iaculis malesuada, libero lectus bibendum purus, sit amet tincidunt quam turpis vel lacus. In pellentesque nisl non sem. Suspendisse nunc sem, pretium eget, cursus a, fringilla vel, urna. Aliquam commodo ullamcorper erat. Nullam vel justo in neque porttitor laoreet. Aenean lacus dui, consequat eu, adipiscing eget, nonummy non, nisi. Morbi nunc est, dignissim non, ornare sed, luctus eu, massa. Vivamus eget quam. Vivamus tincidunt diam nec urna. Curabitur velit. Quisque dolor magna, ornare sed, elementum porta, luctus in, leo.</p> | ||
| 33 | + <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed metus nibh, sodales a, porta at, vulputate eget, dui. Pellentesque ut nisl. Maecenas tortor turpis, interdum non, sodales non, iaculis ac, lacus. Vestibulum auctor, tortor quis iaculis malesuada, libero lectus bibendum purus, sit amet tincidunt quam turpis vel lacus. In pellentesque nisl non sem. Suspendisse nunc sem, pretium eget, cursus a, fringilla vel, urna. Aliquam commodo ullamcorper erat. Nullam vel justo in neque porttitor laoreet. Aenean lacus dui, consequat eu, adipiscing eget, nonummy non, nisi. Morbi nunc est, dignissim non, ornare sed, luctus eu, massa. Vivamus eget quam. Vivamus tincidunt diam nec urna. Curabitur velit. Quisque dolor magna, ornare sed, elementum porta, luctus in, leo.</p> | ||
| 34 | + | ||
| 35 | + </div> | ||
| 36 | + </div> | ||
| 37 | + </div> | ||
| 38 | +</body> | ||
| 39 | +</html> |
thirdpartyjs/extjs/examples/dialog/layout.js
0 → 100644
| 1 | +/* | ||
| 2 | + * Ext JS Library 1.1 Beta 1 | ||
| 3 | + * Copyright(c) 2006-2007, Ext JS, LLC. | ||
| 4 | + * licensing@extjs.com | ||
| 5 | + * | ||
| 6 | + * http://www.extjs.com/license | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | + | ||
| 10 | +// create the LayoutExample application (single instance) | ||
| 11 | +var LayoutExample = function(){ | ||
| 12 | + // everything in this space is private and only accessible in the HelloWorld block | ||
| 13 | + | ||
| 14 | + // define some private variables | ||
| 15 | + var dialog, showBtn; | ||
| 16 | + | ||
| 17 | + var toggleTheme = function(){ | ||
| 18 | + Ext.get(document.body, true).toggleClass('xtheme-gray'); | ||
| 19 | + }; | ||
| 20 | + // return a public interface | ||
| 21 | + return { | ||
| 22 | + init : function(){ | ||
| 23 | + showBtn = Ext.get('show-dialog-btn'); | ||
| 24 | + // attach to click event | ||
| 25 | + showBtn.on('click', this.showDialog, this); | ||
| 26 | + | ||
| 27 | + }, | ||
| 28 | + | ||
| 29 | + showDialog : function(){ | ||
| 30 | + if(!dialog){ // lazy initialize the dialog and only create it once | ||
| 31 | + dialog = new Ext.LayoutDialog("hello-dlg", { | ||
| 32 | + modal:true, | ||
| 33 | + width:600, | ||
| 34 | + height:400, | ||
| 35 | + shadow:true, | ||
| 36 | + minWidth:300, | ||
| 37 | + minHeight:300, | ||
| 38 | + proxyDrag: true, | ||
| 39 | + west: { | ||
| 40 | + split:true, | ||
| 41 | + initialSize: 150, | ||
| 42 | + minSize: 100, | ||
| 43 | + maxSize: 250, | ||
| 44 | + titlebar: true, | ||
| 45 | + collapsible: true, | ||
| 46 | + animate: true | ||
| 47 | + }, | ||
| 48 | + center: { | ||
| 49 | + autoScroll:true, | ||
| 50 | + tabPosition: 'top', | ||
| 51 | + closeOnTab: true, | ||
| 52 | + alwaysShowTabs: true | ||
| 53 | + } | ||
| 54 | + }); | ||
| 55 | + dialog.addKeyListener(27, dialog.hide, dialog); | ||
| 56 | + dialog.addButton('Submit', dialog.hide, dialog); | ||
| 57 | + dialog.addButton('Close', dialog.hide, dialog); | ||
| 58 | + | ||
| 59 | + var layout = dialog.getLayout(); | ||
| 60 | + layout.beginUpdate(); | ||
| 61 | + layout.add('west', new Ext.ContentPanel('west', {title: 'West'})); | ||
| 62 | + layout.add('center', new Ext.ContentPanel('center', {title: 'The First Tab'})); | ||
| 63 | + // generate some other tabs | ||
| 64 | + layout.add('center', new Ext.ContentPanel(Ext.id(), { | ||
| 65 | + autoCreate:true, title: 'Another Tab', background:true})); | ||
| 66 | + layout.add('center', new Ext.ContentPanel(Ext.id(), { | ||
| 67 | + autoCreate:true, title: 'Third Tab', closable:true, background:true})); | ||
| 68 | + layout.endUpdate(); | ||
| 69 | + } | ||
| 70 | + dialog.show(showBtn.dom); | ||
| 71 | + } | ||
| 72 | + }; | ||
| 73 | +}(); | ||
| 74 | + | ||
| 75 | +// using onDocumentReady instead of window.onload initializes the application | ||
| 76 | +// when the DOM is ready, without waiting for images and other resources to load | ||
| 77 | +Ext.EventManager.onDocumentReady(LayoutExample.init, LayoutExample, true); | ||
| 0 | \ No newline at end of file | 78 | \ No newline at end of file |
thirdpartyjs/extjs/examples/dialog/msg-box.html
0 → 100644
| 1 | +<html> | ||
| 2 | +<head> | ||
| 3 | +<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> | ||
| 4 | +<title>MessageBox</title> | ||
| 5 | + | ||
| 6 | +<link rel="stylesheet" type="text/css" href="../../resources/css/ext-all.css" /> | ||
| 7 | + | ||
| 8 | +<!-- GC --> <!-- LIBS --> <script type="text/javascript" src="../../adapter/ext/ext-base.js"></script> <!-- ENDLIBS --> | ||
| 9 | +<script type="text/javascript" src="../../ext-all.js"></script> | ||
| 10 | +<script type="text/javascript" src="msg-box.js"></script> | ||
| 11 | + | ||
| 12 | +<!-- Common Styles for the examples --> | ||
| 13 | +<link rel="stylesheet" type="text/css" href="../examples.css" /> | ||
| 14 | +</head> | ||
| 15 | +<body> | ||
| 16 | +<script type="text/javascript" src="../examples.js"></script><!-- EXAMPLES --> | ||
| 17 | +<h1>MessageBox Dialogs</h1> | ||
| 18 | +<p>The example shows how to use the MessageBox class. Some of the buttons have animations, some are normal.</p> | ||
| 19 | +<p>The js is not minified so it is readable. See <a href="msg-box.js">msg-box.js</a>.</p> | ||
| 20 | + | ||
| 21 | +<p> | ||
| 22 | + <b>Confirm</b><br /> | ||
| 23 | + Standard Yes/No dialog. | ||
| 24 | + <button id="mb1">Show Me</button> | ||
| 25 | +</p> | ||
| 26 | + | ||
| 27 | +<p> | ||
| 28 | + <b>Prompt</b><br /> | ||
| 29 | + Standard prompt dialog. | ||
| 30 | + <button id="mb2">Show Me</button> | ||
| 31 | +</p> | ||
| 32 | + | ||
| 33 | +<p> | ||
| 34 | + <b>Multi-line Prompt</b><br /> | ||
| 35 | + A multi-line prompt dialog. | ||
| 36 | + <button id="mb3">Show Me</button> | ||
| 37 | +</p> | ||
| 38 | + | ||
| 39 | +<p> | ||
| 40 | + <b>Yes/No/Cancel</b><br /> | ||
| 41 | + Standard Yes/No/Cancel dialog. | ||
| 42 | + <button id="mb4">Show Me</button> | ||
| 43 | +</p> | ||
| 44 | + | ||
| 45 | +<p> | ||
| 46 | + <b>Progress Dialog</b><br /> | ||
| 47 | + You can set a progress on a progress MessageBox. | ||
| 48 | + <button id="mb6">Show Me</button> | ||
| 49 | +</p> | ||
| 50 | + | ||
| 51 | +<p> | ||
| 52 | + <b>Alert</b><br /> | ||
| 53 | + Standard alert message dialog. | ||
| 54 | + <button id="mb7">Show Me</button> | ||
| 55 | +</p> | ||
| 56 | +</body> | ||
| 57 | +</html> |
thirdpartyjs/extjs/examples/dialog/msg-box.js
0 → 100644
| 1 | +/* | ||
| 2 | + * Ext JS Library 1.1 Beta 1 | ||
| 3 | + * Copyright(c) 2006-2007, Ext JS, LLC. | ||
| 4 | + * licensing@extjs.com | ||
| 5 | + * | ||
| 6 | + * http://www.extjs.com/license | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +Ext.onReady(function(){ | ||
| 10 | + Ext.get('mb1').on('click', function(e){ | ||
| 11 | + Ext.MessageBox.confirm('Confirm', 'Are you sure you want to do that?', showResult); | ||
| 12 | + }); | ||
| 13 | + | ||
| 14 | + Ext.get('mb2').on('click', function(e){ | ||
| 15 | + Ext.MessageBox.prompt('Name', 'Please enter your name:', showResultText); | ||
| 16 | + }); | ||
| 17 | + | ||
| 18 | + Ext.get('mb3').on('click', function(e){ | ||
| 19 | + Ext.MessageBox.show({ | ||
| 20 | + title: 'Address', | ||
| 21 | + msg: 'Please enter your address:', | ||
| 22 | + width:300, | ||
| 23 | + buttons: Ext.MessageBox.OKCANCEL, | ||
| 24 | + multiline: true, | ||
| 25 | + fn: showResultText, | ||
| 26 | + animEl: 'mb3' | ||
| 27 | + }); | ||
| 28 | + }); | ||
| 29 | + | ||
| 30 | + Ext.get('mb4').on('click', function(e){ | ||
| 31 | + Ext.MessageBox.show({ | ||
| 32 | + title:'Save Changes?', | ||
| 33 | + msg: 'Your are closing a tab that has unsaved changes. Would you like to save your changes?', | ||
| 34 | + buttons: Ext.MessageBox.YESNOCANCEL, | ||
| 35 | + fn: showResult, | ||
| 36 | + animEl: 'mb4' | ||
| 37 | + }); | ||
| 38 | + }); | ||
| 39 | + | ||
| 40 | + Ext.get('mb6').on('click', function(){ | ||
| 41 | + Ext.MessageBox.show({ | ||
| 42 | + title: 'Please wait...', | ||
| 43 | + msg: 'Initializing...', | ||
| 44 | + width:240, | ||
| 45 | + progress:true, | ||
| 46 | + closable:false, | ||
| 47 | + animEl: 'mb6' | ||
| 48 | + }); | ||
| 49 | + | ||
| 50 | + // this hideous block creates the bogus progress | ||
| 51 | + var f = function(v){ | ||
| 52 | + return function(){ | ||
| 53 | + if(v == 11){ | ||
| 54 | + Ext.MessageBox.hide(); | ||
| 55 | + }else{ | ||
| 56 | + Ext.MessageBox.updateProgress(v/10, 'Loading item ' + v + ' of 10...'); | ||
| 57 | + } | ||
| 58 | + }; | ||
| 59 | + }; | ||
| 60 | + for(var i = 1; i < 12; i++){ | ||
| 61 | + setTimeout(f(i), i*1000); | ||
| 62 | + } | ||
| 63 | + }); | ||
| 64 | + | ||
| 65 | + Ext.get('mb7').on('click', function(){ | ||
| 66 | + Ext.MessageBox.alert('Status', 'Changes saved successfully.', showResult); | ||
| 67 | + }); | ||
| 68 | + | ||
| 69 | + | ||
| 70 | + function showResult(btn){ | ||
| 71 | + Ext.example.msg('Button Click', 'You clicked the {0} button', btn); | ||
| 72 | + }; | ||
| 73 | + | ||
| 74 | + function showResultText(btn, text){ | ||
| 75 | + Ext.example.msg('Button Click', 'You clicked the {0} button and entered the text "{1}".', btn, text); | ||
| 76 | + }; | ||
| 77 | +}); | ||
| 0 | \ No newline at end of file | 78 | \ No newline at end of file |
thirdpartyjs/extjs/examples/dialog/post.css
0 → 100644
| 1 | +/* | ||
| 2 | + * Ext JS Library 1.1 Beta 1 | ||
| 3 | + * Copyright(c) 2006-2007, Ext JS, LLC. | ||
| 4 | + * licensing@extjs.com | ||
| 5 | + * | ||
| 6 | + * http://www.extjs.com/license | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +body{ | ||
| 10 | + font: normal 9pt verdana,tahoma,arial,helvetica; | ||
| 11 | +} | ||
| 12 | +.post{ | ||
| 13 | + padding:15px; | ||
| 14 | +} | ||
| 15 | +.post h2{ | ||
| 16 | + font:normal 22px times; | ||
| 17 | + margin-bottom:10px; | ||
| 18 | +} | ||
| 19 | +.post p{ | ||
| 20 | + margin-bottom:10px; | ||
| 21 | + line-height:18px; | ||
| 22 | +} | ||
| 23 | + | ||
| 24 | +.loading-indicator { | ||
| 25 | + font-size:8pt; | ||
| 26 | + background-image: url('../../images/grid/loading.gif'); | ||
| 27 | + background-repeat: no-repeat; | ||
| 28 | + background-position: left; | ||
| 29 | + padding-left:20px; | ||
| 30 | + margin:5px; | ||
| 31 | +} | ||
| 32 | + | ||
| 33 | +/** Posting messages */ | ||
| 34 | +.x-dlg-ft{ | ||
| 35 | + position:relative; | ||
| 36 | +} | ||
| 37 | + | ||
| 38 | +#dlg-msg { | ||
| 39 | + position:absolute; | ||
| 40 | + left:0px; | ||
| 41 | + top:0px; | ||
| 42 | + width:40%; | ||
| 43 | +} | ||
| 44 | +.posting-msg{ | ||
| 45 | + display:none; | ||
| 46 | + font:normal 8pt tahoma, arial; | ||
| 47 | + color:black; | ||
| 48 | +} | ||
| 49 | +#post-error-msg{ | ||
| 50 | + color:red; | ||
| 51 | +} | ||
| 52 | +.active-msg{ | ||
| 53 | + display:block; | ||
| 54 | +} | ||
| 55 | + | ||
| 56 | +/** Comment Box (with links) */ | ||
| 57 | +#comment-box{ | ||
| 58 | + float:right; | ||
| 59 | + clear:none; | ||
| 60 | + border:2px solid #aca899; | ||
| 61 | + background-color:#f3f2e7; | ||
| 62 | + padding:10px; | ||
| 63 | + margin:15px; | ||
| 64 | +} | ||
| 65 | +#comment-box li{ | ||
| 66 | + margin:4px; | ||
| 67 | +} | ||
| 68 | +#comment-box a{ | ||
| 69 | + text-decoration:none; | ||
| 70 | +} | ||
| 71 | +#comments-list{ | ||
| 72 | + margin:0px; | ||
| 73 | + padding:0px; | ||
| 74 | +} | ||
| 75 | +/** Comment Post Form */ | ||
| 76 | +#post-tab .inner-tab{ | ||
| 77 | + margin:10px; | ||
| 78 | + margin-top:5px; | ||
| 79 | +} | ||
| 80 | +#comment-form label { | ||
| 81 | + margin:4px; | ||
| 82 | + margin-left:0px; | ||
| 83 | + display:block; | ||
| 84 | + color:#333333; | ||
| 85 | + font:normal 10px arial,helvetica; | ||
| 86 | + line-height:14px; | ||
| 87 | +} | ||
| 88 | +#comment-form .textinput{ | ||
| 89 | + border:1px solid #6593cf; | ||
| 90 | + width:98%; | ||
| 91 | + padding:1px; | ||
| 92 | + margin-bottom:2px; | ||
| 93 | + font:normal 11px tahoma, arial; | ||
| 94 | +} | ||
| 95 | +#comment { | ||
| 96 | + width:480px; | ||
| 97 | + height:205px; | ||
| 98 | + font:normal 11px tahoma, arial; | ||
| 99 | +} | ||
| 100 | + | ||
| 101 | +/** Comment List */ | ||
| 102 | +.commentmetadata { | ||
| 103 | + margin: 0; | ||
| 104 | + display: block; | ||
| 105 | + font-size: 9px; | ||
| 106 | + font-weight:normal; | ||
| 107 | + color:gray; | ||
| 108 | + margin-bottom:10px; | ||
| 109 | + float:right; | ||
| 110 | + clear:none; | ||
| 111 | +} | ||
| 112 | +.cuser{ | ||
| 113 | + float:left; | ||
| 114 | + clear:none; | ||
| 115 | + font:bold 12px tahoma, arial; | ||
| 116 | + padding-left:21px; | ||
| 117 | + background: url(images/comment.gif) no-repeat; | ||
| 118 | +} | ||
| 119 | +.cuser a{ | ||
| 120 | + font:bold 12px tahoma, arial; | ||
| 121 | +} | ||
| 122 | +.cheader{ | ||
| 123 | + height:20px; | ||
| 124 | +} | ||
| 125 | +#comments-list li { | ||
| 126 | + display:block; | ||
| 127 | + background: url(images/comment-bg.gif) repeat-x; | ||
| 128 | + background-position:0px -5px; | ||
| 129 | + padding:15px; | ||
| 130 | + padding-bottom:18px; | ||
| 131 | + font-size:12px; | ||
| 132 | +} | ||
| 0 | \ No newline at end of file | 133 | \ No newline at end of file |
thirdpartyjs/extjs/examples/dialog/post.js
0 → 100644
| 1 | +/* | ||
| 2 | + * Ext JS Library 1.1 Beta 1 | ||
| 3 | + * Copyright(c) 2006-2007, Ext JS, LLC. | ||
| 4 | + * licensing@extjs.com | ||
| 5 | + * | ||
| 6 | + * http://www.extjs.com/license | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +var Comments = function(){ | ||
| 10 | + var dialog, postLink, viewLink, txtComment; | ||
| 11 | + var tabs, commentsList, postBtn, renderer; | ||
| 12 | + var wait, error, errorMsg; | ||
| 13 | + var posting = false; | ||
| 14 | + | ||
| 15 | + return { | ||
| 16 | + init : function(){ | ||
| 17 | + // cache some elements for quick access | ||
| 18 | + txtComment = Ext.get('comment'); | ||
| 19 | + commentsList = Ext.get('comments-list'); | ||
| 20 | + postLink = Ext.get('post-comment'); | ||
| 21 | + viewLink = Ext.get('view-comments'); | ||
| 22 | + wait = Ext.get('post-wait'); | ||
| 23 | + error = Ext.get('post-error'); | ||
| 24 | + errorMsg = Ext.get('post-error-msg'); | ||
| 25 | + | ||
| 26 | + this.createDialog(); | ||
| 27 | + | ||
| 28 | + postLink.on('click', function(e){ | ||
| 29 | + e.stopEvent(); | ||
| 30 | + tabs.activate('post-tab'); | ||
| 31 | + dialog.show(postLink); | ||
| 32 | + }); | ||
| 33 | + | ||
| 34 | + viewLink.on('click', function(e){ | ||
| 35 | + e.stopEvent(); | ||
| 36 | + tabs.activate('view-tab'); | ||
| 37 | + dialog.show(viewLink); | ||
| 38 | + }); | ||
| 39 | + }, | ||
| 40 | + | ||
| 41 | + // submit the comment to the server | ||
| 42 | + submitComment : function(){ | ||
| 43 | + postBtn.disable(); | ||
| 44 | + wait.radioClass('active-msg'); | ||
| 45 | + | ||
| 46 | + var commentSuccess = function(o){ | ||
| 47 | + postBtn.enable(); | ||
| 48 | + var data = renderer.parse(o.responseText); | ||
| 49 | + // if we got a comment back | ||
| 50 | + if(data){ | ||
| 51 | + wait.removeClass('active-msg'); | ||
| 52 | + renderer.append(data.comments[0]); | ||
| 53 | + dialog.hide(); | ||
| 54 | + }else{ | ||
| 55 | + error.radioClass('active-msg'); | ||
| 56 | + errorMsg.update(o.responseText); | ||
| 57 | + } | ||
| 58 | + }; | ||
| 59 | + | ||
| 60 | + var commentFailure = function(o){ | ||
| 61 | + postBtn.enable(); | ||
| 62 | + error.radioClass('active-msg'); | ||
| 63 | + errorMsg.update('Unable to connect.'); | ||
| 64 | + }; | ||
| 65 | + | ||
| 66 | + Ext.lib.Ajax.formRequest('comment-form', 'post.php', | ||
| 67 | + {success: commentSuccess, failure: commentFailure}); | ||
| 68 | + }, | ||
| 69 | + | ||
| 70 | + createDialog : function(){ | ||
| 71 | + dialog = new Ext.BasicDialog("comments-dlg", { | ||
| 72 | + autoTabs:true, | ||
| 73 | + width:500, | ||
| 74 | + height:300, | ||
| 75 | + shadow:true, | ||
| 76 | + minWidth:300, | ||
| 77 | + minHeight:300 | ||
| 78 | + }); | ||
| 79 | + dialog.addKeyListener(27, dialog.hide, dialog); | ||
| 80 | + postBtn = dialog.addButton('Post', this.submitComment, this); | ||
| 81 | + dialog.addButton('Close', dialog.hide, dialog); | ||
| 82 | + | ||
| 83 | + | ||
| 84 | + // clear any messages and indicators when the dialog is closed | ||
| 85 | + dialog.on('hide', function(){ | ||
| 86 | + wait.removeClass('active-msg'); | ||
| 87 | + error.removeClass('active-msg'); | ||
| 88 | + txtComment.dom.value = ''; | ||
| 89 | + }); | ||
| 90 | + | ||
| 91 | + // stoe a refeence to the tabs | ||
| 92 | + tabs = dialog.getTabs(); | ||
| 93 | + | ||
| 94 | + // auto fit the comment box to the dialog size | ||
| 95 | + var sizeTextBox = function(){ | ||
| 96 | + txtComment.setSize(dialog.size.width-44, dialog.size.height-264); | ||
| 97 | + }; | ||
| 98 | + sizeTextBox(); | ||
| 99 | + dialog.on('resize', sizeTextBox); | ||
| 100 | + | ||
| 101 | + // hide the post button if not on Post tab | ||
| 102 | + tabs.on('tabchange', function(panel, tab){ | ||
| 103 | + postBtn.setVisible(tab.id == 'post-tab'); | ||
| 104 | + }); | ||
| 105 | + | ||
| 106 | + // set up the comment renderer, all ajax requests for commentsList | ||
| 107 | + // go through this render | ||
| 108 | + renderer = new CommentRenderer(commentsList); | ||
| 109 | + var um = commentsList.getUpdateManager(); | ||
| 110 | + um.setRenderer(renderer); | ||
| 111 | + | ||
| 112 | + // lazy load the comments when the view tab is activated | ||
| 113 | + var commentsLoaded = false; | ||
| 114 | + tabs.getTab('view-tab').on('activate', function(){ | ||
| 115 | + if(!commentsLoaded){ | ||
| 116 | + um.update('comments.txt'); | ||
| 117 | + commentsLoaded = true; | ||
| 118 | + } | ||
| 119 | + }); | ||
| 120 | + } | ||
| 121 | + }; | ||
| 122 | +}(); | ||
| 123 | + | ||
| 124 | +// This class handles rendering JSON into comments | ||
| 125 | +var CommentRenderer = function(list){ | ||
| 126 | + // create a template for each JSON object | ||
| 127 | + var tpl = new Ext.DomHelper.Template( | ||
| 128 | + '<li id="comment-{id}">' + | ||
| 129 | + '<div class="cheader">' + | ||
| 130 | + '<div class="cuser">{author}:</div>' + | ||
| 131 | + '<div class="commentmetadata">{date}</div>' + | ||
| 132 | + '</div>{text}</li>' | ||
| 133 | + ); | ||
| 134 | + | ||
| 135 | + this.parse = function(json){ | ||
| 136 | + try{ | ||
| 137 | + return eval('(' + json + ')'); | ||
| 138 | + }catch(e){} | ||
| 139 | + return null; | ||
| 140 | + }; | ||
| 141 | + | ||
| 142 | + // public render function for use with UpdateManager | ||
| 143 | + this.render = function(el, response){ | ||
| 144 | + var data = this.parse(response.responseText); | ||
| 145 | + if(!data || !data.comments || data.comments.length < 1){ | ||
| 146 | + el.update('There are no comments for this post.'); | ||
| 147 | + return; | ||
| 148 | + } | ||
| 149 | + // clear loading | ||
| 150 | + el.update(''); | ||
| 151 | + for(var i = 0, len = data.comments.length; i < len; i++){ | ||
| 152 | + this.append(data.comments[i]); | ||
| 153 | + } | ||
| 154 | + }; | ||
| 155 | + | ||
| 156 | + // appends a comment | ||
| 157 | + this.append = function(data){ | ||
| 158 | + tpl.append(list.dom, data); | ||
| 159 | + }; | ||
| 160 | +}; | ||
| 161 | + | ||
| 162 | +Ext.EventManager.onDocumentReady(Comments.init, Comments, true); | ||
| 0 | \ No newline at end of file | 163 | \ No newline at end of file |
thirdpartyjs/extjs/examples/dialog/post.php
0 → 100644
| 1 | +<? | ||
| 2 | +//This file does nothing. All it does is kick out a bogus new comment in JSON format. | ||
| 3 | +?>{"comments": [{ | ||
| 4 | + id: "10", | ||
| 5 | + author: "Jack Slocum", | ||
| 6 | + link: "http://www.jackslocum.com/", | ||
| 7 | + date: "October 29th, 2006 9:21pm", | ||
| 8 | + text: "New posted comment. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed metus nibh, sodales a, porta at, vulputate eget, dui. Pellentesque ut nisl. Maecenas tortor turpis, interdum non, sodales non, iaculis ac, lacus. Vestibulum auctor, tortor quis iaculis malesuada, libero lectus bibendum purus, sit amet tincidunt quam turpis vel lacus. In pellentesque nisl non sem. Suspendisse nunc sem, pretium eget, cursus a, fringilla vel, urna. Aliquam commodo ullamcorper erat. Nullam vel justo in neque porttitor laoreet. Aenean lacus dui, consequat eu, adipiscing eget, nonummy non, nisi. Morbi nunc est, dignissim non, ornare sed, luctus eu, massa." | ||
| 9 | + } | ||
| 10 | +]} | ||
| 0 | \ No newline at end of file | 11 | \ No newline at end of file |
thirdpartyjs/extjs/examples/examples.css
0 → 100644
| 1 | +/* | ||
| 2 | + * Ext JS Library 1.1 Beta 1 | ||
| 3 | + * Copyright(c) 2006-2007, Ext JS, LLC. | ||
| 4 | + * licensing@extjs.com | ||
| 5 | + * | ||
| 6 | + * http://www.extjs.com/license | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +body { | ||
| 10 | + font-family:verdana,tahoma,helvetica; | ||
| 11 | + padding:20px; | ||
| 12 | + padding-top:32px; | ||
| 13 | + font-size:13px; | ||
| 14 | + background-color:#fff !important; | ||
| 15 | +} | ||
| 16 | +p { | ||
| 17 | + margin-bottom:15px; | ||
| 18 | +} | ||
| 19 | +h1 { | ||
| 20 | + font-size:large; | ||
| 21 | + margin-bottom:20px; | ||
| 22 | +} | ||
| 23 | +.example-info{ | ||
| 24 | + width:150px; | ||
| 25 | + border:1px solid #c3daf9; | ||
| 26 | + border-top:1px solid #DCEAFB; | ||
| 27 | + border-left:1px solid #DCEAFB; | ||
| 28 | + background:#ecf5fe url(info-bg.gif) repeat-x; | ||
| 29 | + font-size:10px; | ||
| 30 | + padding:8px; | ||
| 31 | +} | ||
| 32 | +pre.code{ | ||
| 33 | + background: #F8F8F8; | ||
| 34 | + border: 1px solid #e8e8e8; | ||
| 35 | + padding:10px; | ||
| 36 | + margin:10px; | ||
| 37 | + margin-left:0px; | ||
| 38 | + border-left:5px solid #e8e8e8; | ||
| 39 | + font-size: 12px !important; | ||
| 40 | + line-height:14px !important; | ||
| 41 | +} | ||
| 42 | +.msg .x-box-mc { | ||
| 43 | + font-size:14px; | ||
| 44 | +} | ||
| 45 | +#msg-div { | ||
| 46 | + position:absolute; | ||
| 47 | + left:35%; | ||
| 48 | + top:10px; | ||
| 49 | + width:250px; | ||
| 50 | + z-index:20000; | ||
| 51 | +} | ||
| 52 | +.x-grid3-row-body p { | ||
| 53 | + margin:5px 5px 10px 5px !important; | ||
| 54 | +} |
thirdpartyjs/extjs/examples/examples.js
0 → 100644
| 1 | +/* | ||
| 2 | + * Ext JS Library 1.1 Beta 1 | ||
| 3 | + * Copyright(c) 2006-2007, Ext JS, LLC. | ||
| 4 | + * licensing@extjs.com | ||
| 5 | + * | ||
| 6 | + * http://www.extjs.com/license | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +Ext.BLANK_IMAGE_URL = '../../resources/images/default/s.gif'; | ||
| 10 | + | ||
| 11 | +Ext.example = function(){ | ||
| 12 | + var msgCt; | ||
| 13 | + | ||
| 14 | + function createBox(t, s){ | ||
| 15 | + return ['<div class="msg">', | ||
| 16 | + '<div class="x-box-tl"><div class="x-box-tr"><div class="x-box-tc"></div></div></div>', | ||
| 17 | + '<div class="x-box-ml"><div class="x-box-mr"><div class="x-box-mc"><h3>', t, '</h3>', s, '</div></div></div>', | ||
| 18 | + '<div class="x-box-bl"><div class="x-box-br"><div class="x-box-bc"></div></div></div>', | ||
| 19 | + '</div>'].join(''); | ||
| 20 | + } | ||
| 21 | + return { | ||
| 22 | + msg : function(title, format){ | ||
| 23 | + if(!msgCt){ | ||
| 24 | + msgCt = Ext.DomHelper.insertFirst(document.body, {id:'msg-div'}, true); | ||
| 25 | + } | ||
| 26 | + msgCt.alignTo(document, 't-t'); | ||
| 27 | + var s = String.format.apply(String, Array.prototype.slice.call(arguments, 1)); | ||
| 28 | + var m = Ext.DomHelper.append(msgCt, {html:createBox(title, s)}, true); | ||
| 29 | + m.slideIn('t').pause(1).ghost("t", {remove:true}); | ||
| 30 | + }, | ||
| 31 | + | ||
| 32 | + init : function(){ | ||
| 33 | + var s = Ext.get('extlib'), t = Ext.get('exttheme'); | ||
| 34 | + if(!s || !t){ // run locally? | ||
| 35 | + return; | ||
| 36 | + } | ||
| 37 | + var lib = Cookies.get('extlib') || 'ext', | ||
| 38 | + theme = Cookies.get('exttheme') || 'aero'; | ||
| 39 | + if(lib){ | ||
| 40 | + s.dom.value = lib; | ||
| 41 | + } | ||
| 42 | + if(theme){ | ||
| 43 | + t.dom.value = theme; | ||
| 44 | + Ext.get(document.body).addClass('x-'+theme); | ||
| 45 | + } | ||
| 46 | + s.on('change', function(){ | ||
| 47 | + Cookies.set('extlib', s.getValue()); | ||
| 48 | + setTimeout(function(){ | ||
| 49 | + window.location.reload(); | ||
| 50 | + }, 250); | ||
| 51 | + }); | ||
| 52 | + | ||
| 53 | + t.on('change', function(){ | ||
| 54 | + Cookies.set('exttheme', t.getValue()); | ||
| 55 | + setTimeout(function(){ | ||
| 56 | + window.location.reload(); | ||
| 57 | + }, 250); | ||
| 58 | + }); | ||
| 59 | + } | ||
| 60 | + }; | ||
| 61 | +}(); | ||
| 62 | + | ||
| 63 | +Ext.onReady(Ext.example.init, Ext.example); | ||
| 64 | + | ||
| 65 | + | ||
| 66 | +// old school cookie functions grabbed off the web | ||
| 67 | +var Cookies = {}; | ||
| 68 | +Cookies.set = function(name, value){ | ||
| 69 | + var argv = arguments; | ||
| 70 | + var argc = arguments.length; | ||
| 71 | + var expires = (argc > 2) ? argv[2] : null; | ||
| 72 | + var path = (argc > 3) ? argv[3] : '/'; | ||
| 73 | + var domain = (argc > 4) ? argv[4] : null; | ||
| 74 | + var secure = (argc > 5) ? argv[5] : false; | ||
| 75 | + document.cookie = name + "=" + escape (value) + | ||
| 76 | + ((expires == null) ? "" : ("; expires=" + expires.toGMTString())) + | ||
| 77 | + ((path == null) ? "" : ("; path=" + path)) + | ||
| 78 | + ((domain == null) ? "" : ("; domain=" + domain)) + | ||
| 79 | + ((secure == true) ? "; secure" : ""); | ||
| 80 | +}; | ||
| 81 | + | ||
| 82 | +Cookies.get = function(name){ | ||
| 83 | + var arg = name + "="; | ||
| 84 | + var alen = arg.length; | ||
| 85 | + var clen = document.cookie.length; | ||
| 86 | + var i = 0; | ||
| 87 | + var j = 0; | ||
| 88 | + while(i < clen){ | ||
| 89 | + j = i + alen; | ||
| 90 | + if (document.cookie.substring(i, j) == arg) | ||
| 91 | + return Cookies.getCookieVal(j); | ||
| 92 | + i = document.cookie.indexOf(" ", i) + 1; | ||
| 93 | + if(i == 0) | ||
| 94 | + break; | ||
| 95 | + } | ||
| 96 | + return null; | ||
| 97 | +}; | ||
| 98 | + | ||
| 99 | +Cookies.clear = function(name) { | ||
| 100 | + if(Cookies.get(name)){ | ||
| 101 | + document.cookie = name + "=" + | ||
| 102 | + "; expires=Thu, 01-Jan-70 00:00:01 GMT"; | ||
| 103 | + } | ||
| 104 | +}; | ||
| 105 | + | ||
| 106 | +Cookies.getCookieVal = function(offset){ | ||
| 107 | + var endstr = document.cookie.indexOf(";", offset); | ||
| 108 | + if(endstr == -1){ | ||
| 109 | + endstr = document.cookie.length; | ||
| 110 | + } | ||
| 111 | + return unescape(document.cookie.substring(offset, endstr)); | ||
| 112 | +}; | ||
| 0 | \ No newline at end of file | 113 | \ No newline at end of file |
thirdpartyjs/extjs/examples/examples.jsb
0 → 100644
| 1 | +<?xml version="1.0" encoding="utf-8"?> | ||
| 2 | +<project path="" name="Ext Examples" author="Ext JS, LLC" version="1.1 Beta 1" copyright="Ext JS Library $version
Copyright(c) 2006-2007, $author.
licensing@extjs.com

http://www.extjs.com/license" output="C:\apps\www\deploy\ext-1.1-beta1\examples" source="True" source-dir="$output" minify="False" min-dir="$output\build" doc="False" doc-dir="$output\docs" master="true" master-file="$output\yui-ext.js" zip="true" zip-file="$output\yuo-ext.$version.zip"> | ||
| 3 | + <directory name="" /> | ||
| 4 | + <file name="dialog\blog.html" path="dialog" /> | ||
| 5 | + <file name="dialog\comments.txt" path="dialog" /> | ||
| 6 | + <file name="dialog\hello.html" path="dialog" /> | ||
| 7 | + <file name="dialog\layout.html" path="dialog" /> | ||
| 8 | + <file name="dialog\post.php" path="dialog" /> | ||
| 9 | + <file name="grid\array-grid.html" path="grid" /> | ||
| 10 | + <file name="grid\custom-grid.html" path="grid" /> | ||
| 11 | + <file name="grid\edit-grid.html" path="grid" /> | ||
| 12 | + <file name="grid\paging-grid.html" path="grid" /> | ||
| 13 | + <file name="grid\plants.xml" path="grid" /> | ||
| 14 | + <file name="grid\sheldon.xml" path="grid" /> | ||
| 15 | + <file name="grid\xml-grid.html" path="grid" /> | ||
| 16 | + <file name="layout\images\Thumbs.db" path="layout\images" /> | ||
| 17 | + <file name="layout\complex.html" path="layout" /> | ||
| 18 | + <file name="layout\feed-proxy.php" path="layout" /> | ||
| 19 | + <file name="layout\feed-viewer.html" path="layout" /> | ||
| 20 | + <file name="layout\nested.html" path="layout" /> | ||
| 21 | + <file name="layout\simple.html" path="layout" /> | ||
| 22 | + <file name="resizable\basic.html" path="resizable" /> | ||
| 23 | + <file name="resizable\sara.jpg" path="resizable" /> | ||
| 24 | + <file name="resizable\sara_and_zack.jpg" path="resizable" /> | ||
| 25 | + <file name="resizable\zack.jpg" path="resizable" /> | ||
| 26 | + <file name="tabs\ajax1.htm" path="tabs" /> | ||
| 27 | + <file name="tabs\ajax2.htm" path="tabs" /> | ||
| 28 | + <file name="tabs\tabs.html" path="tabs" /> | ||
| 29 | + <file name="view\images\thumbs\dance_fever.jpg" path="view\images\thumbs" /> | ||
| 30 | + <file name="view\images\thumbs\gangster_zack.jpg" path="view\images\thumbs" /> | ||
| 31 | + <file name="view\images\thumbs\kids_hug.jpg" path="view\images\thumbs" /> | ||
| 32 | + <file name="view\images\thumbs\kids_hug2.jpg" path="view\images\thumbs" /> | ||
| 33 | + <file name="view\images\thumbs\sara_pink.jpg" path="view\images\thumbs" /> | ||
| 34 | + <file name="view\images\thumbs\sara_pumpkin.jpg" path="view\images\thumbs" /> | ||
| 35 | + <file name="view\images\thumbs\sara_smile.jpg" path="view\images\thumbs" /> | ||
| 36 | + <file name="view\images\thumbs\up_to_something.jpg" path="view\images\thumbs" /> | ||
| 37 | + <file name="view\images\thumbs\zack.jpg" path="view\images\thumbs" /> | ||
| 38 | + <file name="view\images\thumbs\zacks_grill.jpg" path="view\images\thumbs" /> | ||
| 39 | + <file name="view\images\thumbs\zack_dress.jpg" path="view\images\thumbs" /> | ||
| 40 | + <file name="view\images\thumbs\zack_hat.jpg" path="view\images\thumbs" /> | ||
| 41 | + <file name="view\images\thumbs\zack_sink.jpg" path="view\images\thumbs" /> | ||
| 42 | + <file name="view\chooser.html" path="view" /> | ||
| 43 | + <file name="view\get-images.php" path="view" /> | ||
| 44 | + <file name="yui-ext-examples.jsb" path="" /> | ||
| 45 | + <file name="dialog\images\comment-bg.gif" path="dialog\images" /> | ||
| 46 | + <file name="dialog\images\comment.gif" path="dialog\images" /> | ||
| 47 | + <file name="dialog\images\warning.gif" path="dialog\images" /> | ||
| 48 | + <file name="dialog\post.css" path="dialog" /> | ||
| 49 | + <file name="grid\grid-examples.css" path="grid" /> | ||
| 50 | + <file name="layout\images\add-feed.gif" path="layout\images" /> | ||
| 51 | + <file name="layout\images\article.gif" path="layout\images" /> | ||
| 52 | + <file name="layout\images\bullet.gif" path="layout\images" /> | ||
| 53 | + <file name="layout\images\cancel.gif" path="layout\images" /> | ||
| 54 | + <file name="layout\images\comment-bg.gif" path="layout\images" /> | ||
| 55 | + <file name="layout\images\feed-item.gif" path="layout\images" /> | ||
| 56 | + <file name="layout\images\grid-hrow.gif" path="layout\images" /> | ||
| 57 | + <file name="layout\images\header-bar.gif" path="layout\images" /> | ||
| 58 | + <file name="layout\images\header.gif" path="layout\images" /> | ||
| 59 | + <file name="layout\images\myfeeds.gif" path="layout\images" /> | ||
| 60 | + <file name="layout\images\new_tab.gif" path="layout\images" /> | ||
| 61 | + <file name="layout\images\new_window.gif" path="layout\images" /> | ||
| 62 | + <file name="layout\images\post-bg.gif" path="layout\images" /> | ||
| 63 | + <file name="layout\images\preview.gif" path="layout\images" /> | ||
| 64 | + <file name="layout\images\rss.gif" path="layout\images" /> | ||
| 65 | + <file name="layout\images\signin.gif" path="layout\images" /> | ||
| 66 | + <file name="layout\images\signout.gif" path="layout\images" /> | ||
| 67 | + <file name="layout\images\suggested.gif" path="layout\images" /> | ||
| 68 | + <file name="layout\images\toolbar.gif" path="layout\images" /> | ||
| 69 | + <file name="layout\feed-viewer.css" path="layout" /> | ||
| 70 | + <file name="resizable\basic.css" path="resizable" /> | ||
| 71 | + <file name="tabs\tabs-example.css" path="tabs" /> | ||
| 72 | + <file name="view\chooser.css" path="view" /> | ||
| 73 | + <file name=".project" path="" /> | ||
| 74 | + <file name="examples.css" path="" /> | ||
| 75 | + <file name="info-bg.gif" path="" /> | ||
| 76 | + <file name="README.txt" path="" /> | ||
| 77 | + <file name="tree\get-nodes.php" path="tree" /> | ||
| 78 | + <file name="tree\reorder.html" path="tree" /> | ||
| 79 | + <file name="tree\two-trees.html" path="tree" /> | ||
| 80 | + <file name="tree\organizer.html" path="tree" /> | ||
| 81 | + <file name="tree\images\thumbs\dance_fever.jpg" path="tree\images\thumbs" /> | ||
| 82 | + <file name="tree\images\thumbs\gangster_zack.jpg" path="tree\images\thumbs" /> | ||
| 83 | + <file name="tree\images\thumbs\kids_hug.jpg" path="tree\images\thumbs" /> | ||
| 84 | + <file name="tree\images\thumbs\kids_hug2.jpg" path="tree\images\thumbs" /> | ||
| 85 | + <file name="tree\images\thumbs\sara_pink.jpg" path="tree\images\thumbs" /> | ||
| 86 | + <file name="tree\images\thumbs\sara_pumpkin.jpg" path="tree\images\thumbs" /> | ||
| 87 | + <file name="tree\images\thumbs\sara_smile.jpg" path="tree\images\thumbs" /> | ||
| 88 | + <file name="tree\images\thumbs\up_to_something.jpg" path="tree\images\thumbs" /> | ||
| 89 | + <file name="tree\images\thumbs\zack.jpg" path="tree\images\thumbs" /> | ||
| 90 | + <file name="tree\images\thumbs\zacks_grill.jpg" path="tree\images\thumbs" /> | ||
| 91 | + <file name="tree\images\thumbs\zack_dress.jpg" path="tree\images\thumbs" /> | ||
| 92 | + <file name="tree\images\thumbs\zack_hat.jpg" path="tree\images\thumbs" /> | ||
| 93 | + <file name="tree\images\thumbs\zack_sink.jpg" path="tree\images\thumbs" /> | ||
| 94 | + <file name="tree\center-bg.gif" path="tree" /> | ||
| 95 | + <file name="tree\album.gif" path="tree" /> | ||
| 96 | + <file name="tree\Thumbs.db" path="tree" /> | ||
| 97 | + <file name="tree\organizer.css" path="tree" /> | ||
| 98 | + <file name="dialog\msg-box.html" path="dialog" /> | ||
| 99 | + <file name="menu\menus.css" path="menu" /> | ||
| 100 | + <file name="menu\menus.html" path="menu" /> | ||
| 101 | + <file name="form\forms.css" path="form" /> | ||
| 102 | + <file name="form\forms.html" path="form" /> | ||
| 103 | + <file name="grid\paging.html" path="grid" /> | ||
| 104 | + <file name="grid\.DS_Store" path="grid" /> | ||
| 105 | + <file name="grid\topic.gif" path="grid" /> | ||
| 106 | + <file name=".DS_Store" path="" /> | ||
| 107 | + <file name="examples.jsb" path="" /> | ||
| 108 | + <file name="grid\details.gif" path="grid" /> | ||
| 109 | + <file name="menu\list-items.gif" path="menu" /> | ||
| 110 | + <file name="menu\menu-show.gif" path="menu" /> | ||
| 111 | + <file name="dialog\test.html" path="dialog" /> | ||
| 112 | + <file name="grid\PropsGrid.js" path="grid" /> | ||
| 113 | + <file name="jquery-bundled.js" path="" /> | ||
| 114 | + <file name="tabs\tabs-adv.html" path="tabs" /> | ||
| 115 | + <file name="lib.css" path="" /> | ||
| 116 | + <file name="grid\from-markup.html" path="grid" /> | ||
| 117 | + <file name="form\warning.gif" path="form" /> | ||
| 118 | + <file name="form\combos.html" path="form" /> | ||
| 119 | + <file name="form\forum-search.css" path="form" /> | ||
| 120 | + <file name="form\forum-search.html" path="form" /> | ||
| 121 | + <file name="form\combos.css" path="form" /> | ||
| 122 | + <file name="layout\child.html" path="layout" /> | ||
| 123 | + <file name="layout\parent.html" path="layout" /> | ||
| 124 | + <file name="grid\virtual-grid.html" path="grid" /> | ||
| 125 | + <file name="grid\virtualgrid.js" path="grid" /> | ||
| 126 | + <file name="form\dynamic.html" path="form" /> | ||
| 127 | + <file name="effects.js" path="" /> | ||
| 128 | + <file name="jquery-plugins.js" path="" /> | ||
| 129 | + <file name="lib.js" path="" /> | ||
| 130 | + <file name="prototype.js" path="" /> | ||
| 131 | + <file name="scriptaculous.js" path="" /> | ||
| 132 | + <file name="layout\images\tab-close-on.gif" path="layout\images" /> | ||
| 133 | + <file name="layout\images\tab-close.gif" path="layout\images" /> | ||
| 134 | + <file name="layout\images\wait.gif" path="layout\images" /> | ||
| 135 | + <file name="layout\images\warning.gif" path="layout\images" /> | ||
| 136 | + <file name="layout\feed-proxy.ashx" path="layout" /> | ||
| 137 | + <file name="layout\feed-proxy.ashx.vb" path="layout" /> | ||
| 138 | + <file name="form\xml-form.xml" path="form" /> | ||
| 139 | + <file name="form\xml-form.html" path="form" /> | ||
| 140 | + <file name="form\xml-errors.xml" path="form" /> | ||
| 141 | + <file name="tree\dependency.html" path="tree" /> | ||
| 142 | + <file name="tree\dependency.css" path="tree" /> | ||
| 143 | + <file name="tree\dependency.php" path="tree" /> | ||
| 144 | + <file name="shared\icons\fam\add.gif" path="shared\icons\fam" /> | ||
| 145 | + <file name="shared\icons\fam\cross.gif" path="shared\icons\fam" /> | ||
| 146 | + <file name="shared\icons\fam\delete.gif" path="shared\icons\fam" /> | ||
| 147 | + <file name="shared\icons\fam\plugin.gif" path="shared\icons\fam" /> | ||
| 148 | + <file name="shared\icons\fam\plugin_add.gif" path="shared\icons\fam" /> | ||
| 149 | + <file name="shared\icons\fam\SILK.txt" path="shared\icons\fam" /> | ||
| 150 | + <file name="shared\icons\save.gif" path="shared\icons" /> | ||
| 151 | + <file name="shared\.DS_Store" path="shared" /> | ||
| 152 | + <file name="debug\debug-console.html" path="debug" /> | ||
| 153 | + <file name="debug\inspector.gif" path="debug" /> | ||
| 154 | + <file name="tree\save-dep.php" path="tree" /> | ||
| 155 | + <file name="tree\images\cmp-bg.gif" path="tree\images" /> | ||
| 156 | + <file name="form\advanced.html" path="form" /> | ||
| 157 | + <file name="form\advanced.js" path="form" /> | ||
| 158 | + <file name="form\advanced.php" path="form" /> | ||
| 159 | + <file name="form\customers-remote.php" path="form" /> | ||
| 160 | + <file name="form\load-form.php" path="form" /> | ||
| 161 | + <file name="form\save-form.php" path="form" /> | ||
| 162 | + <file name="locale\dutch-form.html" path="locale" /> | ||
| 163 | + <file name="locale\multi-lang.html" path="locale" /> | ||
| 164 | + <file name="shared\icons\.DS_Store" path="shared\icons" /> | ||
| 165 | + <file name="shared\icons\arrow-down.gif" path="shared\icons" /> | ||
| 166 | + <file name="shared\icons\arrow-up.gif" path="shared\icons" /> | ||
| 167 | + <file name="tree\dep-tree.json" path="tree" /> | ||
| 168 | + <file name="table.html" path="" /> | ||
| 169 | + <file name="grid\grid-perf.html" path="grid" /> | ||
| 170 | + <file name="locale\create_languages_js.py" path="locale" /> | ||
| 171 | + <file name="panels\images\.DS_Store" path="panels\images" /> | ||
| 172 | + <file name="panels\images\._.DS_Store" path="panels\images" /> | ||
| 173 | + <file name="panels\images\app-win-btn-sprite.gif" path="panels\images" /> | ||
| 174 | + <file name="panels\images\appbar-bg.gif" path="panels\images" /> | ||
| 175 | + <file name="panels\images\appbar-btn-sprite.gif" path="panels\images" /> | ||
| 176 | + <file name="panels\images\beach.jpg" path="panels\images" /> | ||
| 177 | + <file name="panels\images\cancel-ticket.gif" path="panels\images" /> | ||
| 178 | + <file name="panels\images\delete.gif" path="panels\images" /> | ||
| 179 | + <file name="panels\images\desktop.gif" path="panels\images" /> | ||
| 180 | + <file name="panels\images\desktop.jpg" path="panels\images" /> | ||
| 181 | + <file name="panels\images\details.gif" path="panels\images" /> | ||
| 182 | + <file name="panels\images\new-ticket.gif" path="panels\images" /> | ||
| 183 | + <file name="panels\images\preview-panel.gif" path="panels\images" /> | ||
| 184 | + <file name="panels\images\qlaunch-bg.gif" path="panels\images" /> | ||
| 185 | + <file name="panels\images\required.gif" path="panels\images" /> | ||
| 186 | + <file name="panels\images\save-ticket.gif" path="panels\images" /> | ||
| 187 | + <file name="panels\images\task-btn-sprite.gif" path="panels\images" /> | ||
| 188 | + <file name="panels\images\ticket.gif" path="panels\images" /> | ||
| 189 | + <file name="panels\images\title-bg.gif" path="panels\images" /> | ||
| 190 | + <file name="panels\images\top-bar-bg.gif" path="panels\images" /> | ||
| 191 | + <file name="panels\images\windows-bg.gif" path="panels\images" /> | ||
| 192 | + <file name="panels\images\xtrack.gif" path="panels\images" /> | ||
| 193 | + <file name="panels\.DS_Store" path="panels" /> | ||
| 194 | + <file name="panels\._.DS_Store" path="panels" /> | ||
| 195 | + <file name="panels\app.css" path="panels" /> | ||
| 196 | + <file name="panels\app.html" path="panels" /> | ||
| 197 | + <file name="panels\desktop.css" path="panels" /> | ||
| 198 | + <file name="panels\desktop.html" path="panels" /> | ||
| 199 | + <file name="panels\panels.html" path="panels" /> | ||
| 200 | + <file name="panels\stack.html" path="panels" /> | ||
| 201 | + <file name="shared\icons\._.DS_Store" path="shared\icons" /> | ||
| 202 | + <file name="shared\._.DS_Store" path="shared" /> | ||
| 203 | + <file name="._.DS_Store" path="" /> | ||
| 204 | + <file name="panels\images\desktop2.jpg" path="panels\images" /> | ||
| 205 | + <file name="panels\images\desktop2.gif" path="panels\images" /> | ||
| 206 | + <file name="panels\images\desktop3.gif" path="panels\images" /> | ||
| 207 | + <file name="panels\images\desktop3.jpg" path="panels\images" /> | ||
| 208 | + <file name="editor\editor.css" path="editor" /> | ||
| 209 | + <file name="editor\editor.html" path="editor" /> | ||
| 210 | + <file name="editor\blank.html" path="editor" /> | ||
| 211 | + <file name="grid\perf.html" path="grid" /> | ||
| 212 | + <file name="editor\editor.js" path="editor" /> | ||
| 213 | + <file name="grid\grid3.html" path="grid" /> | ||
| 214 | + <file name="grid\grid3.js" path="grid" /> | ||
| 215 | + <file name="grid\perf.js" path="grid" /> | ||
| 216 | + <file name="panels\app.js" path="panels" /> | ||
| 217 | + <file name="panels\desktop.js" path="panels" /> | ||
| 218 | + <file name="panels\panels.js" path="panels" /> | ||
| 219 | + <file name="shared\icons\fam\grid.png" path="shared\icons\fam" /> | ||
| 220 | + <file name="window\desktop.html" path="window" /> | ||
| 221 | + <file name="window\Desktop.js" path="window" /> | ||
| 222 | + <file name="window\windows.js" path="window" /> | ||
| 223 | + <file name="window\images\winbar-bg.gif" path="window\images" /> | ||
| 224 | + <file name="window\images\winbar-btn.gif" path="window\images" /> | ||
| 225 | + <file name="window\images\windows-bg.gif" path="window\images" /> | ||
| 226 | + <file name="window\windows.css" path="window" /> | ||
| 227 | + <file name="window\css\windows.css" path="window\css" /> | ||
| 228 | + <file name="window\images\desktop.gif" path="window\images" /> | ||
| 229 | + <file name="window\images\desktop3.jpg" path="window\images" /> | ||
| 230 | + <file name="window\images\hd-bg.gif" path="window\images" /> | ||
| 231 | + <file name="window\images\hd-tb-bg.gif" path="window\images" /> | ||
| 232 | + <file name="window\images\launcher-bg.gif" path="window\images" /> | ||
| 233 | + <file name="window\images\launcher-btn.gif" path="window\images" /> | ||
| 234 | + <file name="window\images\bogus.png" path="window\images" /> | ||
| 235 | + <file name="window\images\accordian.gif" path="window\images" /> | ||
| 236 | + <file name="window\images\tabs.gif" path="window\images" /> | ||
| 237 | + <file name="shared\icons\fam\user.png" path="shared\icons\fam" /> | ||
| 238 | + <file name="shared\icons\fam\connect.png" path="shared\icons\fam" /> | ||
| 239 | + <file name="shared\icons\fam\user_add.png" path="shared\icons\fam" /> | ||
| 240 | + <file name="shared\icons\fam\user_comment.png" path="shared\icons\fam" /> | ||
| 241 | + <file name="shared\icons\fam\user_delete.png" path="shared\icons\fam" /> | ||
| 242 | + <file name="shared\icons\fam\user_edit.png" path="shared\icons\fam" /> | ||
| 243 | + <file name="shared\icons\fam\user_female.png" path="shared\icons\fam" /> | ||
| 244 | + <file name="shared\icons\fam\user_gray.png" path="shared\icons\fam" /> | ||
| 245 | + <file name="shared\icons\fam\user_green.png" path="shared\icons\fam" /> | ||
| 246 | + <file name="shared\icons\fam\user_orange.png" path="shared\icons\fam" /> | ||
| 247 | + <file name="shared\icons\fam\user_red.png" path="shared\icons\fam" /> | ||
| 248 | + <file name="shared\icons\fam\user_suit.png" path="shared\icons\fam" /> | ||
| 249 | + <file name="form\job.html" path="form" /> | ||
| 250 | + <file name="form\jobs.css" path="form" /> | ||
| 251 | + <file name="form\jobs.js" path="form" /> | ||
| 252 | + <file name="form\view-jobs.html" path="form" /> | ||
| 253 | + <file name="form\view-jobs.js" path="form" /> | ||
| 254 | + <file name="form\jobs-remote.php" path="form" /> | ||
| 255 | + <file name="form\custom.html" path="form" /> | ||
| 256 | + <file name="menu\menubar.html" path="menu" /> | ||
| 257 | + <file name="dialog\hello.js" path="dialog" /> | ||
| 258 | + <file name="dialog\layout.js" path="dialog" /> | ||
| 259 | + <file name="dialog\msg-box.js" path="dialog" /> | ||
| 260 | + <file name="dialog\post.js" path="dialog" /> | ||
| 261 | + <file name="form\combos.js" path="form" /> | ||
| 262 | + <file name="form\custom.js" path="form" /> | ||
| 263 | + <file name="form\dynamic.js" path="form" /> | ||
| 264 | + <file name="form\forms.js" path="form" /> | ||
| 265 | + <file name="form\forum-search.js" path="form" /> | ||
| 266 | + <file name="form\states.js" path="form" /> | ||
| 267 | + <file name="form\upload-test.html" path="form" /> | ||
| 268 | + <file name="form\xml-form.js" path="form" /> | ||
| 269 | + <file name="grid\array-grid.js" path="grid" /> | ||
| 270 | + <file name="grid\CheckboxSelectionModel.js" path="grid" /> | ||
| 271 | + <file name="grid\custom-grid.js" path="grid" /> | ||
| 272 | + <file name="grid\edit-grid.js" path="grid" /> | ||
| 273 | + <file name="grid\from-markup.js" path="grid" /> | ||
| 274 | + <file name="grid\paging.js" path="grid" /> | ||
| 275 | + <file name="grid\RowExpander.js" path="grid" /> | ||
| 276 | + <file name="grid\RowNumberer.js" path="grid" /> | ||
| 277 | + <file name="grid\xml-grid.js" path="grid" /> | ||
| 278 | + <file name="layout\feed-viewer.js" path="layout" /> | ||
| 279 | + <file name="locale\dutch-form.js" path="locale" /> | ||
| 280 | + <file name="locale\dutch-provinces.js" path="locale" /> | ||
| 281 | + <file name="locale\languages.js" path="locale" /> | ||
| 282 | + <file name="locale\multi-lang.js" path="locale" /> | ||
| 283 | + <file name="locale\PagingMemoryProxy.js" path="locale" /> | ||
| 284 | + <file name="menu\menus.js" path="menu" /> | ||
| 285 | + <file name="resizable\basic.js" path="resizable" /> | ||
| 286 | + <file name="tabs\tabs-adv.js" path="tabs" /> | ||
| 287 | + <file name="tabs\tabs-example.js" path="tabs" /> | ||
| 288 | + <file name="tree\dependency.js" path="tree" /> | ||
| 289 | + <file name="tree\organizer.js" path="tree" /> | ||
| 290 | + <file name="tree\reorder.js" path="tree" /> | ||
| 291 | + <file name="tree\two-trees.js" path="tree" /> | ||
| 292 | + <file name="view\chooser-example.js" path="view" /> | ||
| 293 | + <file name="view\chooser.js" path="view" /> | ||
| 294 | + <file name="examples.js" path="" /> | ||
| 295 | + <file name="form\upload.php" path="form" /> | ||
| 296 | +</project> | ||
| 0 | \ No newline at end of file | 297 | \ No newline at end of file |
thirdpartyjs/extjs/examples/form/combos.css
0 → 100644
| 1 | +/* | ||
| 2 | + * Ext JS Library 1.1 Beta 1 | ||
| 3 | + * Copyright(c) 2006-2007, Ext JS, LLC. | ||
| 4 | + * licensing@extjs.com | ||
| 5 | + * | ||
| 6 | + * http://www.extjs.com/license | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +.search-item { | ||
| 10 | + font:normal 11px tahoma, arial, helvetica, sans-serif; | ||
| 11 | + padding:3px 10px 3px 10px; | ||
| 12 | + border:1px solid #fff; | ||
| 13 | + border-bottom:1px solid #eeeeee; | ||
| 14 | + white-space:normal; | ||
| 15 | +} | ||
| 16 | +.search-item h3 { | ||
| 17 | + display:block; | ||
| 18 | + font:inherit; | ||
| 19 | + font-weight:bold; | ||
| 20 | +} | ||
| 21 | + | ||
| 22 | +.search-item h3 span { | ||
| 23 | + float: right; | ||
| 24 | + font-weight:normal; | ||
| 25 | + margin:0 0 5px 5px; | ||
| 26 | + width:100px; | ||
| 27 | + display:block; | ||
| 28 | + clear:none; | ||
| 29 | +} | ||
| 0 | \ No newline at end of file | 30 | \ No newline at end of file |
thirdpartyjs/extjs/examples/form/combos.html
0 → 100644
| 1 | +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> | ||
| 2 | +<html> | ||
| 3 | +<head> | ||
| 4 | + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> | ||
| 5 | + <title>Combo Boxes</title> | ||
| 6 | + <link rel="stylesheet" type="text/css" href="../../resources/css/ext-all.css" /> | ||
| 7 | + | ||
| 8 | + <!-- GC --> <!-- LIBS --> <script type="text/javascript" src="../../adapter/ext/ext-base.js"></script> <!-- ENDLIBS --> | ||
| 9 | + <script type="text/javascript" src="../../ext-all.js"></script> | ||
| 10 | + | ||
| 11 | + <script type="text/javascript" src="states.js"></script> | ||
| 12 | + <script type="text/javascript" src="combos.js"></script> | ||
| 13 | + <link rel="stylesheet" type="text/css" href="combos.css" /> | ||
| 14 | + | ||
| 15 | + <!-- Common Styles for the examples --> | ||
| 16 | + <link rel="stylesheet" type="text/css" href="../examples.css" /> | ||
| 17 | + <style type="text/css"> | ||
| 18 | + p { width:650px; } | ||
| 19 | + </style> | ||
| 20 | +</head> | ||
| 21 | +<body> | ||
| 22 | +<script type="text/javascript" src="../examples.js"></script><!-- EXAMPLES --> | ||
| 23 | +<h1>Combo Boxes</h1> | ||
| 24 | +<p>The js is not minified so it is readable. See <a href="combos.js">combos.js</a>.</p> | ||
| 25 | + | ||
| 26 | +<p> | ||
| 27 | +<b>Data Sources</b><br /> | ||
| 28 | +The combo box can use any type of Ext.data.Store as it's data source. | ||
| 29 | + This means your data can be XML, JSON, arrays or any other supported format. It can be loaded using Ajax, script tags or be local. | ||
| 30 | + This combo uses local data from a JS array. | ||
| 31 | +</p> | ||
| 32 | +<div> | ||
| 33 | + <input type="text" id="local-states" size="20"/> | ||
| 34 | +</div> | ||
| 35 | +<pre class="code"><code>// simple array store | ||
| 36 | +var store = new Ext.data.SimpleStore({ | ||
| 37 | + fields: ['abbr', 'state'], | ||
| 38 | + data : exampleData | ||
| 39 | +}); | ||
| 40 | +var combo = new Ext.form.ComboBox({ | ||
| 41 | + store: store, | ||
| 42 | + displayField:'state', | ||
| 43 | + typeAhead: true, | ||
| 44 | + mode: 'local', | ||
| 45 | + triggerAction: 'all', | ||
| 46 | + emptyText:'Select a state...', | ||
| 47 | + selectOnFocus:true | ||
| 48 | +}); | ||
| 49 | +combo.applyTo('local-states'); | ||
| 50 | +</code></pre> | ||
| 51 | +<br /> | ||
| 52 | +<p> | ||
| 53 | +<b>Unobtrusive</b><br /> | ||
| 54 | +The combo box can very easily be used to convert existing select elements into auto-completing, filtering combos. | ||
| 55 | +</p> | ||
| 56 | +<div> | ||
| 57 | +Transformed select:<br/> <select name="state" id="state"> | ||
| 58 | +<option value="AL">Alabama__________________________________________</option> | ||
| 59 | +<option value="AK">Alaska</option> | ||
| 60 | +<option value="AZ">Arizona</option> | ||
| 61 | +<option value="AR">Arkansas</option> | ||
| 62 | +<option value="CA">California</option> | ||
| 63 | +<option value="CO">Colorado</option> | ||
| 64 | +<option value="CT">Connecticut</option> | ||
| 65 | +<option value="DE">Delaware</option> | ||
| 66 | +<option value="FL">Florida</option> | ||
| 67 | +<option value="GA">Georgia</option> | ||
| 68 | +<option value="HI">Hawaii</option> | ||
| 69 | +<option value="ID">Idaho</option> | ||
| 70 | +<option value="IL">Illinois</option> | ||
| 71 | +<option value="IN">Indiana</option> | ||
| 72 | +<option value="IA">Iowa</option> | ||
| 73 | +<option value="KS">Kansas</option> | ||
| 74 | +<option value="KY">Kentucky</option> | ||
| 75 | +<option value="LA">Louisiana</option> | ||
| 76 | +<option value="ME">Maine</option> | ||
| 77 | +<option value="MD">Maryland</option> | ||
| 78 | +<option value="MA">Massachusetts</option> | ||
| 79 | +<option value="MI">Michigan</option> | ||
| 80 | +<option value="MN">Minnesota</option> | ||
| 81 | +<option value="MS">Mississippi</option> | ||
| 82 | +<option value="MO">Missouri</option> | ||
| 83 | +<option value="MT">Montana</option> | ||
| 84 | +<option value="NE">Nebraska</option> | ||
| 85 | +<option value="NV">Nevada</option> | ||
| 86 | +<option value="NH">New Hampshire</option> | ||
| 87 | +<option value="NJ">New Jersey</option> | ||
| 88 | +<option value="NM">New Mexico</option> | ||
| 89 | +<option value="NY">New York</option> | ||
| 90 | +<option value="NC">North Carolina</option> | ||
| 91 | +<option value="ND">North Dakota</option> | ||
| 92 | +<option value="OH" selected>Ohio</option> | ||
| 93 | +<option value="OK">Oklahoma</option> | ||
| 94 | +<option value="OR">Oregon</option> | ||
| 95 | +<option value="PA">Pennsylvania</option> | ||
| 96 | +<option value="RI">Rhode Island</option> | ||
| 97 | +<option value="SC">South Carolina</option> | ||
| 98 | +<option value="SD">South Dakota</option> | ||
| 99 | +<option value="TN">Tennessee</option> | ||
| 100 | +<option value="TX">Texas</option> | ||
| 101 | +<option value="UT">Utah</option> | ||
| 102 | +<option value="VT">Vermont</option> | ||
| 103 | +<option value="VA">Virginia</option> | ||
| 104 | +<option value="WA">Washington</option> | ||
| 105 | +<option value="WV">West Virginia</option> | ||
| 106 | +<option value="WI">Wisconsin</option> | ||
| 107 | +<option value="WY">Wyoming</option> | ||
| 108 | +</select> | ||
| 109 | +</div><br /> | ||
| 110 | +<p> | ||
| 111 | +Originally looked like:<br/> <select name="state-orig"> | ||
| 112 | +<option value="AL">Alabama</option> | ||
| 113 | +<option value="AK">Alaska</option> | ||
| 114 | +<option value="AZ">Arizona</option> | ||
| 115 | +<option value="AR">Arkansas</option> | ||
| 116 | +<option value="CA">California</option> | ||
| 117 | +<option value="CO">Colorado</option> | ||
| 118 | +<option value="CT">Connecticut</option> | ||
| 119 | +<option value="DE">Delaware</option> | ||
| 120 | +<option value="FL">Florida</option> | ||
| 121 | +<option value="GA">Georgia</option> | ||
| 122 | +<option value="HI">Hawaii</option> | ||
| 123 | +<option value="ID">Idaho</option> | ||
| 124 | +<option value="IL">Illinois</option> | ||
| 125 | +<option value="IN">Indiana</option> | ||
| 126 | +<option value="IA">Iowa</option> | ||
| 127 | +<option value="KS">Kansas</option> | ||
| 128 | +<option value="KY">Kentucky</option> | ||
| 129 | +<option value="LA">Louisiana</option> | ||
| 130 | +<option value="ME">Maine</option> | ||
| 131 | +<option value="MD">Maryland</option> | ||
| 132 | +<option value="MA">Massachusetts</option> | ||
| 133 | +<option value="MI">Michigan</option> | ||
| 134 | +<option value="MN">Minnesota</option> | ||
| 135 | +<option value="MS">Mississippi</option> | ||
| 136 | +<option value="MO">Missouri</option> | ||
| 137 | +<option value="MT">Montana</option> | ||
| 138 | +<option value="NE">Nebraska</option> | ||
| 139 | +<option value="NV">Nevada</option> | ||
| 140 | +<option value="NH">New Hampshire</option> | ||
| 141 | +<option value="NJ">New Jersey</option> | ||
| 142 | +<option value="NM">New Mexico</option> | ||
| 143 | +<option value="NY">New York</option> | ||
| 144 | +<option value="NC">North Carolina</option> | ||
| 145 | +<option value="ND">North Dakota</option> | ||
| 146 | +<option value="OH" selected>Ohio</option> | ||
| 147 | +<option value="OK">Oklahoma</option> | ||
| 148 | +<option value="OR">Oregon</option> | ||
| 149 | +<option value="PA">Pennsylvania</option> | ||
| 150 | +<option value="RI">Rhode Island</option> | ||
| 151 | +<option value="SC">South Carolina</option> | ||
| 152 | +<option value="SD">South Dakota</option> | ||
| 153 | +<option value="TN">Tennessee</option> | ||
| 154 | +<option value="TX">Texas</option> | ||
| 155 | +<option value="UT">Utah</option> | ||
| 156 | +<option value="VT">Vermont</option> | ||
| 157 | +<option value="VA">Virginia</option> | ||
| 158 | +<option value="WA">Washington</option> | ||
| 159 | +<option value="WV">West Virginia</option> | ||
| 160 | +<option value="WI">Wisconsin</option> | ||
| 161 | +<option value="WY">Wyoming</option> | ||
| 162 | +</select> | ||
| 163 | +</p> | ||
| 164 | +<pre class="code"><code>var converted = new Ext.form.ComboBox({ | ||
| 165 | + typeAhead: true, | ||
| 166 | + triggerAction: 'all', | ||
| 167 | + transform:'state', | ||
| 168 | + width:135, | ||
| 169 | + forceSelection:true | ||
| 170 | +}); | ||
| 171 | +</code></pre> | ||
| 172 | +<br /> | ||
| 173 | +<p> | ||
| 174 | + <b>Grid Editor</b><br /> | ||
| 175 | + <a href="../grid/edit-grid.html">Click here</a> to see the combo as a grid editor. | ||
| 176 | +</p> | ||
| 177 | +<br /> | ||
| 178 | +<p> | ||
| 179 | + <b>Templates and Ajax</b><br /> | ||
| 180 | + <a href="forum-search.html">Click here</a> for a more advanced example. | ||
| 181 | +</p> | ||
| 182 | +<br /><br /><br /><br /> | ||
| 183 | +</body> | ||
| 184 | +</html> |
thirdpartyjs/extjs/examples/form/combos.js
0 → 100644
| 1 | +/* | ||
| 2 | + * Ext JS Library 1.1 Beta 1 | ||
| 3 | + * Copyright(c) 2006-2007, Ext JS, LLC. | ||
| 4 | + * licensing@extjs.com | ||
| 5 | + * | ||
| 6 | + * http://www.extjs.com/license | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +Ext.onReady(function(){ | ||
| 10 | + // simple array store | ||
| 11 | + var store = new Ext.data.SimpleStore({ | ||
| 12 | + fields: ['abbr', 'state'], | ||
| 13 | + data : Ext.exampledata.states // from states.js | ||
| 14 | + }); | ||
| 15 | + var combo = new Ext.form.ComboBox({ | ||
| 16 | + store: store, | ||
| 17 | + displayField:'state', | ||
| 18 | + typeAhead: true, | ||
| 19 | + mode: 'local', | ||
| 20 | + triggerAction: 'all', | ||
| 21 | + emptyText:'Select a state...', | ||
| 22 | + selectOnFocus:true, | ||
| 23 | + resizable:true | ||
| 24 | + }); | ||
| 25 | + combo.applyTo('local-states'); | ||
| 26 | + | ||
| 27 | + | ||
| 28 | + | ||
| 29 | + var converted = new Ext.form.ComboBox({ | ||
| 30 | + typeAhead: true, | ||
| 31 | + triggerAction: 'all', | ||
| 32 | + transform:'state', | ||
| 33 | + width:135, | ||
| 34 | + forceSelection:true | ||
| 35 | + }); | ||
| 36 | +}); | ||
| 0 | \ No newline at end of file | 37 | \ No newline at end of file |
thirdpartyjs/extjs/examples/form/custom.html
0 → 100644
| 1 | +<html> | ||
| 2 | +<head> | ||
| 3 | + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> | ||
| 4 | + <title>Custom Fields</title> | ||
| 5 | + <link rel="stylesheet" type="text/css" href="../../resources/css/ext-all.css" /> | ||
| 6 | + | ||
| 7 | + <!-- GC --> <!-- LIBS --> <script type="text/javascript" src="../../adapter/ext/ext-base.js"></script> <!-- ENDLIBS --> | ||
| 8 | + <script type="text/javascript" src="../../ext-all.js"></script> | ||
| 9 | + | ||
| 10 | + <script type="text/javascript" src="custom.js"></script> | ||
| 11 | + <link rel="stylesheet" type="text/css" href="combos.css" /> | ||
| 12 | + | ||
| 13 | + <style type="text/css"> | ||
| 14 | + #search-results a { | ||
| 15 | + color: #385F95; | ||
| 16 | + font:bold 11px tahoma, arial, helvetica, sans-serif; | ||
| 17 | + text-decoration:none; | ||
| 18 | + } | ||
| 19 | + #search-results a:hover { | ||
| 20 | + text-decoration:underline; | ||
| 21 | + } | ||
| 22 | + #search-results .search-item { | ||
| 23 | + padding:5px; | ||
| 24 | + } | ||
| 25 | + #search-results p { | ||
| 26 | + margin:3px !important; | ||
| 27 | + } | ||
| 28 | + #search-results { | ||
| 29 | + border-bottom:1px solid #ddd; | ||
| 30 | + margin: 0 1px; | ||
| 31 | + height:300px; | ||
| 32 | + overflow:auto; | ||
| 33 | + } | ||
| 34 | + #search-results .x-toolbar { | ||
| 35 | + border:0 none; | ||
| 36 | + } | ||
| 37 | + </style> | ||
| 38 | + | ||
| 39 | + <!-- Common Styles for the examples --> | ||
| 40 | + <link rel="stylesheet" type="text/css" href="../examples.css" /> | ||
| 41 | +</head> | ||
| 42 | +<body> | ||
| 43 | +<script type="text/javascript" src="../examples.js"></script><!-- EXAMPLES --> | ||
| 44 | +<p> | ||
| 45 | + <b>Custom Form Feilds</b><br /> | ||
| 46 | + Ext provides many types of form fields to build interactive and rich forms. However, it also | ||
| 47 | + provides a complete framework for building new types of fields quickly. The search field below | ||
| 48 | + is an example. | ||
| 49 | +</p> | ||
| 50 | +<p>The js is not minified so it is readable. See <a href="custom.js">custom.js</a>.</p> | ||
| 51 | + | ||
| 52 | +<div style="width:600px;position:static;" class="x-layout-panel"> | ||
| 53 | + <div class="x-layout-panel-hd"> | ||
| 54 | + <div class="x-layout-panel-hd-text">Forum Posts</div> | ||
| 55 | + </div> | ||
| 56 | + <div id="search-tb"></div> | ||
| 57 | + <div id="search-results"></div> | ||
| 58 | + <div id="page-tb"></div> | ||
| 59 | +</div> | ||
| 60 | + | ||
| 61 | +</body> | ||
| 62 | +</html> |
thirdpartyjs/extjs/examples/form/custom.js
0 → 100644
| 1 | +/* | ||
| 2 | + * Ext JS Library 1.1 Beta 1 | ||
| 3 | + * Copyright(c) 2006-2007, Ext JS, LLC. | ||
| 4 | + * licensing@extjs.com | ||
| 5 | + * | ||
| 6 | + * http://www.extjs.com/license | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +Ext.onReady(function(){ | ||
| 10 | + var ds = new Ext.data.Store({ | ||
| 11 | + proxy: new Ext.data.ScriptTagProxy({ | ||
| 12 | + url: 'http://extjs.com/forum/topics-remote.php' | ||
| 13 | + }), | ||
| 14 | + reader: new Ext.data.JsonReader({ | ||
| 15 | + root: 'topics', | ||
| 16 | + totalProperty: 'totalCount', | ||
| 17 | + id: 'post_id' | ||
| 18 | + }, [ | ||
| 19 | + {name: 'postId', mapping: 'post_id'}, | ||
| 20 | + {name: 'title', mapping: 'topic_title'}, | ||
| 21 | + {name: 'topicId', mapping: 'topic_id'}, | ||
| 22 | + {name: 'author', mapping: 'author'}, | ||
| 23 | + {name: 'lastPost', mapping: 'post_time', type: 'date', dateFormat: 'timestamp'}, | ||
| 24 | + {name: 'excerpt', mapping: 'post_text'} | ||
| 25 | + ]), | ||
| 26 | + | ||
| 27 | + baseParams: {limit:20, forumId: 4} | ||
| 28 | + }); | ||
| 29 | + | ||
| 30 | + // Custom rendering Template for the View | ||
| 31 | + var resultTpl = new Ext.Template( | ||
| 32 | + '<div class="search-item">', | ||
| 33 | + '<h3><span>{lastPost:date("M j, Y")}<br />by {author}</span>', | ||
| 34 | + '<a href="http://extjs.com/forum/showthread.php?t={topicId}&p={postId}" target="_blank">{title}</a></h3>', | ||
| 35 | + '<p>{excerpt}</p>', | ||
| 36 | + '</div>' | ||
| 37 | + ); | ||
| 38 | + | ||
| 39 | + var view = new Ext.View('search-results', resultTpl, {store: ds}); | ||
| 40 | + | ||
| 41 | + var tb = new Ext.Toolbar('search-tb', [ | ||
| 42 | + 'Search: ', ' ', | ||
| 43 | + new Ext.app.SearchField({ | ||
| 44 | + store: ds, | ||
| 45 | + width:320 | ||
| 46 | + }) | ||
| 47 | + ]); | ||
| 48 | + | ||
| 49 | + new Ext.PagingToolbar('page-tb', ds, { | ||
| 50 | + pageSize: 20, | ||
| 51 | + displayInfo: true, | ||
| 52 | + displayMsg: 'Topics {0} - {1} of {2}', | ||
| 53 | + emptyMsg: "No topics to display" | ||
| 54 | + }); | ||
| 55 | + | ||
| 56 | + ds.load({params:{start:0, limit:20, forumId: 4}}); | ||
| 57 | +}); | ||
| 58 | + | ||
| 59 | +/** | ||
| 60 | + * The custom search field | ||
| 61 | + */ | ||
| 62 | + | ||
| 63 | +Ext.app.SearchField = Ext.extend(Ext.form.TwinTriggerField, { | ||
| 64 | + initComponent : function(){ | ||
| 65 | + Ext.app.SearchField.superclass.initComponent.call(this); | ||
| 66 | + this.on('specialkey', function(f, e){ | ||
| 67 | + if(e.getKey() == e.ENTER){ | ||
| 68 | + this.onTrigger2Click(); | ||
| 69 | + } | ||
| 70 | + }, this); | ||
| 71 | + }, | ||
| 72 | + | ||
| 73 | + validationEvent:false, | ||
| 74 | + validateOnBlur:false, | ||
| 75 | + trigger1Class:'x-form-clear-trigger', | ||
| 76 | + trigger2Class:'x-form-search-trigger', | ||
| 77 | + hideTrigger1:true, | ||
| 78 | + width:180, | ||
| 79 | + hasSearch : false, | ||
| 80 | + paramName : 'query', | ||
| 81 | + | ||
| 82 | + onTrigger1Click : function(){ | ||
| 83 | + if(this.hasSearch){ | ||
| 84 | + var o = {start: 0}; | ||
| 85 | + o[this.paramName] = ''; | ||
| 86 | + this.store.reload({params:o}); | ||
| 87 | + this.el.dom.value = ''; | ||
| 88 | + this.triggers[0].hide(); | ||
| 89 | + this.hasSearch = false; | ||
| 90 | + } | ||
| 91 | + }, | ||
| 92 | + | ||
| 93 | + onTrigger2Click : function(){ | ||
| 94 | + var v = this.getRawValue(); | ||
| 95 | + if(v.length < 1){ | ||
| 96 | + this.onTrigger1Click(); | ||
| 97 | + return; | ||
| 98 | + } | ||
| 99 | + var o = {start: 0}; | ||
| 100 | + o[this.paramName] = v; | ||
| 101 | + this.store.reload({params:o}); | ||
| 102 | + this.hasSearch = true; | ||
| 103 | + this.triggers[0].show(); | ||
| 104 | + } | ||
| 105 | +}); | ||
| 0 | \ No newline at end of file | 106 | \ No newline at end of file |
thirdpartyjs/extjs/examples/form/dynamic.html
0 → 100644
| 1 | +<!--<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">--> | ||
| 2 | +<html> | ||
| 3 | +<head> | ||
| 4 | +<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> | ||
| 5 | +<title>Forms</title> | ||
| 6 | +<link rel="stylesheet" type="text/css" href="../../resources/css/ext-all.css" /> | ||
| 7 | + | ||
| 8 | + <!-- GC --> <!-- LIBS --> <script type="text/javascript" src="../../adapter/ext/ext-base.js"></script> <!-- ENDLIBS --> | ||
| 9 | + <script type="text/javascript" src="../../ext-all.js"></script> | ||
| 10 | + | ||
| 11 | +<script type="text/javascript" src="states.js"></script> | ||
| 12 | +<script type="text/javascript" src="dynamic.js"></script> | ||
| 13 | +<link rel="stylesheet" type="text/css" href="forms.css" /> | ||
| 14 | + | ||
| 15 | +<!-- Common Styles for the examples --> | ||
| 16 | +<link rel="stylesheet" type="text/css" href="../examples.css" /> | ||
| 17 | +</head> | ||
| 18 | +<body> | ||
| 19 | +<script type="text/javascript" src="../examples.js"></script><!-- EXAMPLES --> | ||
| 20 | +<h1>Dynamic Forms built with JavaScript</h1> | ||
| 21 | +<p> | ||
| 22 | + These forms do not do anything and have very little validation. They solely demonstrate | ||
| 23 | + how you can use Ext Forms to build and layout forms on the fly. | ||
| 24 | +</p> | ||
| 25 | + | ||
| 26 | +<p>The js is not minified so it is readable. See <a href="dynamic.js">dynamic.js</a>.</p> | ||
| 27 | + | ||
| 28 | +<div style="width:300px;"> | ||
| 29 | + <div class="x-box-tl"><div class="x-box-tr"><div class="x-box-tc"></div></div></div> | ||
| 30 | + <div class="x-box-ml"><div class="x-box-mr"><div class="x-box-mc"> | ||
| 31 | + <h3 style="margin-bottom:5px;">Simple Form</h3> | ||
| 32 | + <div id="form-ct"> | ||
| 33 | + | ||
| 34 | + </div> | ||
| 35 | + </div></div></div> | ||
| 36 | + <div class="x-box-bl"><div class="x-box-br"><div class="x-box-bc"></div></div></div> | ||
| 37 | +</div> | ||
| 38 | +<br/> | ||
| 39 | +<div style="width:600px;"> | ||
| 40 | + <div class="x-box-tl"><div class="x-box-tr"><div class="x-box-tc"></div></div></div> | ||
| 41 | + <div class="x-box-ml"><div class="x-box-mr"><div class="x-box-mc"> | ||
| 42 | + <h3 style="margin-bottom:5px;">Multi-column and labels top</h3> | ||
| 43 | + <div id="form-ct2"> | ||
| 44 | + | ||
| 45 | + </div> | ||
| 46 | + </div></div></div> | ||
| 47 | + <div class="x-box-bl"><div class="x-box-br"><div class="x-box-bc"></div></div></div> | ||
| 48 | +</div> | ||
| 49 | +<br/> | ||
| 50 | +<div style="width:345px;"> | ||
| 51 | + <div class="x-box-tl"><div class="x-box-tr"><div class="x-box-tc"></div></div></div> | ||
| 52 | + <div class="x-box-ml"><div class="x-box-mr"><div class="x-box-mc"> | ||
| 53 | + <h3>Fieldsets, labels right and complex fields</h3> | ||
| 54 | + <div id="form-ct3"> | ||
| 55 | + | ||
| 56 | + </div> | ||
| 57 | + </div></div></div> | ||
| 58 | + <div class="x-box-bl"><div class="x-box-br"><div class="x-box-bc"></div></div></div> | ||
| 59 | +</div> | ||
| 60 | +<br/> | ||
| 61 | +<div style="width:600px;"> | ||
| 62 | + <div class="x-box-tl"><div class="x-box-tr"><div class="x-box-tc"></div></div></div> | ||
| 63 | + <div class="x-box-ml"><div class="x-box-mr"><div class="x-box-mc"> | ||
| 64 | + <h3 style="margin-bottom:5px;">Multi-column, nesting and fieldsets</h3> | ||
| 65 | + <div id="form-ct4"> | ||
| 66 | + | ||
| 67 | + </div> | ||
| 68 | + </div></div></div> | ||
| 69 | + <div class="x-box-bl"><div class="x-box-br"><div class="x-box-bc"></div></div></div> | ||
| 70 | +</div> | ||
| 71 | +<div class="x-form-clear"></div> | ||
| 72 | +</body> | ||
| 73 | +</html> |
thirdpartyjs/extjs/examples/form/dynamic.js
0 → 100644
| 1 | +/* | ||
| 2 | + * Ext JS Library 1.1 Beta 1 | ||
| 3 | + * Copyright(c) 2006-2007, Ext JS, LLC. | ||
| 4 | + * licensing@extjs.com | ||
| 5 | + * | ||
| 6 | + * http://www.extjs.com/license | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +Ext.onReady(function(){ | ||
| 10 | + | ||
| 11 | + Ext.QuickTips.init(); | ||
| 12 | + | ||
| 13 | + // turn on validation errors beside the field globally | ||
| 14 | + Ext.form.Field.prototype.msgTarget = 'side'; | ||
| 15 | + | ||
| 16 | + /* | ||
| 17 | + * ================ Simple form ======================= | ||
| 18 | + */ | ||
| 19 | + var simple = new Ext.form.Form({ | ||
| 20 | + labelWidth: 75, // label settings here cascade unless overridden | ||
| 21 | + url:'save-form.php' | ||
| 22 | + }); | ||
| 23 | + simple.add( | ||
| 24 | + new Ext.form.TextField({ | ||
| 25 | + fieldLabel: 'First Name', | ||
| 26 | + name: 'first', | ||
| 27 | + width:175, | ||
| 28 | + allowBlank:false | ||
| 29 | + }), | ||
| 30 | + | ||
| 31 | + new Ext.form.TextField({ | ||
| 32 | + fieldLabel: 'Last Name', | ||
| 33 | + name: 'last', | ||
| 34 | + width:175 | ||
| 35 | + }), | ||
| 36 | + | ||
| 37 | + new Ext.form.TextField({ | ||
| 38 | + fieldLabel: 'Company', | ||
| 39 | + name: 'company', | ||
| 40 | + width:175 | ||
| 41 | + }), | ||
| 42 | + | ||
| 43 | + new Ext.form.TextField({ | ||
| 44 | + fieldLabel: 'Email', | ||
| 45 | + name: 'email', | ||
| 46 | + vtype:'email', | ||
| 47 | + width:175 | ||
| 48 | + }) | ||
| 49 | + ); | ||
| 50 | + | ||
| 51 | + simple.addButton('Save'); | ||
| 52 | + simple.addButton('Cancel'); | ||
| 53 | + | ||
| 54 | + simple.render('form-ct'); | ||
| 55 | + | ||
| 56 | + | ||
| 57 | + /* | ||
| 58 | + * ================ Form 2 ======================= | ||
| 59 | + */ | ||
| 60 | + var top = new Ext.form.Form({ | ||
| 61 | + labelAlign: 'top' | ||
| 62 | + }); | ||
| 63 | + | ||
| 64 | + top.column( | ||
| 65 | + {width:282}, // precise column sizes or percentages or straight CSS | ||
| 66 | + new Ext.form.TextField({ | ||
| 67 | + fieldLabel: 'First Name', | ||
| 68 | + name: 'first', | ||
| 69 | + width:225 | ||
| 70 | + }), | ||
| 71 | + | ||
| 72 | + new Ext.form.TextField({ | ||
| 73 | + fieldLabel: 'Company', | ||
| 74 | + name: 'company', | ||
| 75 | + width:225 | ||
| 76 | + }) | ||
| 77 | + ); | ||
| 78 | + | ||
| 79 | + top.column( | ||
| 80 | + {width:272, style:'margin-left:10px', clear:true}, // apply custom css, clear:true means it is the last column | ||
| 81 | + new Ext.form.TextField({ | ||
| 82 | + fieldLabel: 'Last Name', | ||
| 83 | + name: 'last', | ||
| 84 | + width:225 | ||
| 85 | + }), | ||
| 86 | + | ||
| 87 | + new Ext.form.TextField({ | ||
| 88 | + fieldLabel: 'Email', | ||
| 89 | + name: 'email', | ||
| 90 | + vtype:'email', | ||
| 91 | + width:225 | ||
| 92 | + }) | ||
| 93 | + ); | ||
| 94 | + | ||
| 95 | + top.container({}, | ||
| 96 | + new Ext.form.HtmlEditor({ | ||
| 97 | + id:'bio', | ||
| 98 | + fieldLabel:'Biography', | ||
| 99 | + width:550, | ||
| 100 | + height:200 | ||
| 101 | + }) | ||
| 102 | + ); | ||
| 103 | + | ||
| 104 | + top.addButton('Save'); | ||
| 105 | + top.addButton('Cancel'); | ||
| 106 | + | ||
| 107 | + top.render('form-ct2'); | ||
| 108 | + | ||
| 109 | + /* | ||
| 110 | + * ================ Form 3 ======================= | ||
| 111 | + */ | ||
| 112 | + var fs = new Ext.form.Form({ | ||
| 113 | + labelAlign: 'right', | ||
| 114 | + labelWidth: 80 | ||
| 115 | + }); | ||
| 116 | + | ||
| 117 | + fs.fieldset( | ||
| 118 | + {legend:'Contact Information'}, | ||
| 119 | + new Ext.form.TextField({ | ||
| 120 | + fieldLabel: 'First Name', | ||
| 121 | + name: 'first', | ||
| 122 | + width:190 | ||
| 123 | + }), | ||
| 124 | + | ||
| 125 | + new Ext.form.TextField({ | ||
| 126 | + fieldLabel: 'Last Name', | ||
| 127 | + name: 'last', | ||
| 128 | + width:190 | ||
| 129 | + }), | ||
| 130 | + | ||
| 131 | + new Ext.form.TextField({ | ||
| 132 | + fieldLabel: 'Company', | ||
| 133 | + name: 'company', | ||
| 134 | + width:190 | ||
| 135 | + }), | ||
| 136 | + | ||
| 137 | + new Ext.form.TextField({ | ||
| 138 | + fieldLabel: 'Email', | ||
| 139 | + name: 'email', | ||
| 140 | + vtype:'email', | ||
| 141 | + width:190 | ||
| 142 | + }), | ||
| 143 | + | ||
| 144 | + new Ext.form.ComboBox({ | ||
| 145 | + fieldLabel: 'State', | ||
| 146 | + hiddenName:'state', | ||
| 147 | + store: new Ext.data.SimpleStore({ | ||
| 148 | + fields: ['abbr', 'state'], | ||
| 149 | + data : Ext.exampledata.states // from states.js | ||
| 150 | + }), | ||
| 151 | + displayField:'state', | ||
| 152 | + typeAhead: true, | ||
| 153 | + mode: 'local', | ||
| 154 | + triggerAction: 'all', | ||
| 155 | + emptyText:'Select a state...', | ||
| 156 | + selectOnFocus:true, | ||
| 157 | + width:190 | ||
| 158 | + }), | ||
| 159 | + | ||
| 160 | + new Ext.form.DateField({ | ||
| 161 | + fieldLabel: 'Date of Birth', | ||
| 162 | + name: 'dob', | ||
| 163 | + width:190, | ||
| 164 | + allowBlank:false | ||
| 165 | + }) | ||
| 166 | + ); | ||
| 167 | + | ||
| 168 | + fs.addButton('Save'); | ||
| 169 | + fs.addButton('Cancel'); | ||
| 170 | + | ||
| 171 | + fs.render('form-ct3'); | ||
| 172 | + | ||
| 173 | + /* | ||
| 174 | + * ================ Form 4 ======================= | ||
| 175 | + */ | ||
| 176 | + var form = new Ext.form.Form({ | ||
| 177 | + labelAlign: 'right', | ||
| 178 | + labelWidth: 75 | ||
| 179 | + }); | ||
| 180 | + | ||
| 181 | + form.column({width:342, labelWidth:75}); // open column, without auto close | ||
| 182 | + form.fieldset( | ||
| 183 | + {legend:'Contact Information'}, | ||
| 184 | + new Ext.form.TextField({ | ||
| 185 | + fieldLabel: 'Full Name', | ||
| 186 | + name: 'fullName', | ||
| 187 | + allowBlank:false, | ||
| 188 | + value: 'Jack Slocum' | ||
| 189 | + }), | ||
| 190 | + | ||
| 191 | + new Ext.form.TextField({ | ||
| 192 | + fieldLabel: 'Job Title', | ||
| 193 | + name: 'title', | ||
| 194 | + value: 'Jr. Developer' | ||
| 195 | + }), | ||
| 196 | + | ||
| 197 | + new Ext.form.TextField({ | ||
| 198 | + fieldLabel: 'Company', | ||
| 199 | + name: 'company', | ||
| 200 | + value: 'Ext JS' | ||
| 201 | + }), | ||
| 202 | + | ||
| 203 | + new Ext.form.TextArea({ | ||
| 204 | + fieldLabel: 'Address', | ||
| 205 | + name: 'address', | ||
| 206 | + grow: true, | ||
| 207 | + preventScrollbars:true, | ||
| 208 | + value: '4 Redbulls Drive' | ||
| 209 | + }) | ||
| 210 | + ); | ||
| 211 | + form.fieldset( | ||
| 212 | + {legend:'Phone Numbers'}, | ||
| 213 | + new Ext.form.TextField({ | ||
| 214 | + fieldLabel: 'Home', | ||
| 215 | + name: 'home', | ||
| 216 | + value: '(888) 555-1212' | ||
| 217 | + }), | ||
| 218 | + | ||
| 219 | + new Ext.form.TextField({ | ||
| 220 | + fieldLabel: 'Business', | ||
| 221 | + name: 'business' | ||
| 222 | + }), | ||
| 223 | + | ||
| 224 | + new Ext.form.TextField({ | ||
| 225 | + fieldLabel: 'Mobile', | ||
| 226 | + name: 'mobile' | ||
| 227 | + }), | ||
| 228 | + | ||
| 229 | + new Ext.form.TextField({ | ||
| 230 | + fieldLabel: 'Fax', | ||
| 231 | + name: 'fax' | ||
| 232 | + }) | ||
| 233 | + ); | ||
| 234 | + form.end(); // closes the last container element (column, layout, fieldset, etc) and moves up 1 level in the stack | ||
| 235 | + | ||
| 236 | + | ||
| 237 | + form.column( | ||
| 238 | + {width:202, style:'margin-left:10px', clear:true} | ||
| 239 | + ); | ||
| 240 | + | ||
| 241 | + form.fieldset( | ||
| 242 | + {id:'photo', legend:'Photo'} | ||
| 243 | + ); | ||
| 244 | + form.end(); | ||
| 245 | + | ||
| 246 | + form.fieldset( | ||
| 247 | + {legend:'Options', hideLabels:true}, | ||
| 248 | + new Ext.form.Checkbox({ | ||
| 249 | + boxLabel:'Ext 1.0 User', | ||
| 250 | + name:'extuser' | ||
| 251 | + }), | ||
| 252 | + new Ext.form.Checkbox({ | ||
| 253 | + boxLabel:'Ext Commercial User', | ||
| 254 | + name:'extcomm' | ||
| 255 | + }), | ||
| 256 | + new Ext.form.Checkbox({ | ||
| 257 | + boxLabel:'Ext Premium Member', | ||
| 258 | + name:'extprem' | ||
| 259 | + }), | ||
| 260 | + new Ext.form.Checkbox({ | ||
| 261 | + boxLabel:'Ext Team Member', | ||
| 262 | + name:'extteam', | ||
| 263 | + checked:true | ||
| 264 | + }) | ||
| 265 | + ); | ||
| 266 | + | ||
| 267 | + form.end(); // close the column | ||
| 268 | + | ||
| 269 | + | ||
| 270 | + form.applyIfToFields({ | ||
| 271 | + width:230 | ||
| 272 | + }); | ||
| 273 | + | ||
| 274 | + form.addButton('Save'); | ||
| 275 | + form.addButton('Cancel'); | ||
| 276 | + | ||
| 277 | + form.render('form-ct4'); | ||
| 278 | + | ||
| 279 | + // The form elements are standard HTML elements. By assigning an id (as we did above) | ||
| 280 | + // we can manipulate them like any other element | ||
| 281 | + var photo = Ext.get('photo'); | ||
| 282 | + var c = photo.createChild({ | ||
| 283 | + tag:'center', | ||
| 284 | + cn: { | ||
| 285 | + tag:'img', | ||
| 286 | + src: 'http://extjs.com/forum/image.php?u=2&dateline=1175747336', | ||
| 287 | + style:'margin-bottom:5px;' | ||
| 288 | + } | ||
| 289 | + }); | ||
| 290 | + new Ext.Button(c, { | ||
| 291 | + text: 'Change Photo' | ||
| 292 | + }); | ||
| 293 | +}); | ||
| 0 | \ No newline at end of file | 294 | \ No newline at end of file |
thirdpartyjs/extjs/examples/form/forms.css
0 → 100644
| 1 | +/* | ||
| 2 | + * Ext JS Library 1.1 Beta 1 | ||
| 3 | + * Copyright(c) 2006-2007, Ext JS, LLC. | ||
| 4 | + * licensing@extjs.com | ||
| 5 | + * | ||
| 6 | + * http://www.extjs.com/license | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +.calendar .x-menu-item-icon { | ||
| 10 | + background-image:url(../../resources/images/default/shared/calendar.gif); | ||
| 11 | +} | ||
| 12 | + | ||
| 13 | +.search-item { | ||
| 14 | + font:normal 11px tahoma, arial, helvetica, sans-serif; | ||
| 15 | + padding:3px 10px 3px 10px; | ||
| 16 | + border-bottom:1px solid #eeeeee; | ||
| 17 | +} | ||
| 18 | +.search-item h3 { | ||
| 19 | + display:block; | ||
| 20 | + font:inherit; | ||
| 21 | + font-weight:bold; | ||
| 22 | +} | ||
| 23 | + | ||
| 24 | +.search-item h3 span { | ||
| 25 | + float: right; | ||
| 26 | + font-weight:normal; | ||
| 27 | + margin:0 0 5px 5px; | ||
| 28 | + width:100px; | ||
| 29 | + display:block; | ||
| 30 | + clear:none; | ||
| 31 | +} | ||
| 0 | \ No newline at end of file | 32 | \ No newline at end of file |
thirdpartyjs/extjs/examples/form/forms.html
0 → 100644
| 1 | +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> | ||
| 2 | +<html> | ||
| 3 | +<head> | ||
| 4 | +<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> | ||
| 5 | +<title>Forms</title> | ||
| 6 | +<link rel="stylesheet" type="text/css" href="../../resources/css/ext-all.css" /> | ||
| 7 | + | ||
| 8 | + <!-- GC --> <!-- LIBS --> <script type="text/javascript" src="../../adapter/ext/ext-base.js"></script> <!-- ENDLIBS --> | ||
| 9 | + <script type="text/javascript" src="../../ext-all.js"></script> | ||
| 10 | + | ||
| 11 | +<script type="text/javascript" src="forms.js"></script> | ||
| 12 | +<link rel="stylesheet" type="text/css" href="forms.css" /> | ||
| 13 | + | ||
| 14 | +<!-- Common Styles for the examples --> | ||
| 15 | +<link rel="stylesheet" type="text/css" href="../examples.css" /> | ||
| 16 | +</head> | ||
| 17 | +<body> | ||
| 18 | +<script type="text/javascript" src="../examples.js"></script><!-- EXAMPLES --> | ||
| 19 | +<h1>Forms</h1> | ||
| 20 | +<p>The js is not minified so it is readable. See <a href="forms.js">forms.js</a>.</p> | ||
| 21 | + | ||
| 22 | +<form id="form1" class="x-form"> | ||
| 23 | + <div style="width:400px;"> | ||
| 24 | + <div class="x-box-tl"><div class="x-box-tr"><div class="x-box-tc"></div></div></div> | ||
| 25 | + <div class="x-box-ml"><div class="x-box-mr"><div class="x-box-mc"> | ||
| 26 | + <h3 style="margin-bottom:5px;">Ext Live Forms</h3> | ||
| 27 | + <!-- begin form layout --> | ||
| 28 | + <div class="x-form-bd" id="container"> | ||
| 29 | + <fieldset> | ||
| 30 | + <legend>ComboBox Fields</legend> | ||
| 31 | + | ||
| 32 | + <div class="x-form-item"> | ||
| 33 | + <label for="combo-local">Local Data:</label> | ||
| 34 | + <div class="x-form-element"> | ||
| 35 | + <input type="text" size="20" name="combo-local" id="combo-local" /> | ||
| 36 | + </div> | ||
| 37 | + </div> | ||
| 38 | + | ||
| 39 | + <div class="x-form-item"> | ||
| 40 | + <label for="combo-ajax">Ajax Data:</label> | ||
| 41 | + <div class="x-form-element"> | ||
| 42 | + <input type="text" size="20" name="combo-ajax" id="combo-ajax" /> | ||
| 43 | + </div> | ||
| 44 | + </div> | ||
| 45 | + | ||
| 46 | + <div class="x-form-item"> | ||
| 47 | + <label for="combo-selection">Only Selection:</label> | ||
| 48 | + <div class="x-form-element"> | ||
| 49 | + <input type="text" size="20" value="OH" name="combo-selection" id="combo-selection" /> | ||
| 50 | + </div> | ||
| 51 | + </div> | ||
| 52 | + | ||
| 53 | + <div class="x-form-item"> | ||
| 54 | + <label for="combo-tpl">Item Templates:</label> | ||
| 55 | + <div class="x-form-element"> | ||
| 56 | + <input type="text" size="20" name="combo-tpl" id="combo-tpl" /> | ||
| 57 | + </div> | ||
| 58 | + </div> | ||
| 59 | + | ||
| 60 | + <div class="x-form-item"> | ||
| 61 | + <label for="combo-tpl">Unobtrusive:</label> | ||
| 62 | + <div class="x-form-element"> | ||
| 63 | + <select name="light" id="light"> | ||
| 64 | + <option value="Shade">Shade</option> | ||
| 65 | + <option value="Mostly Shady">Mostly Shady</option> | ||
| 66 | + <option value="Sun or Shade">Sun or Shade</option> | ||
| 67 | + | ||
| 68 | + <option value="Mostly Sunny">Mostly Sunny</option> | ||
| 69 | + | ||
| 70 | + <option value="Sunny">Sunny</option> | ||
| 71 | + </select> | ||
| 72 | + </div> | ||
| 73 | + </div> | ||
| 74 | + | ||
| 75 | + </fieldset> | ||
| 76 | + | ||
| 77 | + <fieldset> | ||
| 78 | + <legend>Component Fields</legend> | ||
| 79 | + | ||
| 80 | + <div class="x-form-item"> | ||
| 81 | + <label for="markup-date">Date:</label> | ||
| 82 | + <div class="x-form-element"> | ||
| 83 | + <input type="text" size="10" value="03/08/03" name="markup-date" id="markup-date" /> | ||
| 84 | + </div> | ||
| 85 | + </div> | ||
| 86 | + </fieldset> | ||
| 87 | + | ||
| 88 | + <fieldset> | ||
| 89 | + <legend>Live Validation and key filtering</legend> | ||
| 90 | + | ||
| 91 | + <div class="x-form-item"> | ||
| 92 | + <label for="required">Required:</label> | ||
| 93 | + <div class="x-form-element"> | ||
| 94 | + <input type="text" size="24" name="required" id="required" /> | ||
| 95 | + </div> | ||
| 96 | + </div> | ||
| 97 | + | ||
| 98 | + <div class="x-form-item"> | ||
| 99 | + <label for="alpha">Alpha:</label> | ||
| 100 | + <div class="x-form-element"> | ||
| 101 | + <input type="text" size="24" name="alpha" id="alpha" /> | ||
| 102 | + </div> | ||
| 103 | + </div> | ||
| 104 | + | ||
| 105 | + <div class="x-form-item"> | ||
| 106 | + <label for="alpha2">(No Filter):</label> | ||
| 107 | + <div class="x-form-element"> | ||
| 108 | + <input type="text" size="24" name="alpha2" id="alpha2" /> | ||
| 109 | + </div> | ||
| 110 | + </div> | ||
| 111 | + | ||
| 112 | + <div class="x-form-item"> | ||
| 113 | + <label for="alphanum">Alphanum:</label> | ||
| 114 | + <div class="x-form-element"> | ||
| 115 | + <input type="text" size="24" name="alphanum" id="alphanum" /> | ||
| 116 | + </div> | ||
| 117 | + </div> | ||
| 118 | + | ||
| 119 | + <div class="x-form-item"> | ||
| 120 | + <label for="email">Email:</label> | ||
| 121 | + <div class="x-form-element"> | ||
| 122 | + <input type="text" size="32" name="email" id="email" /> | ||
| 123 | + </div> | ||
| 124 | + </div> | ||
| 125 | + | ||
| 126 | + <div class="x-form-item"> | ||
| 127 | + <label for="url">URL:</label> | ||
| 128 | + <div class="x-form-element"> | ||
| 129 | + <input type="text" size="32" name="url" id="url" /> | ||
| 130 | + </div> | ||
| 131 | + </div> | ||
| 132 | + | ||
| 133 | + <div class="x-form-item"> | ||
| 134 | + <label for="url">Auto grow textareas:</label> | ||
| 135 | + <div class="x-form-element"> | ||
| 136 | + <textarea name="grow" id="grow" cols="25" rows="3"></textarea> | ||
| 137 | + </div> | ||
| 138 | + </div> | ||
| 139 | + </fieldset> | ||
| 140 | + </div> | ||
| 141 | + <!-- end form layout --> | ||
| 142 | + </div></div></div> | ||
| 143 | + <div class="x-box-bl"><div class="x-box-br"><div class="x-box-bc"></div></div></div> | ||
| 144 | + </div> | ||
| 145 | +</form> | ||
| 146 | +</body> | ||
| 147 | +</html> |
thirdpartyjs/extjs/examples/form/forms.js
0 → 100644
| 1 | +/* | ||
| 2 | + * Ext JS Library 1.1 Beta 1 | ||
| 3 | + * Copyright(c) 2006-2007, Ext JS, LLC. | ||
| 4 | + * licensing@extjs.com | ||
| 5 | + * | ||
| 6 | + * http://www.extjs.com/license | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +Ext.onReady(function(){ | ||
| 10 | + Ext.QuickTips.init(); | ||
| 11 | + | ||
| 12 | + Ext.MessageBox.alert("Warning", "This example is not done and results may vary."); | ||
| 13 | + | ||
| 14 | + // Change field to default to validation message "under" instead of tooltips | ||
| 15 | + Ext.form.Field.prototype.msgTarget = 'under'; | ||
| 16 | + | ||
| 17 | + | ||
| 18 | + var date = new Ext.form.DateField({ | ||
| 19 | + allowBlank:false | ||
| 20 | + }); | ||
| 21 | + | ||
| 22 | + date.applyTo('markup-date'); | ||
| 23 | + | ||
| 24 | + var tranny = new Ext.form.ComboBox({ | ||
| 25 | + typeAhead: true, | ||
| 26 | + triggerAction: 'all', | ||
| 27 | + transform:'light', | ||
| 28 | + width:120, | ||
| 29 | + forceSelection:true | ||
| 30 | + }); | ||
| 31 | + | ||
| 32 | + var required = new Ext.form.TextField({ | ||
| 33 | + allowBlank:false | ||
| 34 | + }); | ||
| 35 | + required.applyTo('required'); | ||
| 36 | + | ||
| 37 | + var alpha = new Ext.form.TextField({ | ||
| 38 | + vtype:'alpha' | ||
| 39 | + }); | ||
| 40 | + alpha.applyTo('alpha'); | ||
| 41 | + | ||
| 42 | + var alpha2 = new Ext.form.TextField({ | ||
| 43 | + vtype:'alpha', | ||
| 44 | + disableKeyFilter:true | ||
| 45 | + }); | ||
| 46 | + alpha2.applyTo('alpha2'); | ||
| 47 | + | ||
| 48 | + var alphanum = new Ext.form.TextField({ | ||
| 49 | + vtype:'alphanum' | ||
| 50 | + }); | ||
| 51 | + alphanum.applyTo('alphanum'); | ||
| 52 | + | ||
| 53 | + var email = new Ext.form.TextField({ | ||
| 54 | + allowBlank:false, | ||
| 55 | + vtype:'email' | ||
| 56 | + }); | ||
| 57 | + email.applyTo('email'); | ||
| 58 | + | ||
| 59 | + var url = new Ext.form.TextField({ | ||
| 60 | + vtype:'url' | ||
| 61 | + }); | ||
| 62 | + url.applyTo('url'); | ||
| 63 | + | ||
| 64 | + var grow = new Ext.form.TextArea({ | ||
| 65 | + width:200, grow:true | ||
| 66 | + }); | ||
| 67 | + grow.applyTo('grow'); | ||
| 68 | + | ||
| 69 | +}); | ||
| 0 | \ No newline at end of file | 70 | \ No newline at end of file |
thirdpartyjs/extjs/examples/form/forum-search.html
0 → 100644
| 1 | +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> | ||
| 2 | +<html> | ||
| 3 | +<head> | ||
| 4 | + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> | ||
| 5 | + <title>ComboBox - Live Search</title> | ||
| 6 | + <link rel="stylesheet" type="text/css" href="../../resources/css/ext-all.css" /> | ||
| 7 | + | ||
| 8 | + <!-- GC --> <!-- LIBS --> <script type="text/javascript" src="../../adapter/ext/ext-base.js"></script> <!-- ENDLIBS --> | ||
| 9 | + <script type="text/javascript" src="../../ext-all.js"></script> | ||
| 10 | + | ||
| 11 | + <script type="text/javascript" src="forum-search.js"></script> | ||
| 12 | + <link rel="stylesheet" type="text/css" href="combos.css" /> | ||
| 13 | + | ||
| 14 | + <!-- Common Styles for the examples --> | ||
| 15 | + <link rel="stylesheet" type="text/css" href="../examples.css" /> | ||
| 16 | + <style type="text/css"> | ||
| 17 | + p { width:650px; } | ||
| 18 | + </style> | ||
| 19 | +</head> | ||
| 20 | +<body> | ||
| 21 | +<script type="text/javascript" src="../examples.js"></script><!-- EXAMPLES --> | ||
| 22 | +<p> | ||
| 23 | + <b>Combo with Templates and Ajax</b><br /> | ||
| 24 | + This is a more advanced example that shows how you can combine paging, Ext.Template and a remote data store | ||
| 25 | + to create a "live search" feature. | ||
| 26 | +</p> | ||
| 27 | +<p>The js is not minified so it is readable. See <a href="forum-search.js">forum-search.js</a>.</p> | ||
| 28 | + | ||
| 29 | +<!-- The box wrap markup embedded instead of using Element.boxWrap() --> | ||
| 30 | +<div style="width:600px;"> | ||
| 31 | + <div class="x-box-tl"><div class="x-box-tr"><div class="x-box-tc"></div></div></div> | ||
| 32 | + <div class="x-box-ml"><div class="x-box-mr"><div class="x-box-mc"> | ||
| 33 | + <h3 style="margin-bottom:5px;">Search the Ext Forums</h3> | ||
| 34 | + <input type="text" size="40" name="search" id="search" /> | ||
| 35 | + <div style="padding-top:4px;"> | ||
| 36 | + Live search requires a minimum of 4 characters. | ||
| 37 | + </div> | ||
| 38 | + </div></div></div> | ||
| 39 | + <div class="x-box-bl"><div class="x-box-br"><div class="x-box-bc"></div></div></div> | ||
| 40 | +</div> | ||
| 41 | + | ||
| 42 | +</body> | ||
| 43 | +</html> |
thirdpartyjs/extjs/examples/form/forum-search.js
0 → 100644
| 1 | +/* | ||
| 2 | + * Ext JS Library 1.1 Beta 1 | ||
| 3 | + * Copyright(c) 2006-2007, Ext JS, LLC. | ||
| 4 | + * licensing@extjs.com | ||
| 5 | + * | ||
| 6 | + * http://www.extjs.com/license | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +Ext.onReady(function(){ | ||
| 10 | + | ||
| 11 | + var ds = new Ext.data.Store({ | ||
| 12 | + proxy: new Ext.data.ScriptTagProxy({ | ||
| 13 | + url: 'http://extjs.com/forum/topics-remote.php' | ||
| 14 | + }), | ||
| 15 | + reader: new Ext.data.JsonReader({ | ||
| 16 | + root: 'topics', | ||
| 17 | + totalProperty: 'totalCount', | ||
| 18 | + id: 'post_id' | ||
| 19 | + }, [ | ||
| 20 | + {name: 'title', mapping: 'topic_title'}, | ||
| 21 | + {name: 'topicId', mapping: 'topic_id'}, | ||
| 22 | + {name: 'author', mapping: 'author'}, | ||
| 23 | + {name: 'lastPost', mapping: 'post_time', type: 'date', dateFormat: 'timestamp'}, | ||
| 24 | + {name: 'excerpt', mapping: 'post_text'} | ||
| 25 | + ]) | ||
| 26 | + }); | ||
| 27 | + | ||
| 28 | + // Custom rendering Template | ||
| 29 | + var resultTpl = new Ext.Template( | ||
| 30 | + '<div class="search-item">', | ||
| 31 | + '<h3><span>{lastPost:date("M j, Y")}<br />by {author}</span>{title}</h3>', | ||
| 32 | + '{excerpt}', | ||
| 33 | + '</div>' | ||
| 34 | + ); | ||
| 35 | + | ||
| 36 | + var search = new Ext.form.ComboBox({ | ||
| 37 | + store: ds, | ||
| 38 | + displayField:'title', | ||
| 39 | + typeAhead: false, | ||
| 40 | + loadingText: 'Searching...', | ||
| 41 | + width: 570, | ||
| 42 | + pageSize:10, | ||
| 43 | + hideTrigger:true, | ||
| 44 | + tpl: resultTpl, | ||
| 45 | + onSelect: function(record){ // override default onSelect to do redirect | ||
| 46 | + window.location = | ||
| 47 | + String.format('http://extjs.com/forum/showthread.php?t={0}&p={1}', record.data.topicId, record.id); | ||
| 48 | + } | ||
| 49 | + }); | ||
| 50 | + // apply it to the exsting input element | ||
| 51 | + search.applyTo('search'); | ||
| 52 | +}); | ||
| 0 | \ No newline at end of file | 53 | \ No newline at end of file |
thirdpartyjs/extjs/examples/form/states.js
0 → 100644
| 1 | +/* | ||
| 2 | + * Ext JS Library 1.1 Beta 1 | ||
| 3 | + * Copyright(c) 2006-2007, Ext JS, LLC. | ||
| 4 | + * licensing@extjs.com | ||
| 5 | + * | ||
| 6 | + * http://www.extjs.com/license | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +// some data used in the examples | ||
| 10 | +Ext.namespace('Ext.exampledata'); | ||
| 11 | + | ||
| 12 | +Ext.exampledata.states = [ | ||
| 13 | + ['AL', 'Alabama'], | ||
| 14 | + ['AK', 'Alaska'], | ||
| 15 | + ['AZ', 'Arizona'], | ||
| 16 | + ['AR', 'Arkansas'], | ||
| 17 | + ['CA', 'California'], | ||
| 18 | + ['CO', 'Colorado'], | ||
| 19 | + ['CN', 'Connecticut'], | ||
| 20 | + ['DE', 'Delaware'], | ||
| 21 | + ['DC', 'District of Columbia'], | ||
| 22 | + ['FL', 'Florida'], | ||
| 23 | + ['GA', 'Georgia'], | ||
| 24 | + ['HW', 'Hawaii'], | ||
| 25 | + ['ID', 'Idaho'], | ||
| 26 | + ['IL', 'Illinois'], | ||
| 27 | + ['IN', 'Indiana'], | ||
| 28 | + ['IA', 'Iowa'], | ||
| 29 | + ['KS', 'Kansas'], | ||
| 30 | + ['KY', 'Kentucky'], | ||
| 31 | + ['LA', 'Louisiana'], | ||
| 32 | + ['MA', 'Maine'], | ||
| 33 | + ['MD', 'Maryland'], | ||
| 34 | + ['MS', 'Massachusetts'], | ||
| 35 | + ['MI', 'Michigan'], | ||
| 36 | + ['MN', 'Minnesota'], | ||
| 37 | + ['MS', 'Mississippi'], | ||
| 38 | + ['MO', 'Missouri'], | ||
| 39 | + ['MT', 'Montana'], | ||
| 40 | + ['NE', 'Nebraska'], | ||
| 41 | + ['NV', 'Nevada'], | ||
| 42 | + ['NH', 'New Hampshire'], | ||
| 43 | + ['NJ', 'New Jersey'], | ||
| 44 | + ['NM', 'New Mexico'], | ||
| 45 | + ['NY', 'New York'], | ||
| 46 | + ['NC', 'North Carolina'], | ||
| 47 | + ['ND', 'North Dakota'], | ||
| 48 | + ['OH', 'Ohio'], | ||
| 49 | + ['OK', 'Oklahoma'], | ||
| 50 | + ['OR', 'Oregon'], | ||
| 51 | + ['PA', 'Pennsylvania'], | ||
| 52 | + ['RH', 'Rhode Island'], | ||
| 53 | + ['SC', 'South Carolina'], | ||
| 54 | + ['SD', 'South Dakota'], | ||
| 55 | + ['TE', 'Tennessee'], | ||
| 56 | + ['TX', 'Texas'], | ||
| 57 | + ['UT', 'Utah'], | ||
| 58 | + ['VE', 'Vermont'], | ||
| 59 | + ['VA', 'Virginia'], | ||
| 60 | + ['WA', 'Washington'], | ||
| 61 | + ['WV', 'West Virginia'], | ||
| 62 | + ['WI', 'Wisconsin'], | ||
| 63 | + ['WY', 'Wyoming'] | ||
| 64 | + ]; | ||
| 0 | \ No newline at end of file | 65 | \ No newline at end of file |
thirdpartyjs/extjs/examples/form/xml-errors.xml
0 → 100644
| 1 | +<?xml version="1.0" encoding="UTF-8"?> | ||
| 2 | +<response success="false"> | ||
| 3 | +<errors> | ||
| 4 | + <field> | ||
| 5 | + <id>first</id> | ||
| 6 | + <msg><![CDATA[ | ||
| 7 | + Invalid name. <br /><i>This is a test validation message from the server </i> | ||
| 8 | + ]]></msg> | ||
| 9 | + </field> | ||
| 10 | + <field> | ||
| 11 | + <id>dob</id> | ||
| 12 | + <msg><![CDATA[ | ||
| 13 | + Invalid Date of Birth. <br /><i>This is a test validation message from the server </i> | ||
| 14 | + ]]></msg> | ||
| 15 | + </field> | ||
| 16 | +</errors> | ||
| 17 | +</response> | ||
| 0 | \ No newline at end of file | 18 | \ No newline at end of file |
thirdpartyjs/extjs/examples/form/xml-form.html
0 → 100644
| 1 | +<html> | ||
| 2 | +<head> | ||
| 3 | +<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> | ||
| 4 | +<title>XML Form</title> | ||
| 5 | +<link rel="stylesheet" type="text/css" href="../../resources/css/ext-all.css" /> | ||
| 6 | + | ||
| 7 | + <!-- GC --> <!-- LIBS --> <script type="text/javascript" src="../../adapter/ext/ext-base.js"></script> <!-- ENDLIBS --> | ||
| 8 | + <script type="text/javascript" src="../../ext-all.js"></script> | ||
| 9 | + | ||
| 10 | +<script type="text/javascript" src="states.js"></script> | ||
| 11 | +<script type="text/javascript" src="xml-form.js"></script> | ||
| 12 | +<link rel="stylesheet" type="text/css" href="forms.css" /> | ||
| 13 | + | ||
| 14 | +<!-- Common Styles for the examples --> | ||
| 15 | +<link rel="stylesheet" type="text/css" href="../examples.css" /> | ||
| 16 | +</head> | ||
| 17 | +<body> | ||
| 18 | +<script type="text/javascript" src="../examples.js"></script><!-- EXAMPLES --> | ||
| 19 | +<h1>Loading/Saving a Dynamic Form using XML</h1> | ||
| 20 | +<p> | ||
| 21 | + This is a very simple example of using XML for load and submit of data with an Ext dynamic form. | ||
| 22 | +</p> | ||
| 23 | +<p> | ||
| 24 | + Click "Load" to load the <a href="xml-form.xml">dummy XML data</a> from the server using an XmlReader. | ||
| 25 | +</p> | ||
| 26 | +<p> | ||
| 27 | + After loading the form, you will be able to hit submit. The submit action will make a post to the server, | ||
| 28 | + and the <a href="xml-errors.xml">dummy XML file</a> on the server with test server-side validation failure messages will be sent back. | ||
| 29 | + Those messages will be applied to the appropriate fields in the form. | ||
| 30 | +</p> | ||
| 31 | +<p> | ||
| 32 | + Note: The built-in JSON support does not require any special readers for mapping. However, If you don't like the Form's built-in JSON format, you could also use a JsonReader for reading data into a form. | ||
| 33 | +</p> | ||
| 34 | +<p>The js is not minified so it is readable. See <a href="xml-form.js">xml-form.js</a>.</p> | ||
| 35 | + | ||
| 36 | +<div style="width:340px;"> | ||
| 37 | + <div class="x-box-tl"><div class="x-box-tr"><div class="x-box-tc"></div></div></div> | ||
| 38 | + <div class="x-box-ml"><div class="x-box-mr"><div class="x-box-mc" id="box-bd"> | ||
| 39 | + <h3>XML Form</h3> | ||
| 40 | + <div id="form-ct"> | ||
| 41 | + | ||
| 42 | + </div> | ||
| 43 | + </div></div></div> | ||
| 44 | + <div class="x-box-bl"><div class="x-box-br"><div class="x-box-bc"></div></div></div> | ||
| 45 | +</div> | ||
| 46 | +<div class="x-form-clear"></div> | ||
| 47 | +</body> | ||
| 48 | +</html> |
thirdpartyjs/extjs/examples/form/xml-form.js
0 → 100644
| 1 | +/* | ||
| 2 | + * Ext JS Library 1.1 Beta 1 | ||
| 3 | + * Copyright(c) 2006-2007, Ext JS, LLC. | ||
| 4 | + * licensing@extjs.com | ||
| 5 | + * | ||
| 6 | + * http://www.extjs.com/license | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +Ext.onReady(function(){ | ||
| 10 | + | ||
| 11 | + Ext.QuickTips.init(); | ||
| 12 | + | ||
| 13 | + // turn on validation errors beside the field globally | ||
| 14 | + Ext.form.Field.prototype.msgTarget = 'side'; | ||
| 15 | + | ||
| 16 | + var fs = new Ext.form.Form({ | ||
| 17 | + labelAlign: 'right', | ||
| 18 | + labelWidth: 75, | ||
| 19 | + waitMsgTarget: 'box-bd', | ||
| 20 | + | ||
| 21 | + // configure how to read the XML Data | ||
| 22 | + reader : new Ext.data.XmlReader({ | ||
| 23 | + record : 'contact', | ||
| 24 | + success: '@success' | ||
| 25 | + }, [ | ||
| 26 | + {name: 'first', mapping:'name/first'}, // custom mapping | ||
| 27 | + {name: 'last', mapping:'name/last'}, | ||
| 28 | + 'company', 'email', 'state', | ||
| 29 | + {name: 'dob', type:'date', dateFormat:'m/d/Y'} // custom data types | ||
| 30 | + ]), | ||
| 31 | + | ||
| 32 | + // reusable eror reader class defined at the end of this file | ||
| 33 | + errorReader: new Ext.form.XmlErrorReader() | ||
| 34 | + }); | ||
| 35 | + | ||
| 36 | + fs.fieldset( | ||
| 37 | + {legend:'Contact Information'}, | ||
| 38 | + new Ext.form.TextField({ | ||
| 39 | + fieldLabel: 'First Name', | ||
| 40 | + name: 'first', | ||
| 41 | + width:190 | ||
| 42 | + }), | ||
| 43 | + | ||
| 44 | + new Ext.form.TextField({ | ||
| 45 | + fieldLabel: 'Last Name', | ||
| 46 | + name: 'last', | ||
| 47 | + width:190 | ||
| 48 | + }), | ||
| 49 | + | ||
| 50 | + new Ext.form.TextField({ | ||
| 51 | + fieldLabel: 'Company', | ||
| 52 | + name: 'company', | ||
| 53 | + width:190 | ||
| 54 | + }), | ||
| 55 | + | ||
| 56 | + new Ext.form.TextField({ | ||
| 57 | + fieldLabel: 'Email', | ||
| 58 | + name: 'email', | ||
| 59 | + vtype:'email', | ||
| 60 | + width:190 | ||
| 61 | + }), | ||
| 62 | + | ||
| 63 | + new Ext.form.ComboBox({ | ||
| 64 | + fieldLabel: 'State', | ||
| 65 | + hiddenName:'state', | ||
| 66 | + store: new Ext.data.SimpleStore({ | ||
| 67 | + fields: ['abbr', 'state'], | ||
| 68 | + data : Ext.exampledata.states // from states.js | ||
| 69 | + }), | ||
| 70 | + valueField:'abbr', | ||
| 71 | + displayField:'state', | ||
| 72 | + typeAhead: true, | ||
| 73 | + mode: 'local', | ||
| 74 | + triggerAction: 'all', | ||
| 75 | + emptyText:'Select a state...', | ||
| 76 | + selectOnFocus:true, | ||
| 77 | + width:190 | ||
| 78 | + }), | ||
| 79 | + | ||
| 80 | + new Ext.form.DateField({ | ||
| 81 | + fieldLabel: 'Date of Birth', | ||
| 82 | + name: 'dob', | ||
| 83 | + width:190, | ||
| 84 | + allowBlank:false | ||
| 85 | + }) | ||
| 86 | + ); | ||
| 87 | + | ||
| 88 | + // simple button add | ||
| 89 | + fs.addButton('Load', function(){ | ||
| 90 | + fs.load({url:'xml-form.xml', waitMsg:'Loading'}); | ||
| 91 | + }); | ||
| 92 | + | ||
| 93 | + // explicit add | ||
| 94 | + var submit = fs.addButton({ | ||
| 95 | + text: 'Submit', | ||
| 96 | + disabled:true, | ||
| 97 | + handler: function(){ | ||
| 98 | + fs.submit({url:'xml-errors.xml', waitMsg:'Saving Data...'}); | ||
| 99 | + } | ||
| 100 | + }); | ||
| 101 | + | ||
| 102 | + fs.render('form-ct'); | ||
| 103 | + | ||
| 104 | + fs.on({ | ||
| 105 | + actioncomplete: function(form, action){ | ||
| 106 | + if(action.type == 'load'){ | ||
| 107 | + submit.enable(); | ||
| 108 | + } | ||
| 109 | + } | ||
| 110 | + }); | ||
| 111 | + | ||
| 112 | +}); | ||
| 113 | + | ||
| 114 | +// A reusable error reader class for XML forms | ||
| 115 | +Ext.form.XmlErrorReader = function(){ | ||
| 116 | + Ext.form.XmlErrorReader.superclass.constructor.call(this, { | ||
| 117 | + record : 'field', | ||
| 118 | + success: '@success' | ||
| 119 | + }, [ | ||
| 120 | + 'id', 'msg' | ||
| 121 | + ] | ||
| 122 | + ); | ||
| 123 | +}; | ||
| 124 | +Ext.extend(Ext.form.XmlErrorReader, Ext.data.XmlReader); | ||
| 0 | \ No newline at end of file | 125 | \ No newline at end of file |
thirdpartyjs/extjs/examples/form/xml-form.xml
0 → 100644
| 1 | +<?xml version="1.0" encoding="UTF-8"?> | ||
| 2 | +<response success="true"> | ||
| 3 | +<contact> | ||
| 4 | + <name> | ||
| 5 | + <first>Jack</first> | ||
| 6 | + <last>Slocum</last> | ||
| 7 | + </name> | ||
| 8 | + <company>Ext JS</company> | ||
| 9 | + <email>support@extjs.com</email> | ||
| 10 | + <state>OH</state> | ||
| 11 | + <dob>04/15/2007</dob> | ||
| 12 | +</contact> | ||
| 13 | +</response> | ||
| 0 | \ No newline at end of file | 14 | \ No newline at end of file |
thirdpartyjs/extjs/examples/grid/array-grid.html
0 → 100644
| 1 | +<html> | ||
| 2 | +<head> | ||
| 3 | +<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> | ||
| 4 | +<title>Array Grid Example</title> | ||
| 5 | + | ||
| 6 | + <link rel="stylesheet" type="text/css" href="../../resources/css/ext-all.css" /> | ||
| 7 | + | ||
| 8 | + <!-- GC --> <!-- LIBS --> <script type="text/javascript" src="../../adapter/ext/ext-base.js"></script> <!-- ENDLIBS --> | ||
| 9 | + <script type="text/javascript" src="../../ext-all.js"></script> | ||
| 10 | + | ||
| 11 | + <script type="text/javascript" src="array-grid.js"></script> | ||
| 12 | + <link rel="stylesheet" type="text/css" href="grid-examples.css" /> | ||
| 13 | + | ||
| 14 | + <!-- Common Styles for the examples --> | ||
| 15 | + <link rel="stylesheet" type="text/css" href="../examples.css" /> | ||
| 16 | +</head> | ||
| 17 | +<body> | ||
| 18 | +<script type="text/javascript" src="../examples.js"></script><!-- EXAMPLES --> | ||
| 19 | +<h1>Array Grid Example</h1> | ||
| 20 | +<p>This example shows how to create a grid from Array data. For more details on this example, see <a href="http://www.jackslocum.com/yui/2006/08/30/a-grid-component-for-yahoo-ui-extensions-v1/">the blog post</a>.</p> | ||
| 21 | +<p>Note that the js is not minified so it is readable. See <a href="array-grid.js">array-grid.js</a>.</p> | ||
| 22 | + | ||
| 23 | +<div id="grid-panel" style="width:600px;height:300px;"> | ||
| 24 | +<div id="grid-example"></div> | ||
| 25 | +</div> | ||
| 26 | +</body> | ||
| 27 | +</html> |
thirdpartyjs/extjs/examples/grid/array-grid.js
0 → 100644
| 1 | +/* | ||
| 2 | + * Ext JS Library 1.1 Beta 1 | ||
| 3 | + * Copyright(c) 2006-2007, Ext JS, LLC. | ||
| 4 | + * licensing@extjs.com | ||
| 5 | + * | ||
| 6 | + * http://www.extjs.com/license | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +var Example = { | ||
| 10 | + init : function(){ | ||
| 11 | + // some data yanked off the web | ||
| 12 | + var myData = [ | ||
| 13 | + ['3m Co',71.72,0.02,0.03,'9/1 12:00am'], | ||
| 14 | + ['Alcoa Inc',29.01,0.42,1.47,'9/1 12:00am'], | ||
| 15 | + ['Altria Group Inc',83.81,0.28,0.34,'9/1 12:00am'], | ||
| 16 | + ['American Express Company',52.55,0.01,0.02,'9/1 12:00am'], | ||
| 17 | + ['American International Group, Inc.',64.13,0.31,0.49,'9/1 12:00am'], | ||
| 18 | + ['AT&T Inc.',31.61,-0.48,-1.54,'9/1 12:00am'], | ||
| 19 | + ['Boeing Co.',75.43,0.53,0.71,'9/1 12:00am'], | ||
| 20 | + ['Caterpillar Inc.',67.27,0.92,1.39,'9/1 12:00am'], | ||
| 21 | + ['Citigroup, Inc.',49.37,0.02,0.04,'9/1 12:00am'], | ||
| 22 | + ['E.I. du Pont de Nemours and Company',40.48,0.51,1.28,'9/1 12:00am'], | ||
| 23 | + ['Exxon Mobil Corp',68.1,-0.43,-0.64,'9/1 12:00am'], | ||
| 24 | + ['General Electric Company',34.14,-0.08,-0.23,'9/1 12:00am'], | ||
| 25 | + ['General Motors Corporation',30.27,1.09,3.74,'9/1 12:00am'], | ||
| 26 | + ['Hewlett-Packard Co.',36.53,-0.03,-0.08,'9/1 12:00am'], | ||
| 27 | + ['Honeywell Intl Inc',38.77,0.05,0.13,'9/1 12:00am'], | ||
| 28 | + ['Intel Corporation',19.88,0.31,1.58,'9/1 12:00am'], | ||
| 29 | + ['International Business Machines',81.41,0.44,0.54,'9/1 12:00am'], | ||
| 30 | + ['Johnson & Johnson',64.72,0.06,0.09,'9/1 12:00am'], | ||
| 31 | + ['JP Morgan & Chase & Co',45.73,0.07,0.15,'9/1 12:00am'], | ||
| 32 | + ['McDonald\'s Corporation',36.76,0.86,2.40,'9/1 12:00am'], | ||
| 33 | + ['Merck & Co., Inc.',40.96,0.41,1.01,'9/1 12:00am'], | ||
| 34 | + ['Microsoft Corporation',25.84,0.14,0.54,'9/1 12:00am'], | ||
| 35 | + ['Pfizer Inc',27.96,0.4,1.45,'9/1 12:00am'], | ||
| 36 | + ['The Coca-Cola Company',45.07,0.26,0.58,'9/1 12:00am'], | ||
| 37 | + ['The Home Depot, Inc.',34.64,0.35,1.02,'9/1 12:00am'], | ||
| 38 | + ['The Procter & Gamble Company',61.91,0.01,0.02,'9/1 12:00am'], | ||
| 39 | + ['United Technologies Corporation',63.26,0.55,0.88,'9/1 12:00am'], | ||
| 40 | + ['Verizon Communications',35.57,0.39,1.11,'9/1 12:00am'], | ||
| 41 | + ['Wal-Mart Stores, Inc.',45.45,0.73,1.63,'9/1 12:00am'], | ||
| 42 | + ['Walt Disney Company (The) (Holding Company)',29.89,0.24,0.81,'9/1 12:00am'] | ||
| 43 | + ]; | ||
| 44 | + | ||
| 45 | + var ds = new Ext.data.Store({ | ||
| 46 | + proxy: new Ext.data.MemoryProxy(myData), | ||
| 47 | + reader: new Ext.data.ArrayReader({}, [ | ||
| 48 | + {name: 'company'}, | ||
| 49 | + {name: 'price', type: 'float'}, | ||
| 50 | + {name: 'change', type: 'float'}, | ||
| 51 | + {name: 'pctChange', type: 'float'}, | ||
| 52 | + {name: 'lastChange', type: 'date', dateFormat: 'n/j h:ia'} | ||
| 53 | + ]) | ||
| 54 | + }); | ||
| 55 | + ds.load(); | ||
| 56 | + | ||
| 57 | + // example of custom renderer function | ||
| 58 | + function italic(value){ | ||
| 59 | + return '<i>' + value + '</i>'; | ||
| 60 | + } | ||
| 61 | + | ||
| 62 | + // example of custom renderer function | ||
| 63 | + function change(val){ | ||
| 64 | + if(val > 0){ | ||
| 65 | + return '<span style="color:green;">' + val + '</span>'; | ||
| 66 | + }else if(val < 0){ | ||
| 67 | + return '<span style="color:red;">' + val + '</span>'; | ||
| 68 | + } | ||
| 69 | + return val; | ||
| 70 | + } | ||
| 71 | + // example of custom renderer function | ||
| 72 | + function pctChange(val){ | ||
| 73 | + if(val > 0){ | ||
| 74 | + return '<span style="color:green;">' + val + '%</span>'; | ||
| 75 | + }else if(val < 0){ | ||
| 76 | + return '<span style="color:red;">' + val + '%</span>'; | ||
| 77 | + } | ||
| 78 | + return val; | ||
| 79 | + } | ||
| 80 | + | ||
| 81 | + // the DefaultColumnModel expects this blob to define columns. It can be extended to provide | ||
| 82 | + // custom or reusable ColumnModels | ||
| 83 | + var colModel = new Ext.grid.ColumnModel([ | ||
| 84 | + {id:'company',header: "Company", width: 160, sortable: true, locked:false, dataIndex: 'company'}, | ||
| 85 | + {header: "Price", width: 75, sortable: true, renderer: Ext.util.Format.usMoney, dataIndex: 'price'}, | ||
| 86 | + {header: "Change", width: 75, sortable: true, renderer: change, dataIndex: 'change'}, | ||
| 87 | + {header: "% Change", width: 75, sortable: true, renderer: pctChange, dataIndex: 'pctChange'}, | ||
| 88 | + {header: "Last Updated", width: 85, sortable: true, renderer: Ext.util.Format.dateRenderer('m/d/Y'), dataIndex: 'lastChange'} | ||
| 89 | + ]); | ||
| 90 | + | ||
| 91 | + | ||
| 92 | + // create the Grid | ||
| 93 | + var grid = new Ext.grid.Grid('grid-example', { | ||
| 94 | + ds: ds, | ||
| 95 | + cm: colModel, | ||
| 96 | + autoExpandColumn: 'company' | ||
| 97 | + }); | ||
| 98 | + | ||
| 99 | + var layout = Ext.BorderLayout.create({ | ||
| 100 | + center: { | ||
| 101 | + margins:{left:3,top:3,right:3,bottom:3}, | ||
| 102 | + panels: [new Ext.GridPanel(grid)] | ||
| 103 | + } | ||
| 104 | + }, 'grid-panel'); | ||
| 105 | + | ||
| 106 | + grid.render(); | ||
| 107 | + | ||
| 108 | + | ||
| 109 | + grid.getSelectionModel().selectFirstRow(); | ||
| 110 | + } | ||
| 111 | +}; | ||
| 112 | +Ext.onReady(Example.init, Example); | ||
| 0 | \ No newline at end of file | 113 | \ No newline at end of file |
thirdpartyjs/extjs/examples/grid/custom-grid.html
0 → 100644
| 1 | +<html> | ||
| 2 | +<head> | ||
| 3 | +<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> | ||
| 4 | +<title>Customizing the Grid</title> | ||
| 5 | + | ||
| 6 | +<link rel="stylesheet" type="text/css" href="../../resources/css/ext-all.css" /> | ||
| 7 | + | ||
| 8 | + <!-- GC --> <!-- LIBS --> <script type="text/javascript" src="../../adapter/ext/ext-base.js"></script> <!-- ENDLIBS --> | ||
| 9 | + <script type="text/javascript" src="../../ext-all.js"></script> | ||
| 10 | + | ||
| 11 | +<!-- | ||
| 12 | + <script type="text/javascript" src="custom-grid.js"></script> | ||
| 13 | +--> | ||
| 14 | + <script type="text/javascript" > | ||
| 15 | + // create the property grid application (single instance) | ||
| 16 | + var CustGrid = function() { | ||
| 17 | + return { | ||
| 18 | + init : function() { | ||
| 19 | + var propsGrid = new Ext.grid.PropertyGrid('props-grid', { | ||
| 20 | + nameText: 'Properties Grid', | ||
| 21 | + enableHdMenu: false, | ||
| 22 | + viewConfig : { | ||
| 23 | + forceFit:true, | ||
| 24 | + scrollOffset:2 // the grid will never have scrollbars | ||
| 25 | + } | ||
| 26 | + }); | ||
| 27 | + | ||
| 28 | + propsGrid.setSource({ | ||
| 29 | + "(name)": "Properties Grid", | ||
| 30 | + "grouping": false, | ||
| 31 | + "autoFitColumns": true, | ||
| 32 | + "productionQuality": false, | ||
| 33 | + "created": new Date(Date.parse('10/15/2006')), | ||
| 34 | + "tested": false, | ||
| 35 | + "version": .01, | ||
| 36 | + "borderWidth": 1 | ||
| 37 | + }); | ||
| 38 | + | ||
| 39 | + propsGrid.render(); | ||
| 40 | + } | ||
| 41 | + }; | ||
| 42 | + }(); | ||
| 43 | + | ||
| 44 | + Ext.onReady(CustGrid.init, CustGrid, true); | ||
| 45 | + | ||
| 46 | + </script> | ||
| 47 | + | ||
| 48 | +<!-- Common Styles for the examples --> | ||
| 49 | +<link rel="stylesheet" type="text/css" href="../examples.css" /> | ||
| 50 | +</head> | ||
| 51 | +<body> | ||
| 52 | +<script type="text/javascript" src="../examples.js"></script><!-- EXAMPLES --> | ||
| 53 | +<h1>Property Grid</h1> | ||
| 54 | + | ||
| 55 | +<!-- a place holder for the grid. requires the unique id to be passed in the javascript function, and width and height ! --> | ||
| 56 | +<div id="props-grid" style="overflow: hidden; width: 275px;border:1px solid #c3daf9;"></div> | ||
| 57 | + | ||
| 58 | +</body> | ||
| 59 | +</html> |
thirdpartyjs/extjs/examples/grid/custom-grid.js
0 → 100644
thirdpartyjs/extjs/examples/grid/details.gif
0 → 100644
945 Bytes
thirdpartyjs/extjs/examples/grid/edit-grid.html
0 → 100644
| 1 | +<html> | ||
| 2 | +<head> | ||
| 3 | +<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> | ||
| 4 | +<title>Editor Grid Example</title> | ||
| 5 | + | ||
| 6 | +<link rel="stylesheet" type="text/css" href="../../resources/css/ext-all.css" /> | ||
| 7 | + | ||
| 8 | + <!-- GC --> <!-- LIBS --> <script type="text/javascript" src="../../adapter/ext/ext-base.js"></script> <!-- ENDLIBS --> | ||
| 9 | + <script type="text/javascript" src="../../ext-all.js"></script> | ||
| 10 | + | ||
| 11 | + <script type="text/javascript" src="edit-grid.js"></script> | ||
| 12 | + <link rel="stylesheet" type="text/css" href="grid-examples.css" /> | ||
| 13 | + | ||
| 14 | +<!-- Common Styles for the examples --> | ||
| 15 | +<link rel="stylesheet" type="text/css" href="../examples.css" /> | ||
| 16 | +</head> | ||
| 17 | +<body> | ||
| 18 | +<script type="text/javascript" src="../examples.js"></script><!-- EXAMPLES --> | ||
| 19 | +<h1>Editor Grid Example</h1> | ||
| 20 | +<p>This example shows how to create a grid with inline editing. For more details on this example, see <a href="http://www.jackslocum.com/yui/2006/09/10/adding-built-in-editing-support-to-the-yahoo-ui-extensions-grid/">the blog post</a>.</p> | ||
| 21 | +<p>Note that the js is not minified so it is readable. See <a href="edit-grid.js">edit-grid.js</a>.</p> | ||
| 22 | + | ||
| 23 | +<p>The data in the grid is loaded from <a href="plants.xml">plants.xml</a>.</p> | ||
| 24 | + | ||
| 25 | +<!-- you must define the select box here, as the custom editor for the 'Light' column will require it --> | ||
| 26 | +<select name="light" id="light" style="display: none;"> | ||
| 27 | + <option value="Shade">Shade</option> | ||
| 28 | + <option value="Mostly Shady">Mostly Shady</option> | ||
| 29 | + <option value="Sun or Shade">Sun or Shade</option> | ||
| 30 | + | ||
| 31 | + <option value="Mostly Sunny">Mostly Sunny</option> | ||
| 32 | + | ||
| 33 | + <option value="Sunny">Sunny</option> | ||
| 34 | +</select> | ||
| 35 | + | ||
| 36 | +<div id="grid-panel" style="width:600px;height:300px;"> | ||
| 37 | +<div id="editor-grid"></div> | ||
| 38 | +</div> | ||
| 39 | +</body> | ||
| 40 | +</html> |
thirdpartyjs/extjs/examples/grid/edit-grid.js
0 → 100644
| 1 | +/* | ||
| 2 | + * Ext JS Library 1.1 Beta 1 | ||
| 3 | + * Copyright(c) 2006-2007, Ext JS, LLC. | ||
| 4 | + * licensing@extjs.com | ||
| 5 | + * | ||
| 6 | + * http://www.extjs.com/license | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +Ext.onReady(function(){ | ||
| 10 | + Ext.QuickTips.init(); | ||
| 11 | + function formatBoolean(value){ | ||
| 12 | + return value ? 'Yes' : 'No'; | ||
| 13 | + }; | ||
| 14 | + | ||
| 15 | + function formatDate(value){ | ||
| 16 | + return value ? value.dateFormat('M d, Y') : ''; | ||
| 17 | + }; | ||
| 18 | + // shorthand alias | ||
| 19 | + var fm = Ext.form, Ed = Ext.grid.GridEditor; | ||
| 20 | + | ||
| 21 | + // the column model has information about grid columns | ||
| 22 | + // dataIndex maps the column to the specific data field in | ||
| 23 | + // the data store (created below) | ||
| 24 | + var cm = new Ext.grid.ColumnModel([{ | ||
| 25 | + header: "Common Name", | ||
| 26 | + dataIndex: 'common', | ||
| 27 | + width: 220, | ||
| 28 | + editor: new Ed(new fm.TextField({ | ||
| 29 | + allowBlank: false | ||
| 30 | + })) | ||
| 31 | + },{ | ||
| 32 | + header: "Light", | ||
| 33 | + dataIndex: 'light', | ||
| 34 | + width: 130, | ||
| 35 | + editor: new Ed(new Ext.form.ComboBox({ | ||
| 36 | + typeAhead: true, | ||
| 37 | + triggerAction: 'all', | ||
| 38 | + transform:'light', | ||
| 39 | + lazyRender:true | ||
| 40 | + })) | ||
| 41 | + },{ | ||
| 42 | + header: "Price", | ||
| 43 | + dataIndex: 'price', | ||
| 44 | + width: 70, | ||
| 45 | + align: 'right', | ||
| 46 | + renderer: 'usMoney', | ||
| 47 | + editor: new Ed(new fm.NumberField({ | ||
| 48 | + allowBlank: false, | ||
| 49 | + allowNegative: false, | ||
| 50 | + maxValue: 10 | ||
| 51 | + })) | ||
| 52 | + },{ | ||
| 53 | + header: "Available", | ||
| 54 | + dataIndex: 'availDate', | ||
| 55 | + width: 95, | ||
| 56 | + renderer: formatDate, | ||
| 57 | + editor: new Ed(new fm.DateField({ | ||
| 58 | + format: 'm/d/y', | ||
| 59 | + minValue: '01/01/06', | ||
| 60 | + disabledDays: [0, 6], | ||
| 61 | + disabledDaysText: 'Plants are not available on the weekends' | ||
| 62 | + })) | ||
| 63 | + },{ | ||
| 64 | + header: "Indoor?", | ||
| 65 | + dataIndex: 'indoor', | ||
| 66 | + width: 55, | ||
| 67 | + renderer: formatBoolean, | ||
| 68 | + editor: new Ed(new fm.Checkbox()) | ||
| 69 | + }]); | ||
| 70 | + | ||
| 71 | + // by default columns are sortable | ||
| 72 | + cm.defaultSortable = true; | ||
| 73 | + | ||
| 74 | + // this could be inline, but we want to define the Plant record | ||
| 75 | + // type so we can add records dynamically | ||
| 76 | + var Plant = Ext.data.Record.create([ | ||
| 77 | + // the "name" below matches the tag name to read, except "availDate" | ||
| 78 | + // which is mapped to the tag "availability" | ||
| 79 | + {name: 'common', type: 'string'}, | ||
| 80 | + {name: 'botanical', type: 'string'}, | ||
| 81 | + {name: 'light'}, | ||
| 82 | + {name: 'price', type: 'float'}, // automatic date conversions | ||
| 83 | + {name: 'availDate', mapping: 'availability', type: 'date', dateFormat: 'm/d/Y'}, | ||
| 84 | + {name: 'indoor', type: 'bool'} | ||
| 85 | + ]); | ||
| 86 | + | ||
| 87 | + // create the Data Store | ||
| 88 | + var ds = new Ext.data.Store({ | ||
| 89 | + // load using HTTP | ||
| 90 | + proxy: new Ext.data.HttpProxy({url: 'plants.xml'}), | ||
| 91 | + | ||
| 92 | + // the return will be XML, so lets set up a reader | ||
| 93 | + reader: new Ext.data.XmlReader({ | ||
| 94 | + // records will have a "plant" tag | ||
| 95 | + record: 'plant' | ||
| 96 | + }, Plant) | ||
| 97 | + }); | ||
| 98 | + | ||
| 99 | + // create the editor grid | ||
| 100 | + var grid = new Ext.grid.EditorGrid('editor-grid', { | ||
| 101 | + ds: ds, | ||
| 102 | + cm: cm, | ||
| 103 | + //selModel: new Ext.grid.RowSelectionModel(), | ||
| 104 | + enableColLock:false | ||
| 105 | + }); | ||
| 106 | + | ||
| 107 | + var layout = Ext.BorderLayout.create({ | ||
| 108 | + center: { | ||
| 109 | + margins:{left:3,top:3,right:3,bottom:3}, | ||
| 110 | + panels: [new Ext.GridPanel(grid)] | ||
| 111 | + } | ||
| 112 | + }, 'grid-panel'); | ||
| 113 | + | ||
| 114 | + | ||
| 115 | + // render it | ||
| 116 | + grid.render(); | ||
| 117 | + | ||
| 118 | + | ||
| 119 | + var gridHead = grid.getView().getHeaderPanel(true); | ||
| 120 | + var tb = new Ext.Toolbar(gridHead, [{ | ||
| 121 | + text: 'Add Plant', | ||
| 122 | + handler : function(){ | ||
| 123 | + var p = new Plant({ | ||
| 124 | + common: 'New Plant 1', | ||
| 125 | + light: 'Mostly Shade', | ||
| 126 | + price: 0, | ||
| 127 | + availDate: new Date(), | ||
| 128 | + indoor: false | ||
| 129 | + }); | ||
| 130 | + grid.stopEditing(); | ||
| 131 | + ds.insert(0, p); | ||
| 132 | + grid.startEditing(0, 0); | ||
| 133 | + } | ||
| 134 | + }]); | ||
| 135 | + | ||
| 136 | + // trigger the data store load | ||
| 137 | + ds.load(); | ||
| 138 | +}); | ||
| 0 | \ No newline at end of file | 139 | \ No newline at end of file |
thirdpartyjs/extjs/examples/grid/from-markup.html
0 → 100644
| 1 | +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> | ||
| 2 | +<html> | ||
| 3 | +<head> | ||
| 4 | +<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> | ||
| 5 | +<title>From Markup Grid Example</title> | ||
| 6 | +<link rel="stylesheet" type="text/css" href="../../resources/css/ext-all.css" /> | ||
| 7 | +<!-- GC --> <!-- LIBS --> <script type="text/javascript" src="../../adapter/ext/ext-base.js"></script> <!-- ENDLIBS --> | ||
| 8 | +<script type="text/javascript" src="../../ext-all.js"></script> | ||
| 9 | +<script type="text/javascript" src="from-markup.js"></script> | ||
| 10 | +<link rel="stylesheet" type="text/css" href="grid-examples.css" /> | ||
| 11 | +<!-- Common Styles for the examples --> | ||
| 12 | +<link rel="stylesheet" type="text/css" href="../examples.css" /> | ||
| 13 | +<style type="text/css"> | ||
| 14 | +#the-table { border:1px solid #bbb;border-collapse:collapse; } | ||
| 15 | +#the-table td,#the-table th { border:1px solid #ccc;border-collapse:collapse;padding:5px; } | ||
| 16 | +</style> | ||
| 17 | +</head> | ||
| 18 | +<body> | ||
| 19 | +<script type="text/javascript" src="../examples.js"></script><!-- EXAMPLES --> | ||
| 20 | +<h1>From Markup Grid Example</h1> | ||
| 21 | +<p>This example shows how to create a grid with from an existing, unformatted HTML table.</p> | ||
| 22 | +<p>Note that the js is not minified so it is readable. See <a href="from-markup.js">from-markup.js</a>.</p> | ||
| 23 | +<button id="create-grid" type="button">Create grid</button> | ||
| 24 | +<br /> | ||
| 25 | +<br /> | ||
| 26 | +<table cellspacing="0" id="the-table"> | ||
| 27 | + <thead> | ||
| 28 | + <tr style="background:#eeeeee;"> | ||
| 29 | + <th>Name</th> | ||
| 30 | + <th>Age</th> | ||
| 31 | + <th>Sex</th> | ||
| 32 | + </tr> | ||
| 33 | + </thead> | ||
| 34 | + <tbody> | ||
| 35 | + <tr> | ||
| 36 | + <td>Barney Rubble</td> | ||
| 37 | + <td>32</td> | ||
| 38 | + <td>Male</td> | ||
| 39 | + </tr> | ||
| 40 | + <tr> | ||
| 41 | + <td>Fred Flintstone</td> | ||
| 42 | + <td>33</td> | ||
| 43 | + <td>Male</td> | ||
| 44 | + </tr> | ||
| 45 | + <tr> | ||
| 46 | + <td>Betty Rubble</td> | ||
| 47 | + <td>32</td> | ||
| 48 | + <td>Female</td> | ||
| 49 | + </tr> | ||
| 50 | + <tr> | ||
| 51 | + <td>Pebbles</td> | ||
| 52 | + <td>1</td> | ||
| 53 | + <td>Female</td> | ||
| 54 | + </tr> | ||
| 55 | + <tr> | ||
| 56 | + <td>Bamm Bamm</td> | ||
| 57 | + <td>2</td> | ||
| 58 | + <td>Male</td> | ||
| 59 | + </tr> | ||
| 60 | + </tbody> | ||
| 61 | + </table> | ||
| 62 | + | ||
| 63 | +</body> | ||
| 64 | +</html> | ||
| 0 | \ No newline at end of file | 65 | \ No newline at end of file |
thirdpartyjs/extjs/examples/grid/from-markup.js
0 → 100644
| 1 | +/* | ||
| 2 | + * Ext JS Library 1.1 Beta 1 | ||
| 3 | + * Copyright(c) 2006-2007, Ext JS, LLC. | ||
| 4 | + * licensing@extjs.com | ||
| 5 | + * | ||
| 6 | + * http://www.extjs.com/license | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +Ext.onReady(function() { | ||
| 10 | + var btn = Ext.get("create-grid"); | ||
| 11 | + btn.on("click", function(){ | ||
| 12 | + btn.dom.disabled = true; | ||
| 13 | + | ||
| 14 | + // create the grid | ||
| 15 | + var grid = new Ext.grid.TableGrid("the-table"); | ||
| 16 | + grid.render(); | ||
| 17 | + | ||
| 18 | + }, false, {single:true}); // run once | ||
| 19 | +}); | ||
| 20 | + | ||
| 21 | +/** | ||
| 22 | + * @class Ext.grid.TableGrid | ||
| 23 | + * @extends Ext.grid.Grid | ||
| 24 | + * A Grid which creates itself from an existing HTML table element. | ||
| 25 | + * @constructor | ||
| 26 | + * @param {String/HTMLElement/Ext.Element} table The table element from which this grid will be created - | ||
| 27 | + * The table MUST have some type of size defined for the grid to fill. The container will be | ||
| 28 | + * automatically set to position relative if it isn't already. | ||
| 29 | + * @param {Object} config A config object that sets properties on this grid and has two additional (optional) | ||
| 30 | + * properties: fields and columns which allow for customizing data fields and columns for this grid. | ||
| 31 | + * @history | ||
| 32 | + * 2007-03-01 Original version by Nige "Animal" White | ||
| 33 | + * 2007-03-10 jvs Slightly refactored to reuse existing classes | ||
| 34 | + */ | ||
| 35 | +Ext.grid.TableGrid = function(table, config) { | ||
| 36 | + config = config || {}; | ||
| 37 | + var cf = config.fields || [], ch = config.columns || []; | ||
| 38 | + table = Ext.get(table); | ||
| 39 | + | ||
| 40 | + var ct = table.insertSibling(); | ||
| 41 | + | ||
| 42 | + var fields = [], cols = []; | ||
| 43 | + var headers = table.query("thead th"); | ||
| 44 | + for (var i = 0, h; h = headers[i]; i++) { | ||
| 45 | + var text = h.innerHTML; | ||
| 46 | + var name = 'tcol-'+i; | ||
| 47 | + | ||
| 48 | + fields.push(Ext.applyIf(cf[i] || {}, { | ||
| 49 | + name: name, | ||
| 50 | + mapping: 'td:nth('+(i+1)+')/@innerHTML' | ||
| 51 | + })); | ||
| 52 | + | ||
| 53 | + cols.push(Ext.applyIf(ch[i] || {}, { | ||
| 54 | + 'header': text, | ||
| 55 | + 'dataIndex': name, | ||
| 56 | + 'width': h.offsetWidth, | ||
| 57 | + 'tooltip': h.title, | ||
| 58 | + 'sortable': true | ||
| 59 | + })); | ||
| 60 | + } | ||
| 61 | + | ||
| 62 | + var ds = new Ext.data.Store({ | ||
| 63 | + reader: new Ext.data.XmlReader({ | ||
| 64 | + record:'tbody tr' | ||
| 65 | + }, fields) | ||
| 66 | + }); | ||
| 67 | + | ||
| 68 | + ds.loadData(table.dom); | ||
| 69 | + | ||
| 70 | + var cm = new Ext.grid.ColumnModel(cols); | ||
| 71 | + | ||
| 72 | + if(config.width || config.height){ | ||
| 73 | + ct.setSize(config.width || 'auto', config.height || 'auto'); | ||
| 74 | + } | ||
| 75 | + if(config.remove !== false){ | ||
| 76 | + table.remove(); | ||
| 77 | + } | ||
| 78 | + | ||
| 79 | + Ext.grid.TableGrid.superclass.constructor.call(this, ct, | ||
| 80 | + Ext.applyIf(config, { | ||
| 81 | + 'ds': ds, | ||
| 82 | + 'cm': cm, | ||
| 83 | + 'sm': new Ext.grid.RowSelectionModel(), | ||
| 84 | + autoHeight:true, | ||
| 85 | + autoWidth:true | ||
| 86 | + } | ||
| 87 | + )); | ||
| 88 | +}; | ||
| 89 | + | ||
| 90 | +Ext.extend(Ext.grid.TableGrid, Ext.grid.Grid); | ||
| 0 | \ No newline at end of file | 91 | \ No newline at end of file |
thirdpartyjs/extjs/examples/grid/grid-examples.css
0 → 100644
| 1 | +/* | ||
| 2 | + * Ext JS Library 1.1 Beta 1 | ||
| 3 | + * Copyright(c) 2006-2007, Ext JS, LLC. | ||
| 4 | + * licensing@extjs.com | ||
| 5 | + * | ||
| 6 | + * http://www.extjs.com/license | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +#grid-example .x-grid-col-1 { | ||
| 10 | + text-align: right; | ||
| 11 | +} | ||
| 12 | +#grid-example .x-grid-col-2{ | ||
| 13 | + text-align: right; | ||
| 14 | +} | ||
| 15 | +#grid-example .x-grid-col-3 { | ||
| 16 | + text-align: right; | ||
| 17 | +} | ||
| 18 | +#grid-example .x-grid-col-4 { | ||
| 19 | + text-align: right; | ||
| 20 | +} | ||
| 21 | +#grid-example.x-grid-mso{ | ||
| 22 | + border: 1px solid #6593cf; | ||
| 23 | +} | ||
| 24 | +#grid-example.x-grid-vista{ | ||
| 25 | + border: 1px solid #b3bcc0; | ||
| 26 | +} | ||
| 27 | +#xml-grid-example{ | ||
| 28 | + border: 1px solid #cbc7b8; | ||
| 29 | + left: 0; | ||
| 30 | + position: relative; | ||
| 31 | + top: 0; | ||
| 32 | +} | ||
| 33 | +#xml-grid-example.x-grid-mso{ | ||
| 34 | + border: 1px solid #6593cf; | ||
| 35 | +} | ||
| 36 | +#xml-grid-example.x-grid-vista{ | ||
| 37 | + border: 1px solid #b3bcc0; | ||
| 38 | +} | ||
| 39 | +#editor-grid .x-grid-col-2{ | ||
| 40 | + text-align:right; | ||
| 41 | +} | ||
| 42 | +.x-grid-col-topic b { | ||
| 43 | + font-family:tahoma, verdana; | ||
| 44 | + color:#333; | ||
| 45 | + display:block; | ||
| 46 | + padding-left:18px; | ||
| 47 | + line-height:18px; | ||
| 48 | + vertical-align:middle; | ||
| 49 | + background:transparent url(topic.gif) no-repeat left 1px; | ||
| 50 | +} | ||
| 51 | +.x-grid-col-topic b i { | ||
| 52 | + font-weight:normal; | ||
| 53 | + font-style: normal; | ||
| 54 | + color:#000; | ||
| 55 | +} | ||
| 56 | +.details .x-btn-text { | ||
| 57 | + background-image: url(details.gif); | ||
| 58 | +} | ||
| 59 | +.x-resizable-pinned .x-resizable-handle-south{ | ||
| 60 | + background:url(../../resources/images/default/sizer/s-handle-dark.gif); | ||
| 61 | + background-position: top; | ||
| 62 | +} | ||
| 0 | \ No newline at end of file | 63 | \ No newline at end of file |
thirdpartyjs/extjs/examples/grid/paging.html
0 → 100644
| 1 | +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> | ||
| 2 | +<html> | ||
| 3 | +<head> | ||
| 4 | +<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> | ||
| 5 | +<title>Paging Grid Example</title> | ||
| 6 | + | ||
| 7 | +<link rel="stylesheet" type="text/css" href="../../resources/css/ext-all.css" /> | ||
| 8 | + | ||
| 9 | + <!-- GC --> <!-- LIBS --> <script type="text/javascript" src="../../adapter/ext/ext-base.js"></script> <!-- ENDLIBS --> | ||
| 10 | + <script type="text/javascript" src="../../ext-all.js"></script> | ||
| 11 | + | ||
| 12 | +<script type="text/javascript" src="paging.js"></script> | ||
| 13 | +<link rel="stylesheet" type="text/css" href="grid-examples.css" /> | ||
| 14 | + | ||
| 15 | +<!-- Common Styles for the examples --> | ||
| 16 | +<link rel="stylesheet" type="text/css" href="../examples.css" /> | ||
| 17 | +</head> | ||
| 18 | +<body> | ||
| 19 | +<script type="text/javascript" src="../examples.js"></script><!-- EXAMPLES --> | ||
| 20 | +<h1>Paging Grid Example</h1> | ||
| 21 | +<p>This example shows how to create a grid with paging. This grid uses a ScriptTagProxy to fetch cross-domain | ||
| 22 | + remote data (from the Ext forums).</p> | ||
| 23 | +<p>Note that the js is not minified so it is readable. See <a href="paging.js">paging.js</a>.</p> | ||
| 24 | + | ||
| 25 | + <div style="width:694px;" class="x-box-blue"> | ||
| 26 | + <div class="x-box-tl"><div class="x-box-tr"><div class="x-box-tc"></div></div></div> | ||
| 27 | + <div class="x-box-ml"><div class="x-box-mr"><div class="x-box-mc"> | ||
| 28 | + <h3 style="margin-bottom:5px;">Ext - Help Forum</h3> | ||
| 29 | + <div id="topic-grid" style="border:1px solid #99bbe8;overflow: hidden; width: 665px; height: 300px;"></div> | ||
| 30 | + </div></div></div> | ||
| 31 | + <div class="x-box-bl"><div class="x-box-br"><div class="x-box-bc"></div></div></div> | ||
| 32 | + </div> | ||
| 33 | + | ||
| 34 | + | ||
| 35 | +</body> | ||
| 36 | +</html> |
thirdpartyjs/extjs/examples/grid/paging.js
0 → 100644
| 1 | +/* | ||
| 2 | + * Ext JS Library 1.1 Beta 1 | ||
| 3 | + * Copyright(c) 2006-2007, Ext JS, LLC. | ||
| 4 | + * licensing@extjs.com | ||
| 5 | + * | ||
| 6 | + * http://www.extjs.com/license | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +Ext.onReady(function(){ | ||
| 10 | + | ||
| 11 | + // create the Data Store | ||
| 12 | + var ds = new Ext.data.Store({ | ||
| 13 | + // load using script tags for cross domain, if the data in on the same domain as | ||
| 14 | + // this page, an HttpProxy would be better | ||
| 15 | + proxy: new Ext.data.ScriptTagProxy({ | ||
| 16 | + url: 'http://extjs.com/forum/topics-remote.php' | ||
| 17 | + }), | ||
| 18 | + | ||
| 19 | + // create reader that reads the Topic records | ||
| 20 | + reader: new Ext.data.JsonReader({ | ||
| 21 | + root: 'topics', | ||
| 22 | + totalProperty: 'totalCount', | ||
| 23 | + id: 'post_id' | ||
| 24 | + }, [ | ||
| 25 | + {name: 'title', mapping: 'topic_title'}, | ||
| 26 | + {name: 'author', mapping: 'author'}, | ||
| 27 | + {name: 'totalPosts', mapping: 'topic_replies', type: 'int'}, | ||
| 28 | + {name: 'lastPost', mapping: 'post_time', type: 'date', dateFormat: 'timestamp'}, | ||
| 29 | + {name: 'excerpt', mapping: 'post_text'} | ||
| 30 | + ]), | ||
| 31 | + | ||
| 32 | + // turn on remote sorting | ||
| 33 | + remoteSort: true | ||
| 34 | + }); | ||
| 35 | + | ||
| 36 | + | ||
| 37 | + // pluggable renders | ||
| 38 | + function renderTopic(value, p, record){ | ||
| 39 | + return String.format('<b>{0}</b>{1}', value, record.data['excerpt']); | ||
| 40 | + } | ||
| 41 | + function renderTopicPlain(value){ | ||
| 42 | + return String.format('<b><i>{0}</i></b>', value); | ||
| 43 | + } | ||
| 44 | + function renderLast(value, p, r){ | ||
| 45 | + return String.format('{0}<br/>by {1}', value.dateFormat('M j, Y, g:i a'), r.data['author']); | ||
| 46 | + } | ||
| 47 | + function renderLastPlain(value){ | ||
| 48 | + return value.dateFormat('M j, Y, g:i a'); | ||
| 49 | + } | ||
| 50 | + | ||
| 51 | + // the column model has information about grid columns | ||
| 52 | + // dataIndex maps the column to the specific data field in | ||
| 53 | + // the data store | ||
| 54 | + var cm = new Ext.grid.ColumnModel([{ | ||
| 55 | + id: 'topic', // id assigned so we can apply custom css (e.g. .x-grid-col-topic b { color:#333 }) | ||
| 56 | + header: "Topic", | ||
| 57 | + dataIndex: 'title', | ||
| 58 | + width: 490, | ||
| 59 | + renderer: renderTopic, | ||
| 60 | + css: 'white-space:normal;' | ||
| 61 | + },{ | ||
| 62 | + header: "Author", | ||
| 63 | + dataIndex: 'author', | ||
| 64 | + width: 100, | ||
| 65 | + hidden: true | ||
| 66 | + },{ | ||
| 67 | + id: 'last', | ||
| 68 | + header: "Last Post", | ||
| 69 | + dataIndex: 'lastPost', | ||
| 70 | + width: 150, | ||
| 71 | + renderer: renderLast | ||
| 72 | + }]); | ||
| 73 | + | ||
| 74 | + | ||
| 75 | + | ||
| 76 | + // create the editor grid | ||
| 77 | + var grid = new Ext.grid.Grid('topic-grid', { | ||
| 78 | + ds: ds, | ||
| 79 | + cm: cm, | ||
| 80 | + selModel: new Ext.grid.RowSelectionModel({singleSelect:true}), | ||
| 81 | + enableColLock:false, | ||
| 82 | + loadMask: true | ||
| 83 | + }); | ||
| 84 | + | ||
| 85 | + // make the grid resizable, do before render for better performance | ||
| 86 | + var rz = new Ext.Resizable('topic-grid', { | ||
| 87 | + wrap:true, | ||
| 88 | + minHeight:100, | ||
| 89 | + pinned:true, | ||
| 90 | + handles: 's' | ||
| 91 | + }); | ||
| 92 | + rz.on('resize', grid.autoSize, grid); | ||
| 93 | + | ||
| 94 | + // render it | ||
| 95 | + grid.render(); | ||
| 96 | + | ||
| 97 | + var gridFoot = grid.getView().getFooterPanel(true); | ||
| 98 | + | ||
| 99 | + // add a paging toolbar to the grid's footer | ||
| 100 | + var paging = new Ext.PagingToolbar(gridFoot, ds, { | ||
| 101 | + pageSize: 25, | ||
| 102 | + displayInfo: true, | ||
| 103 | + displayMsg: 'Displaying topics {0} - {1} of {2}', | ||
| 104 | + emptyMsg: "No topics to display" | ||
| 105 | + }); | ||
| 106 | + // add the detailed view button | ||
| 107 | + paging.add('-', { | ||
| 108 | + pressed: true, | ||
| 109 | + enableToggle:true, | ||
| 110 | + text: 'Detailed View', | ||
| 111 | + cls: 'x-btn-text-icon details', | ||
| 112 | + toggleHandler: toggleDetails | ||
| 113 | + }); | ||
| 114 | + | ||
| 115 | + // trigger the data store load | ||
| 116 | + ds.load({params:{start:0, limit:25}}); | ||
| 117 | + | ||
| 118 | + function toggleDetails(btn, pressed){ | ||
| 119 | + cm.getColumnById('topic').renderer = pressed ? renderTopic : renderTopicPlain; | ||
| 120 | + cm.getColumnById('last').renderer = pressed ? renderLast : renderLastPlain; | ||
| 121 | + grid.getView().refresh(); | ||
| 122 | + } | ||
| 123 | +}); |
thirdpartyjs/extjs/examples/grid/plants.xml
0 → 100644
| 1 | +<?xml version="1.0" encoding="ISO-8859-1"?> | ||
| 2 | +<catalog> | ||
| 3 | + <plant> | ||
| 4 | + <common>Bloodroot</common> | ||
| 5 | + <botanical>Sanguinaria canadensis</botanical> | ||
| 6 | + <zone>4</zone> | ||
| 7 | + <light>Mostly Shady</light> | ||
| 8 | + <price>2.44</price> | ||
| 9 | + <availability>03/15/2006</availability> | ||
| 10 | + <indoor>true</indoor> | ||
| 11 | + </plant> | ||
| 12 | + <plant> | ||
| 13 | + <common>Columbine</common> | ||
| 14 | + <botanical>Aquilegia canadensis</botanical> | ||
| 15 | + <zone>3</zone> | ||
| 16 | + <light>Mostly Shady</light> | ||
| 17 | + <price>9.37</price> | ||
| 18 | + <availability>03/06/2006</availability> | ||
| 19 | + <indoor>true</indoor> | ||
| 20 | + </plant> | ||
| 21 | + <plant> | ||
| 22 | + <common>Marsh Marigold</common> | ||
| 23 | + <botanical>Caltha palustris</botanical> | ||
| 24 | + <zone>4</zone> | ||
| 25 | + <light>Mostly Sunny</light> | ||
| 26 | + <price>6.81</price> | ||
| 27 | + <availability>05/17/2006</availability> | ||
| 28 | + <indoor>false</indoor> | ||
| 29 | + </plant> | ||
| 30 | + <plant> | ||
| 31 | + <common>Cowslip</common> | ||
| 32 | + <botanical>Caltha palustris</botanical> | ||
| 33 | + <zone>4</zone> | ||
| 34 | + <light>Mostly Shady</light> | ||
| 35 | + <price>9.90</price> | ||
| 36 | + <availability>03/06/2006</availability> | ||
| 37 | + <indoor>true</indoor> | ||
| 38 | + </plant> | ||
| 39 | + <plant> | ||
| 40 | + <common>Dutchman's-Breeches</common> | ||
| 41 | + <botanical>Dicentra cucullaria</botanical> | ||
| 42 | + <zone>3</zone> | ||
| 43 | + <light>Mostly Shady</light> | ||
| 44 | + <price>6.44</price> | ||
| 45 | + <availability>01/20/2006</availability> | ||
| 46 | + <indoor>true</indoor> | ||
| 47 | + </plant> | ||
| 48 | + <plant> | ||
| 49 | + <common>Ginger, Wild</common> | ||
| 50 | + <botanical>Asarum canadense</botanical> | ||
| 51 | + <zone>3</zone> | ||
| 52 | + <light>Mostly Shady</light> | ||
| 53 | + <price>9.03</price> | ||
| 54 | + <availability>04/18/2006</availability> | ||
| 55 | + <indoor>true</indoor> | ||
| 56 | + </plant> | ||
| 57 | + <plant> | ||
| 58 | + <common>Hepatica</common> | ||
| 59 | + <botanical>Hepatica americana</botanical> | ||
| 60 | + <zone>4</zone> | ||
| 61 | + <light>Mostly Shady</light> | ||
| 62 | + <price>4.45</price> | ||
| 63 | + <availability>01/26/2006</availability> | ||
| 64 | + <indoor>true</indoor> | ||
| 65 | + </plant> | ||
| 66 | + <plant> | ||
| 67 | + <common>Liverleaf</common> | ||
| 68 | + <botanical>Hepatica americana</botanical> | ||
| 69 | + <zone>4</zone> | ||
| 70 | + <light>Mostly Shady</light> | ||
| 71 | + <price>3.99</price> | ||
| 72 | + <availability>01/02/2006</availability> | ||
| 73 | + <indoor>true</indoor> | ||
| 74 | + </plant> | ||
| 75 | + <plant> | ||
| 76 | + <common>Jack-In-The-Pulpit</common> | ||
| 77 | + <botanical>Arisaema triphyllum</botanical> | ||
| 78 | + <zone>4</zone> | ||
| 79 | + <light>Mostly Shady</light> | ||
| 80 | + <price>3.23</price> | ||
| 81 | + <availability>02/01/2006</availability> | ||
| 82 | + <indoor>true</indoor> | ||
| 83 | + </plant> | ||
| 84 | + <plant> | ||
| 85 | + <common>Mayapple</common> | ||
| 86 | + <botanical>Podophyllum peltatum</botanical> | ||
| 87 | + <zone>3</zone> | ||
| 88 | + <light>Mostly Shady</light> | ||
| 89 | + <price>2.98</price> | ||
| 90 | + <availability>06/05/2006</availability> | ||
| 91 | + <indoor>true</indoor> | ||
| 92 | + </plant> | ||
| 93 | + <plant> | ||
| 94 | + <common>Phlox, Woodland</common> | ||
| 95 | + <botanical>Phlox divaricata</botanical> | ||
| 96 | + <zone>3</zone> | ||
| 97 | + <light>Sun or Shade</light> | ||
| 98 | + <price>2.80</price> | ||
| 99 | + <availability>01/22/2006</availability> | ||
| 100 | + <indoor>false</indoor> | ||
| 101 | + </plant> | ||
| 102 | + <plant> | ||
| 103 | + <common>Phlox, Blue</common> | ||
| 104 | + <botanical>Phlox divaricata</botanical> | ||
| 105 | + <zone>3</zone> | ||
| 106 | + <light>Sun or Shade</light> | ||
| 107 | + <price>5.59</price> | ||
| 108 | + <availability>02/16/2006</availability> | ||
| 109 | + <indoor>false</indoor> | ||
| 110 | + </plant> | ||
| 111 | + <plant> | ||
| 112 | + <common>Spring-Beauty</common> | ||
| 113 | + <botanical>Claytonia Virginica</botanical> | ||
| 114 | + <zone>7</zone> | ||
| 115 | + <light>Mostly Shady</light> | ||
| 116 | + <price>6.59</price> | ||
| 117 | + <availability>02/01/2006</availability> | ||
| 118 | + <indoor>true</indoor> | ||
| 119 | + </plant> | ||
| 120 | + <plant> | ||
| 121 | + <common>Trillium</common> | ||
| 122 | + <botanical>Trillium grandiflorum</botanical> | ||
| 123 | + <zone>5</zone> | ||
| 124 | + <light>Sun or Shade</light> | ||
| 125 | + <price>3.90</price> | ||
| 126 | + <availability>04/29/2006</availability> | ||
| 127 | + <indoor>false</indoor> | ||
| 128 | + </plant> | ||
| 129 | + <plant> | ||
| 130 | + <common>Wake Robin</common> | ||
| 131 | + <botanical>Trillium grandiflorum</botanical> | ||
| 132 | + <zone>5</zone> | ||
| 133 | + <light>Sun or Shade</light> | ||
| 134 | + <price>3.20</price> | ||
| 135 | + <availability>02/21/2006</availability> | ||
| 136 | + <indoor>false</indoor> | ||
| 137 | + </plant> | ||
| 138 | + <plant> | ||
| 139 | + <common>Violet, Dog-Tooth</common> | ||
| 140 | + <botanical>Erythronium americanum</botanical> | ||
| 141 | + <zone>4</zone> | ||
| 142 | + <light>Shade</light> | ||
| 143 | + <price>9.04</price> | ||
| 144 | + <availability>02/01/2006</availability> | ||
| 145 | + <indoor>true</indoor> | ||
| 146 | + </plant> | ||
| 147 | + <plant> | ||
| 148 | + <common>Trout Lily</common> | ||
| 149 | + <botanical>Erythronium americanum</botanical> | ||
| 150 | + <zone>4</zone> | ||
| 151 | + <light>Shade</light> | ||
| 152 | + <price>6.94</price> | ||
| 153 | + <availability>03/24/2006</availability> | ||
| 154 | + <indoor>true</indoor> | ||
| 155 | + </plant> | ||
| 156 | + <plant> | ||
| 157 | + <common>Adder's-Tongue</common> | ||
| 158 | + <botanical>Erythronium americanum</botanical> | ||
| 159 | + <zone>4</zone> | ||
| 160 | + <light>Shade</light> | ||
| 161 | + <price>9.58</price> | ||
| 162 | + <availability>04/13/2006</availability> | ||
| 163 | + <indoor>true</indoor> | ||
| 164 | + </plant> | ||
| 165 | + <plant> | ||
| 166 | + <common>Anemone</common> | ||
| 167 | + <botanical>Anemone blanda</botanical> | ||
| 168 | + <zone>6</zone> | ||
| 169 | + <light>Mostly Shady</light> | ||
| 170 | + <price>8.86</price> | ||
| 171 | + <availability>12/26/2006</availability> | ||
| 172 | + <indoor>true</indoor> | ||
| 173 | + </plant> | ||
| 174 | + <plant> | ||
| 175 | + <common>Grecian Windflower</common> | ||
| 176 | + <botanical>Anemone blanda</botanical> | ||
| 177 | + <zone>6</zone> | ||
| 178 | + <light>Mostly Shady</light> | ||
| 179 | + <price>9.16</price> | ||
| 180 | + <availability>07/10/2006</availability> | ||
| 181 | + <indoor>true</indoor> | ||
| 182 | + </plant> | ||
| 183 | + <plant> | ||
| 184 | + <common>Bee Balm</common> | ||
| 185 | + <botanical>Monarda didyma</botanical> | ||
| 186 | + <zone>4</zone> | ||
| 187 | + <light>Shade</light> | ||
| 188 | + <price>4.59</price> | ||
| 189 | + <availability>05/03/2006</availability> | ||
| 190 | + <indoor>true</indoor> | ||
| 191 | + </plant> | ||
| 192 | + <plant> | ||
| 193 | + <common>Bergamot</common> | ||
| 194 | + <botanical>Monarda didyma</botanical> | ||
| 195 | + <zone>4</zone> | ||
| 196 | + <light>Shade</light> | ||
| 197 | + <price>7.16</price> | ||
| 198 | + <availability>04/27/2006</availability> | ||
| 199 | + <indoor>true</indoor> | ||
| 200 | + </plant> | ||
| 201 | + <plant> | ||
| 202 | + <common>Black-Eyed Susan</common> | ||
| 203 | + <botanical>Rudbeckia hirta</botanical> | ||
| 204 | + <zone>Annual</zone> | ||
| 205 | + <light>Sunny</light> | ||
| 206 | + <price>9.80</price> | ||
| 207 | + <availability>06/18/2006</availability> | ||
| 208 | + <indoor>false</indoor> | ||
| 209 | + </plant> | ||
| 210 | + <plant> | ||
| 211 | + <common>Buttercup</common> | ||
| 212 | + <botanical>Ranunculus</botanical> | ||
| 213 | + <zone>4</zone> | ||
| 214 | + <light>Shade</light> | ||
| 215 | + <price>2.57</price> | ||
| 216 | + <availability>06/10/2006</availability> | ||
| 217 | + <indoor>true</indoor> | ||
| 218 | + </plant> | ||
| 219 | + <plant> | ||
| 220 | + <common>Crowfoot</common> | ||
| 221 | + <botanical>Ranunculus</botanical> | ||
| 222 | + <zone>4</zone> | ||
| 223 | + <light>Shade</light> | ||
| 224 | + <price>9.34</price> | ||
| 225 | + <availability>04/03/2006</availability> | ||
| 226 | + <indoor>true</indoor> | ||
| 227 | + </plant> | ||
| 228 | + <plant> | ||
| 229 | + <common>Butterfly Weed</common> | ||
| 230 | + <botanical>Asclepias tuberosa</botanical> | ||
| 231 | + <zone>Annual</zone> | ||
| 232 | + <light>Sunny</light> | ||
| 233 | + <price>2.78</price> | ||
| 234 | + <availability>06/30/2006</availability> | ||
| 235 | + <indoor>false</indoor> | ||
| 236 | + </plant> | ||
| 237 | + <plant> | ||
| 238 | + <common>Cinquefoil</common> | ||
| 239 | + <botanical>Potentilla</botanical> | ||
| 240 | + <zone>Annual</zone> | ||
| 241 | + <light>Shade</light> | ||
| 242 | + <price>7.06</price> | ||
| 243 | + <availability>05/25/2006</availability> | ||
| 244 | + <indoor>true</indoor> | ||
| 245 | + </plant> | ||
| 246 | + <plant> | ||
| 247 | + <common>Primrose</common> | ||
| 248 | + <botanical>Oenothera</botanical> | ||
| 249 | + <zone>3 - 5</zone> | ||
| 250 | + <light>Sunny</light> | ||
| 251 | + <price>6.56</price> | ||
| 252 | + <availability>01/30/2006</availability> | ||
| 253 | + <indoor>false</indoor> | ||
| 254 | + </plant> | ||
| 255 | + <plant> | ||
| 256 | + <common>Gentian</common> | ||
| 257 | + <botanical>Gentiana</botanical> | ||
| 258 | + <zone>4</zone> | ||
| 259 | + <light>Sun or Shade</light> | ||
| 260 | + <price>7.81</price> | ||
| 261 | + <availability>05/18/2006</availability> | ||
| 262 | + <indoor>false</indoor> | ||
| 263 | + </plant> | ||
| 264 | + <plant> | ||
| 265 | + <common>Blue Gentian</common> | ||
| 266 | + <botanical>Gentiana</botanical> | ||
| 267 | + <zone>4</zone> | ||
| 268 | + <light>Sun or Shade</light> | ||
| 269 | + <price>8.56</price> | ||
| 270 | + <availability>05/02/2006</availability> | ||
| 271 | + <indoor>false</indoor> | ||
| 272 | + </plant> | ||
| 273 | + <plant> | ||
| 274 | + <common>Jacob's Ladder</common> | ||
| 275 | + <botanical>Polemonium caeruleum</botanical> | ||
| 276 | + <zone>Annual</zone> | ||
| 277 | + <light>Shade</light> | ||
| 278 | + <price>9.26</price> | ||
| 279 | + <availability>02/21/2006</availability> | ||
| 280 | + <indoor>true</indoor> | ||
| 281 | + </plant> | ||
| 282 | + <plant> | ||
| 283 | + <common>Greek Valerian</common> | ||
| 284 | + <botanical>Polemonium caeruleum</botanical> | ||
| 285 | + <zone>Annual</zone> | ||
| 286 | + <light>Shade</light> | ||
| 287 | + <price>4.36</price> | ||
| 288 | + <availability>07/14/2006</availability> | ||
| 289 | + <indoor>true</indoor> | ||
| 290 | + </plant> | ||
| 291 | + <plant> | ||
| 292 | + <common>California Poppy</common> | ||
| 293 | + <botanical>Eschscholzia californica</botanical> | ||
| 294 | + <zone>Annual</zone> | ||
| 295 | + <light>Sunny</light> | ||
| 296 | + <price>7.89</price> | ||
| 297 | + <availability>03/27/2006</availability> | ||
| 298 | + <indoor>false</indoor> | ||
| 299 | + </plant> | ||
| 300 | + <plant> | ||
| 301 | + <common>Shooting Star</common> | ||
| 302 | + <botanical>Dodecatheon</botanical> | ||
| 303 | + <zone>Annual</zone> | ||
| 304 | + <light>Mostly Shady</light> | ||
| 305 | + <price>8.60</price> | ||
| 306 | + <availability>05/13/2006</availability> | ||
| 307 | + <indoor>true</indoor> | ||
| 308 | + </plant> | ||
| 309 | + <plant> | ||
| 310 | + <common>Snakeroot</common> | ||
| 311 | + <botanical>Cimicifuga</botanical> | ||
| 312 | + <zone>Annual</zone> | ||
| 313 | + <light>Shade</light> | ||
| 314 | + <price>5.63</price> | ||
| 315 | + <availability>07/11/2006</availability> | ||
| 316 | + <indoor>true</indoor> | ||
| 317 | + </plant> | ||
| 318 | + <plant> | ||
| 319 | + <common>Cardinal Flower</common> | ||
| 320 | + <botanical>Lobelia cardinalis</botanical> | ||
| 321 | + <zone>2</zone> | ||
| 322 | + <light>Shade</light> | ||
| 323 | + <price>3.02</price> | ||
| 324 | + <availability>02/22/2006</availability> | ||
| 325 | + <indoor>true</indoor> | ||
| 326 | + </plant> | ||
| 327 | +</catalog> | ||
| 0 | \ No newline at end of file | 328 | \ No newline at end of file |
thirdpartyjs/extjs/examples/grid/sheldon.xml
0 → 100644
| 1 | +<?xml version="1.0" encoding="UTF-8"?> | ||
| 2 | +<ItemSearchResponse xmlns="http://webservices.amazon.com/AWSECommerceService/2006-06-28"> | ||
| 3 | + <OperationRequest> | ||
| 4 | + <HTTPHeaders> | ||
| 5 | + <Header Name="UserAgent" | ||
| 6 | + Value="Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Avant Browser; Avant Browser; .NET CLR 1.0.3705; .NET CLR 2.0.50727; .NET CLR 1.1.4322; Media Center PC 4.0; InfoPath.2)"></Header> | ||
| 7 | + </HTTPHeaders> | ||
| 8 | + <RequestId>18CZWZFXKSV8F601AGMF</RequestId> | ||
| 9 | + <Arguments> | ||
| 10 | + <Argument Name="Service" Value="AWSECommerceService"></Argument> | ||
| 11 | + <Argument Name="AssociateTag" Value="ws"></Argument> | ||
| 12 | + <Argument Name="SearchIndex" Value="Books"></Argument> | ||
| 13 | + <Argument Name="Author" Value="Sidney Sheldon"></Argument> | ||
| 14 | + <Argument Name="SubscriptionId" Value="1A7XKHR5BYD0WPJVQEG2"></Argument> | ||
| 15 | + <Argument Name="Version" Value="2006-06-28"></Argument> | ||
| 16 | + <Argument Name="Operation" Value="ItemSearch"></Argument> | ||
| 17 | + </Arguments> | ||
| 18 | + <RequestProcessingTime>1.05041599273682</RequestProcessingTime> | ||
| 19 | + </OperationRequest> | ||
| 20 | + <Items> | ||
| 21 | + <Request> | ||
| 22 | + <IsValid>True</IsValid> | ||
| 23 | + <ItemSearchRequest> | ||
| 24 | + <Author>Sidney Sheldon</Author> | ||
| 25 | + <SearchIndex>Books</SearchIndex> | ||
| 26 | + </ItemSearchRequest> | ||
| 27 | + </Request> | ||
| 28 | + <TotalResults>203</TotalResults> | ||
| 29 | + <TotalPages>21</TotalPages> | ||
| 30 | + <Item> | ||
| 31 | + <ASIN>0446355453</ASIN> | ||
| 32 | + <DetailPageURL> | ||
| 33 | + http://www.amazon.com/gp/redirect.html%3FASIN=0446355453%26tag=ws%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/0446355453%253FSubscriptionId=1A7XKHR5BYD0WPJVQEG2 | ||
| 34 | + </DetailPageURL> | ||
| 35 | + <ItemAttributes> | ||
| 36 | + <Author>Sidney Sheldon</Author> | ||
| 37 | + <Manufacturer>Warner Books</Manufacturer> | ||
| 38 | + <ProductGroup>Book</ProductGroup> | ||
| 39 | + <Title>Master of the Game</Title> | ||
| 40 | + </ItemAttributes> | ||
| 41 | + </Item> | ||
| 42 | + <Item> | ||
| 43 | + <ASIN>0446613657</ASIN> | ||
| 44 | + <DetailPageURL> | ||
| 45 | + http://www.amazon.com/gp/redirect.html%3FASIN=0446613657%26tag=ws%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/0446613657%253FSubscriptionId=1A7XKHR5BYD0WPJVQEG2 | ||
| 46 | + </DetailPageURL> | ||
| 47 | + <ItemAttributes> | ||
| 48 | + <Author>Sidney Sheldon</Author> | ||
| 49 | + <Manufacturer>Warner Books</Manufacturer> | ||
| 50 | + <ProductGroup>Book</ProductGroup> | ||
| 51 | + <Title>Are You Afraid of the Dark?</Title> | ||
| 52 | + </ItemAttributes> | ||
| 53 | + </Item> | ||
| 54 | + <Item> | ||
| 55 | + <ASIN>0446357421</ASIN> | ||
| 56 | + <DetailPageURL> | ||
| 57 | + http://www.amazon.com/gp/redirect.html%3FASIN=0446357421%26tag=ws%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/0446357421%253FSubscriptionId=1A7XKHR5BYD0WPJVQEG2 | ||
| 58 | + </DetailPageURL> | ||
| 59 | + <ItemAttributes> | ||
| 60 | + <Author>Sidney Sheldon</Author> | ||
| 61 | + <Manufacturer>Warner Books</Manufacturer> | ||
| 62 | + <ProductGroup>Book</ProductGroup> | ||
| 63 | + <Title>If Tomorrow Comes</Title> | ||
| 64 | + </ItemAttributes> | ||
| 65 | + </Item> | ||
| 66 | + <Item> | ||
| 67 | + <ASIN>0446607207</ASIN> | ||
| 68 | + <DetailPageURL> | ||
| 69 | + http://www.amazon.com/gp/redirect.html%3FASIN=0446607207%26tag=ws%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/0446607207%253FSubscriptionId=1A7XKHR5BYD0WPJVQEG2 | ||
| 70 | + </DetailPageURL> | ||
| 71 | + <ItemAttributes> | ||
| 72 | + <Author>Sidney Sheldon</Author> | ||
| 73 | + <Manufacturer>Warner Vision</Manufacturer> | ||
| 74 | + <ProductGroup>Book</ProductGroup> | ||
| 75 | + <Title>Tell Me Your Dreams</Title> | ||
| 76 | + </ItemAttributes> | ||
| 77 | + </Item> | ||
| 78 | + <Item> | ||
| 79 | + <ASIN>0446357448</ASIN> | ||
| 80 | + <DetailPageURL> | ||
| 81 | + http://www.amazon.com/gp/redirect.html%3FASIN=0446357448%26tag=ws%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/0446357448%253FSubscriptionId=1A7XKHR5BYD0WPJVQEG2 | ||
| 82 | + </DetailPageURL> | ||
| 83 | + <ItemAttributes> | ||
| 84 | + <Author>Sidney Sheldon</Author> | ||
| 85 | + <Manufacturer>Warner Books</Manufacturer> | ||
| 86 | + <ProductGroup>Book</ProductGroup> | ||
| 87 | + <Title>Bloodline</Title> | ||
| 88 | + </ItemAttributes> | ||
| 89 | + </Item> | ||
| 90 | + <Item> | ||
| 91 | + <ASIN>0446532673</ASIN> | ||
| 92 | + <DetailPageURL> | ||
| 93 | + http://www.amazon.com/gp/redirect.html%3FASIN=0446532673%26tag=ws%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/0446532673%253FSubscriptionId=1A7XKHR5BYD0WPJVQEG2 | ||
| 94 | + </DetailPageURL> | ||
| 95 | + <ItemAttributes> | ||
| 96 | + <Author>Sidney Sheldon</Author> | ||
| 97 | + <Manufacturer>Warner Books</Manufacturer> | ||
| 98 | + <ProductGroup>Book</ProductGroup> | ||
| 99 | + <Title>The Other Side of Me</Title> | ||
| 100 | + </ItemAttributes> | ||
| 101 | + </Item> | ||
| 102 | + <Item> | ||
| 103 | + <ASIN>0446356573</ASIN> | ||
| 104 | + <DetailPageURL> | ||
| 105 | + http://www.amazon.com/gp/redirect.html%3FASIN=0446356573%26tag=ws%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/0446356573%253FSubscriptionId=1A7XKHR5BYD0WPJVQEG2 | ||
| 106 | + </DetailPageURL> | ||
| 107 | + <ItemAttributes> | ||
| 108 | + <Author>Sidney Sheldon</Author> | ||
| 109 | + <Manufacturer>Warner Books</Manufacturer> | ||
| 110 | + <ProductGroup>Book</ProductGroup> | ||
| 111 | + <Title>A Stranger in the Mirror</Title> | ||
| 112 | + </ItemAttributes> | ||
| 113 | + </Item> | ||
| 114 | + <Item> | ||
| 115 | + <ASIN>0060198346</ASIN> | ||
| 116 | + <DetailPageURL> | ||
| 117 | + http://www.amazon.com/gp/redirect.html%3FASIN=0060198346%26tag=ws%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/0060198346%253FSubscriptionId=1A7XKHR5BYD0WPJVQEG2 | ||
| 118 | + </DetailPageURL> | ||
| 119 | + <ItemAttributes> | ||
| 120 | + <Author>Sidney Sheldon</Author> | ||
| 121 | + <Manufacturer>William Morrow & Company</Manufacturer> | ||
| 122 | + <ProductGroup>Book</ProductGroup> | ||
| 123 | + <Title>The Sky Is Falling</Title> | ||
| 124 | + </ItemAttributes> | ||
| 125 | + </Item> | ||
| 126 | + <Item> | ||
| 127 | + <ASIN>0446354732</ASIN> | ||
| 128 | + <DetailPageURL> | ||
| 129 | + http://www.amazon.com/gp/redirect.html%3FASIN=0446354732%26tag=ws%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/0446354732%253FSubscriptionId=1A7XKHR5BYD0WPJVQEG2 | ||
| 130 | + </DetailPageURL> | ||
| 131 | + <ItemAttributes> | ||
| 132 | + <Author>Sidney Sheldon</Author> | ||
| 133 | + <Manufacturer>Warner Books</Manufacturer> | ||
| 134 | + <ProductGroup>Book</ProductGroup> | ||
| 135 | + <Title>Nothing Lasts Forever</Title> | ||
| 136 | + </ItemAttributes> | ||
| 137 | + </Item> | ||
| 138 | + <Item> | ||
| 139 | + <ASIN>0446341916</ASIN> | ||
| 140 | + <DetailPageURL> | ||
| 141 | + http://www.amazon.com/gp/redirect.html%3FASIN=0446341916%26tag=ws%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/0446341916%253FSubscriptionId=1A7XKHR5BYD0WPJVQEG2 | ||
| 142 | + </DetailPageURL> | ||
| 143 | + <ItemAttributes> | ||
| 144 | + <Author>Sidney Sheldon</Author> | ||
| 145 | + <Manufacturer>Warner Books</Manufacturer> | ||
| 146 | + <ProductGroup>Book</ProductGroup> | ||
| 147 | + <Title>The Naked Face</Title> | ||
| 148 | + </ItemAttributes> | ||
| 149 | + </Item> | ||
| 150 | + </Items> | ||
| 151 | +</ItemSearchResponse> | ||
| 0 | \ No newline at end of file | 152 | \ No newline at end of file |
thirdpartyjs/extjs/examples/grid/topic.gif
0 → 100644
954 Bytes
thirdpartyjs/extjs/examples/grid/xml-grid.html
0 → 100644
| 1 | +<html> | ||
| 2 | +<head> | ||
| 3 | +<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> | ||
| 4 | +<title>XML Grid Example</title> | ||
| 5 | +<link rel="stylesheet" type="text/css" href="../../resources/css/ext-all.css" /> | ||
| 6 | + | ||
| 7 | + <!-- GC --> <!-- LIBS --> <script type="text/javascript" src="../../adapter/ext/ext-base.js"></script> <!-- ENDLIBS --> | ||
| 8 | + <script type="text/javascript" src="../../ext-all.js"></script> | ||
| 9 | + | ||
| 10 | +<script type="text/javascript" src="xml-grid.js"></script> | ||
| 11 | +<link rel="stylesheet" type="text/css" href="grid-examples.css" /> | ||
| 12 | + | ||
| 13 | +<!-- Common Styles for the examples --> | ||
| 14 | +<link rel="stylesheet" type="text/css" href="../examples.css" /> | ||
| 15 | +</head> | ||
| 16 | +<body> | ||
| 17 | +<script type="text/javascript" src="../examples.js"></script><!-- EXAMPLES --> | ||
| 18 | +<h1>XML Grid Example</h1> | ||
| 19 | +<p>This example shows how to load a grid with XML data. For more details on this example, see <a href="http://www.jackslocum.com/yui/2006/08/31/a-grid-component-for-yahoo-ui-part-2/">the blog post</a>.</p> | ||
| 20 | + | ||
| 21 | +<p>This grid also uses autoHeight and autoWidth to dynamically size to fit it's data and columns.</p> | ||
| 22 | + | ||
| 23 | +<p>Note that the js is not minified so it is readable. See <a href="xml-grid.js">xml-grid.js</a>.</p> | ||
| 24 | + | ||
| 25 | +<p>The data in the grid is loaded from <a href="sheldon.xml">sheldon.xml</a>, which is directly from an Amazon.com search.</p> | ||
| 26 | + | ||
| 27 | +<!-- a place holder for the grid. requires the unique id to be passed in the javascript function, and width and height ! --> | ||
| 28 | +<div id="example-grid" class="x-grid-mso" style="border: 1px solid #c3daf9; overflow: hidden; width:520px;"></div> | ||
| 29 | + | ||
| 30 | +</body> | ||
| 31 | +</html> |
thirdpartyjs/extjs/examples/grid/xml-grid.js
0 → 100644
| 1 | +/* | ||
| 2 | + * Ext JS Library 1.1 Beta 1 | ||
| 3 | + * Copyright(c) 2006-2007, Ext JS, LLC. | ||
| 4 | + * licensing@extjs.com | ||
| 5 | + * | ||
| 6 | + * http://www.extjs.com/license | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +Ext.onReady(function(){ | ||
| 10 | + | ||
| 11 | + // create the Data Store | ||
| 12 | + var ds = new Ext.data.Store({ | ||
| 13 | + // load using HTTP | ||
| 14 | + proxy: new Ext.data.HttpProxy({url: 'sheldon.xml'}), | ||
| 15 | + | ||
| 16 | + // the return will be XML, so lets set up a reader | ||
| 17 | + reader: new Ext.data.XmlReader({ | ||
| 18 | + // records will have an "Item" tag | ||
| 19 | + record: 'Item', | ||
| 20 | + id: 'ASIN', | ||
| 21 | + totalRecords: '@total' | ||
| 22 | + }, [ | ||
| 23 | + // set up the fields mapping into the xml doc | ||
| 24 | + // The first needs mapping, the others are very basic | ||
| 25 | + {name: 'Author', mapping: 'ItemAttributes > Author'}, | ||
| 26 | + 'Title', 'Manufacturer', 'ProductGroup' | ||
| 27 | + ]) | ||
| 28 | + }); | ||
| 29 | + | ||
| 30 | + var cm = new Ext.grid.ColumnModel([ | ||
| 31 | + {header: "Author", width: 120, dataIndex: 'Author'}, | ||
| 32 | + {header: "Title", width: 180, dataIndex: 'Title'}, | ||
| 33 | + {header: "Manufacturer", width: 115, dataIndex: 'Manufacturer'}, | ||
| 34 | + {header: "Product Group", width: 100, dataIndex: 'ProductGroup'} | ||
| 35 | + ]); | ||
| 36 | + cm.defaultSortable = true; | ||
| 37 | + | ||
| 38 | + // create the grid | ||
| 39 | + var grid = new Ext.grid.Grid('example-grid', { | ||
| 40 | + ds: ds, | ||
| 41 | + cm: cm | ||
| 42 | + }); | ||
| 43 | + grid.render(); | ||
| 44 | + | ||
| 45 | + ds.load(); | ||
| 46 | +}); |
thirdpartyjs/extjs/examples/info-bg.gif
0 → 100644
852 Bytes
thirdpartyjs/extjs/examples/layout/complex.html
0 → 100644
| 1 | +<html> | ||
| 2 | +<head> | ||
| 3 | + <title>Complex Layout</title> | ||
| 4 | + <link rel="stylesheet" type="text/css" href="../../resources/css/ext-all.css" /> | ||
| 5 | + | ||
| 6 | + <!-- GC --> <!-- LIBS --> <script type="text/javascript" src="../../adapter/ext/ext-base.js"></script> <!-- ENDLIBS --> | ||
| 7 | + <script type="text/javascript" src="../../ext-all.js"></script> | ||
| 8 | + | ||
| 9 | + <!--<script language="javascript" src="../grid/PropsGrid.js"></script>--> | ||
| 10 | + <style type="text/css"> | ||
| 11 | + html, body { | ||
| 12 | + font:normal 12px verdana; | ||
| 13 | + margin:0; | ||
| 14 | + padding:0; | ||
| 15 | + border:0 none; | ||
| 16 | + overflow:hidden; | ||
| 17 | + height:100%; | ||
| 18 | + } | ||
| 19 | + .x-layout-panel-north { | ||
| 20 | + border:0px none; | ||
| 21 | + } | ||
| 22 | + #nav { | ||
| 23 | + } | ||
| 24 | + #autoTabs, #center1, #center2, #west { | ||
| 25 | + padding:10px; | ||
| 26 | + } | ||
| 27 | + #north, #south{ | ||
| 28 | + font:normal 8pt arial, helvetica; | ||
| 29 | + padding:4px; | ||
| 30 | + } | ||
| 31 | + .x-layout-panel-center p { | ||
| 32 | + margin:5px; | ||
| 33 | + } | ||
| 34 | + #props-panel .x-grid-col-0{ | ||
| 35 | + } | ||
| 36 | + #props-panel .x-grid-col-1{ | ||
| 37 | + } | ||
| 38 | + </style> | ||
| 39 | + <script type="text/javascript"> | ||
| 40 | + Example = function(){ | ||
| 41 | + var layout; | ||
| 42 | + return { | ||
| 43 | + init : function(){ | ||
| 44 | + layout = new Ext.BorderLayout(document.body, { | ||
| 45 | + north: { | ||
| 46 | + split:false, | ||
| 47 | + initialSize: 32, | ||
| 48 | + titlebar: false | ||
| 49 | + }, | ||
| 50 | + west: { | ||
| 51 | + split:true, | ||
| 52 | + initialSize: 200, | ||
| 53 | + minSize: 175, | ||
| 54 | + maxSize: 400, | ||
| 55 | + titlebar: true, | ||
| 56 | + collapsible: true, | ||
| 57 | + animate: true | ||
| 58 | + }, | ||
| 59 | + east: { | ||
| 60 | + split:true, | ||
| 61 | + initialSize: 202, | ||
| 62 | + minSize: 175, | ||
| 63 | + maxSize: 400, | ||
| 64 | + titlebar: true, | ||
| 65 | + collapsible: true, | ||
| 66 | + animate: true | ||
| 67 | + }, | ||
| 68 | + south: { | ||
| 69 | + split:true, | ||
| 70 | + initialSize: 100, | ||
| 71 | + minSize: 100, | ||
| 72 | + maxSize: 200, | ||
| 73 | + titlebar: true, | ||
| 74 | + collapsible: true, | ||
| 75 | + animate: true | ||
| 76 | + }, | ||
| 77 | + center: { | ||
| 78 | + titlebar: true, | ||
| 79 | + autoScroll:true, | ||
| 80 | + closeOnTab: true | ||
| 81 | + } | ||
| 82 | + }); | ||
| 83 | + | ||
| 84 | + layout.beginUpdate(); | ||
| 85 | + layout.add('north', new Ext.ContentPanel('north', 'North')); | ||
| 86 | + layout.add('south', new Ext.ContentPanel('south', {title: 'South', closable: true})); | ||
| 87 | + layout.add('west', new Ext.ContentPanel('west', {title: 'West'})); | ||
| 88 | + layout.add('east', new Ext.ContentPanel(Ext.id(), {autoCreate:true, title: 'Dynamic Tab', closable: true})); | ||
| 89 | + layout.add('east', new Ext.ContentPanel('autoTabs', {title: 'Auto Tabs', closable: true})); | ||
| 90 | + layout.add('center', new Ext.ContentPanel('center1', {title: 'Close Me', closable: true})); | ||
| 91 | + layout.add('center', new Ext.ContentPanel('center2', {title: 'Center Panel', closable: false})); | ||
| 92 | + layout.getRegion('center').showPanel('center1'); | ||
| 93 | + layout.getRegion('west').hide(); | ||
| 94 | + layout.endUpdate(); | ||
| 95 | + }, | ||
| 96 | + | ||
| 97 | + toggleWest : function(link){ | ||
| 98 | + var west = layout.getRegion('west'); | ||
| 99 | + if(west.isVisible()){ | ||
| 100 | + west.hide(); | ||
| 101 | + link.innerHTML = 'Show West Region'; | ||
| 102 | + }else{ | ||
| 103 | + west.show(); | ||
| 104 | + link.innerHTML = 'Hide West Region'; | ||
| 105 | + } | ||
| 106 | + } | ||
| 107 | + }; | ||
| 108 | + | ||
| 109 | + }(); | ||
| 110 | + Ext.EventManager.onDocumentReady(Example.init, Example, true); | ||
| 111 | + </script> | ||
| 112 | +</head> | ||
| 113 | +<body> | ||
| 114 | +<script type="text/javascript" src="../examples.js"></script><!-- EXAMPLES --> | ||
| 115 | +<div id ="container"> | ||
| 116 | + <div id="west" class="x-layout-inactive-content"> | ||
| 117 | + Hi. I'm the west panel. | ||
| 118 | + </div> | ||
| 119 | + <div id="north" class="x-layout-inactive-content"> | ||
| 120 | + north - generally for menus, toolbars and/or advertisements | ||
| 121 | + </div> | ||
| 122 | + <div id="autoTabs" class="x-layout-inactive-content"> | ||
| 123 | + The layout manager will automatically create and/or remove the TabPanel component when a region has more than one panel. Close one of my panels and you can see what I mean. | ||
| 124 | + </div> | ||
| 125 | + <div id="center2" class="x-layout-inactive-content"> | ||
| 126 | + <p><a href="#" onclick="Example.toggleWest(this);return false;">Show West Region</a></p> | ||
| 127 | + <p>My closable attribute is set to false so you can't close me. The other center panels can be closed.</p> | ||
| 128 | + <p>The center panel automatically grows to fit the remaining space in the container that isn't taken up by the border regions.</p> | ||
| 129 | + <hr> | ||
| 130 | + <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed metus nibh, sodales a, porta at, vulputate eget, dui. Pellentesque ut nisl. Maecenas tortor turpis, interdum non, sodales non, iaculis ac, lacus. Vestibulum auctor, tortor quis iaculis malesuada, libero lectus bibendum purus, sit amet tincidunt quam turpis vel lacus. In pellentesque nisl non sem. Suspendisse nunc sem, pretium eget, cursus a, fringilla vel, urna. Aliquam commodo ullamcorper erat. Nullam vel justo in neque porttitor laoreet. Aenean lacus dui, consequat eu, adipiscing eget, nonummy non, nisi. Morbi nunc est, dignissim non, ornare sed, luctus eu, massa. Vivamus eget quam. Vivamus tincidunt diam nec urna. Curabitur velit. Quisque dolor magna, ornare sed, elementum porta, luctus in, leo.</p> | ||
| 131 | + <p>Donec quis dui. Sed imperdiet. Nunc consequat, est eu sollicitudin gravida, mauris ligula lacinia mauris, eu porta dui nisl in velit. Nam congue, odio id auctor nonummy, augue lectus euismod nunc, in tristique turpis dolor sed urna. Donec sit amet quam eget diam fermentum pharetra. Integer tincidunt arcu ut purus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla blandit malesuada odio. Nam augue. Aenean molestie sapien in mi. Suspendisse tincidunt. Pellentesque tempus dui vitae sapien. Donec aliquam ipsum sit amet pede. Sed scelerisque mi a erat. Curabitur rutrum ullamcorper risus. Maecenas et lorem ut felis dictum viverra. Fusce sem. Donec pharetra nibh sit amet sapien.</p> | ||
| 132 | + <p>Aenean ut orci sed ligula consectetuer pretium. Aliquam odio. Nam pellentesque enim. Nam tincidunt condimentum nisi. Maecenas convallis luctus ligula. Donec accumsan ornare risus. Vestibulum id magna a nunc posuere laoreet. Integer iaculis leo vitae nibh. Nam vulputate, mauris vitae luctus pharetra, pede neque bibendum tellus, facilisis commodo diam nisi eget lacus. Duis consectetuer pulvinar nisi. Cras interdum ultricies sem. Nullam tristique. Suspendisse elementum purus eu nisl. Nulla facilisi. Phasellus ultricies ullamcorper lorem. Sed euismod ante vitae lacus. Nam nunc leo, congue vehicula, luctus ac, tempus non, ante. Morbi suscipit purus a nulla. Sed eu diam.</p> | ||
| 133 | + <p>Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Cras imperdiet felis id velit. Ut non quam at sem dictum ullamcorper. Vestibulum pharetra purus sed pede. Aliquam ultrices, nunc in varius mattis, felis justo pretium magna, eget laoreet justo eros id eros. Aliquam elementum diam fringilla nulla. Praesent laoreet sapien vel metus. Cras tempus, sapien condimentum dictum dapibus, lorem augue fringilla orci, ut tincidunt eros nisi eget turpis. Nullam nunc nunc, eleifend et, dictum et, pharetra a, neque. Ut feugiat. Aliquam erat volutpat. Donec pretium odio nec felis. Phasellus sagittis lacus eget sapien. Donec est. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae;</p> | ||
| 134 | + <p>Vestibulum semper. Nullam non odio. Aliquam quam. Mauris eu lectus non nunc auctor ullamcorper. Sed tincidunt molestie enim. Phasellus lobortis justo sit amet quam. Duis nulla erat, varius a, cursus in, tempor sollicitudin, mauris. Aliquam mi velit, consectetuer mattis, consequat tristique, pulvinar ac, nisl. Aliquam mattis vehicula elit. Proin quis leo sed tellus scelerisque molestie. Quisque luctus. Integer mattis. Donec id augue sed leo aliquam egestas. Quisque in sem. Donec dictum enim in dolor. Praesent non erat. Nulla ultrices vestibulum quam.</p> | ||
| 135 | + <p>Duis hendrerit, est vel lobortis sagittis, tortor erat scelerisque tortor, sed pellentesque sem enim id metus. Maecenas at pede. Nulla velit libero, dictum at, mattis quis, sagittis vel, ante. Phasellus faucibus rutrum dui. Cras mauris elit, bibendum at, feugiat non, porta id, neque. Nulla et felis nec odio mollis vehicula. Donec elementum tincidunt mauris. Duis vel dui. Fusce iaculis enim ac nulla. In risus.</p> | ||
| 136 | + <p>Donec gravida. Donec et enim. Morbi sollicitudin, lacus a facilisis pulvinar, odio turpis dapibus elit, in tincidunt turpis felis nec libero. Nam vestibulum tempus ipsum. In hac habitasse platea dictumst. Nulla facilisi. Donec semper ligula. Donec commodo tortor in quam. Etiam massa. Ut tempus ligula eget tellus. Curabitur id velit ut velit varius commodo. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nulla facilisi. Fusce ornare pellentesque libero. Nunc rhoncus. Suspendisse potenti. Ut consequat, leo eu accumsan vehicula, justo sem lobortis elit, ac sollicitudin ipsum neque nec ante.</p> | ||
| 137 | + <p>Aliquam elementum mauris id sem. Vivamus varius, est ut nonummy consectetuer, nulla quam bibendum velit, ac gravida nisi felis sit amet urna. Aliquam nec risus. Maecenas lacinia purus ut velit. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Suspendisse sit amet dui vitae lacus fermentum sodales. Donec varius dapibus nisl. Praesent at velit id risus convallis bibendum. Aliquam felis nibh, rutrum nec, blandit non, mattis sit amet, magna. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Etiam varius dignissim nibh. Quisque id orci ac ante hendrerit molestie. Aliquam malesuada enim non neque.</p> | ||
| 138 | + </div> | ||
| 139 | + <div id="center1" class="x-layout-inactive-content"> | ||
| 140 | + <p><b>Done reading me? Close me by clicking the X in the top right corner.</b></p> | ||
| 141 | + <p>Vestibulum semper. Nullam non odio. Aliquam quam. Mauris eu lectus non nunc auctor ullamcorper. Sed tincidunt molestie enim. Phasellus lobortis justo sit amet quam. Duis nulla erat, varius a, cursus in, tempor sollicitudin, mauris. Aliquam mi velit, consectetuer mattis, consequat tristique, pulvinar ac, nisl. Aliquam mattis vehicula elit. Proin quis leo sed tellus scelerisque molestie. Quisque luctus. Integer mattis. Donec id augue sed leo aliquam egestas. Quisque in sem. Donec dictum enim in dolor. Praesent non erat. Nulla ultrices vestibulum quam.</p> | ||
| 142 | + <p>Duis hendrerit, est vel lobortis sagittis, tortor erat scelerisque tortor, sed pellentesque sem enim id metus. Maecenas at pede. Nulla velit libero, dictum at, mattis quis, sagittis vel, ante. Phasellus faucibus rutrum dui. Cras mauris elit, bibendum at, feugiat non, porta id, neque. Nulla et felis nec odio mollis vehicula. Donec elementum tincidunt mauris. Duis vel dui. Fusce iaculis enim ac nulla. In risus.</p> | ||
| 143 | + <p>Donec gravida. Donec et enim. Morbi sollicitudin, lacus a facilisis pulvinar, odio turpis dapibus elit, in tincidunt turpis felis nec libero. Nam vestibulum tempus ipsum. In hac habitasse platea dictumst. Nulla facilisi. Donec semper ligula. Donec commodo tortor in quam. Etiam massa. Ut tempus ligula eget tellus. Curabitur id velit ut velit varius commodo. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nulla facilisi. Fusce ornare pellentesque libero. Nunc rhoncus. Suspendisse potenti. Ut consequat, leo eu accumsan vehicula, justo sem lobortis elit, ac sollicitudin ipsum neque nec ante.</p> | ||
| 144 | + <p>Aliquam elementum mauris id sem. Vivamus varius, est ut nonummy consectetuer, nulla quam bibendum velit, ac gravida nisi felis sit amet urna. Aliquam nec risus. Maecenas lacinia purus ut velit. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Suspendisse sit amet dui vitae lacus fermentum sodales. Donec varius dapibus nisl. Praesent at velit id risus convallis bibendum. Aliquam felis nibh, rutrum nec, blandit non, mattis sit amet, magna. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Etiam varius dignissim nibh. Quisque id orci ac ante hendrerit molestie. Aliquam malesuada enim non neque.</p> | ||
| 145 | + </div> | ||
| 146 | + <div id="props-panel" class="x-layout-inactive-content" style="width:200px;height:200px;overflow:hidden;"> | ||
| 147 | + </div> | ||
| 148 | + <div id="south" class="x-layout-inactive-content"> | ||
| 149 | + south - generally for informational stuff, also could be for status bar | ||
| 150 | + </div> | ||
| 151 | +</div> | ||
| 152 | + </body> | ||
| 153 | +</html> |
thirdpartyjs/extjs/examples/layout/feed-proxy.ashx
0 → 100644
| 1 | +<%@ WebHandler Language="VB" CodeBehind="feed-proxy.ashx.vb" Class="SendGate.feedproxy1" %> |
thirdpartyjs/extjs/examples/layout/feed-proxy.ashx.vb
0 → 100644
| 1 | +Imports System.Web | ||
| 2 | +Imports System.Web.Services | ||
| 3 | +Imports System | ||
| 4 | +Imports System.IO | ||
| 5 | +Imports System.Net | ||
| 6 | + | ||
| 7 | +Public Class feedproxy1 | ||
| 8 | + Implements System.Web.IHttpHandler | ||
| 9 | + | ||
| 10 | + Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest | ||
| 11 | + | ||
| 12 | + 'Address of URL | ||
| 13 | + 'Dim URL As String = "http://www.jackslocum.com/yui/feed/" | ||
| 14 | + Dim URL As String = context.Request.Form("feed") | ||
| 15 | + 'Only allow http:// prefix | ||
| 16 | + If IsNothing(URL) Then | ||
| 17 | + Exit Sub | ||
| 18 | + End If | ||
| 19 | + If URL.Substring(0, 7) = "http://" Then | ||
| 20 | + Try | ||
| 21 | + 'Dim enc As Encoding = Encoding.GetEncoding("UTF-8") | ||
| 22 | + Dim enc As Encoding = Encoding.GetEncoding("ISO-8859-1") | ||
| 23 | + | ||
| 24 | + Dim request As HttpWebRequest = WebRequest.Create(URL) | ||
| 25 | + Dim response As HttpWebResponse = request.GetResponse() | ||
| 26 | + Dim reader As StreamReader = New StreamReader(response.GetResponseStream(), enc) | ||
| 27 | + Dim str As String '= reader.ReadLine() | ||
| 28 | + Dim reply As String = "" | ||
| 29 | + 'Do While str.Length > 0 And Not reader.EndOfStream | ||
| 30 | + Do While Not reader.EndOfStream | ||
| 31 | + str = reader.ReadLine() | ||
| 32 | + reply &= str & vbCrLf | ||
| 33 | + 'Console.WriteLine(str) | ||
| 34 | + Loop | ||
| 35 | + context.Response.ContentType = "text/xml" | ||
| 36 | + context.Response.ContentEncoding = enc | ||
| 37 | + context.Response.Cache.SetExpires(DateTime.Now.AddSeconds(60)) | ||
| 38 | + context.Response.Cache.SetCacheability(HttpCacheability.Public) | ||
| 39 | + | ||
| 40 | + context.Response.Write(reply) | ||
| 41 | + Catch ex As Exception | ||
| 42 | + End Try | ||
| 43 | + | ||
| 44 | + End If | ||
| 45 | + | ||
| 46 | + End Sub | ||
| 47 | + | ||
| 48 | + ReadOnly Property IsReusable() As Boolean Implements IHttpHandler.IsReusable | ||
| 49 | + Get | ||
| 50 | + Return False | ||
| 51 | + End Get | ||
| 52 | + End Property | ||
| 53 | + | ||
| 54 | +End Class | ||
| 0 | \ No newline at end of file | 55 | \ No newline at end of file |
thirdpartyjs/extjs/examples/layout/feed-proxy.php
0 → 100644
thirdpartyjs/extjs/examples/layout/feed-viewer.css
0 → 100644
| 1 | +/* | ||
| 2 | + * Ext JS Library 1.1 Beta 1 | ||
| 3 | + * Copyright(c) 2006-2007, Ext JS, LLC. | ||
| 4 | + * licensing@extjs.com | ||
| 5 | + * | ||
| 6 | + * http://www.extjs.com/license | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +/* | ||
| 10 | + * Ext - JS Library 1.0 Alpha 2 | ||
| 11 | + * Copyright(c) 2006-2007, Jack Slocum. | ||
| 12 | + */ | ||
| 13 | + | ||
| 14 | +html, body { | ||
| 15 | + font: normal 9pt tahoma; | ||
| 16 | + margin: 0px; | ||
| 17 | + padding:0px; | ||
| 18 | + border:0px; | ||
| 19 | +} | ||
| 20 | +.x-layout-panel-south{ | ||
| 21 | + background:#c3daf9; | ||
| 22 | + border:0px none; | ||
| 23 | + border-top:1px solid #ddecfe; | ||
| 24 | +} | ||
| 25 | +.x-layout-panel-north, .xtheme-gray .x-layout-panel-north{ | ||
| 26 | + background-image: url(images/header.gif); | ||
| 27 | + background-repeat: repeat-x; | ||
| 28 | + color:#FFF; | ||
| 29 | + font:bold 12px verdana, helvetica; | ||
| 30 | + overflow:hidden; | ||
| 31 | + padding:4px; | ||
| 32 | + border:0px none; | ||
| 33 | + border-bottom:2px solid #c3daf9; | ||
| 34 | +} | ||
| 35 | +.xtheme-gray .x-layout-panel-north{ | ||
| 36 | + border-bottom:2px solid #f3f2e7; | ||
| 37 | +} | ||
| 38 | +.x-layout-panel-hd-text{ | ||
| 39 | + font: bold 11px tahoma,verdana,helvetica; | ||
| 40 | + color:#083772; | ||
| 41 | +} | ||
| 42 | +.xtheme-gray .x-layout-panel-hd-text{ | ||
| 43 | + font: bold 11px tahoma,verdana,helvetica; | ||
| 44 | + color:#333333; | ||
| 45 | +} | ||
| 46 | +#preview-body{ | ||
| 47 | + background:white; | ||
| 48 | +} | ||
| 49 | +#main .x-layout-panel-center{ | ||
| 50 | + border-bottom:1px solid #98c0f4; | ||
| 51 | +} | ||
| 52 | +#preview-body { | ||
| 53 | + padding:10px; | ||
| 54 | + overflow:auto; | ||
| 55 | + line-height: 18px; | ||
| 56 | +} | ||
| 57 | +#preview-body p{ | ||
| 58 | + margin:5px; | ||
| 59 | + margin-bottom:10px; | ||
| 60 | +} | ||
| 61 | +.x-toolbar{ | ||
| 62 | + border:0px none; | ||
| 63 | + background-color:#D8E7FB; | ||
| 64 | + border-bottom:1px solid #c3daf9; | ||
| 65 | + padding-bottom:1px; | ||
| 66 | +} | ||
| 67 | +#preview-tb .view-tab,#preview-tb .view-window,#myfeeds-tb .add-feed{ | ||
| 68 | + background-position: 0px 0px; | ||
| 69 | + background-repeat: no-repeat; | ||
| 70 | + padding-left:18px; | ||
| 71 | + padding-top:1px; | ||
| 72 | + width:auto; | ||
| 73 | + display:block; | ||
| 74 | +} | ||
| 75 | +.add-feed { | ||
| 76 | + background-image: url('images/add-feed.gif'); | ||
| 77 | +} | ||
| 78 | +#myfeeds-body{ | ||
| 79 | + overflow:auto; | ||
| 80 | +} | ||
| 81 | +.view-tab{ | ||
| 82 | + background-image: url('images/new_tab.gif'); | ||
| 83 | +} | ||
| 84 | +.view-window{ | ||
| 85 | + background-image: url('images/new_window.gif'); | ||
| 86 | +} | ||
| 87 | +.feed-list{ | ||
| 88 | + padding:1px; | ||
| 89 | +} | ||
| 90 | +.feed-list a{ | ||
| 91 | + border:1px solid white; | ||
| 92 | + display:block; | ||
| 93 | + -moz-outline:none; | ||
| 94 | + margin-bottom:2px; | ||
| 95 | + text-decoration:none; | ||
| 96 | +} | ||
| 97 | +.feed-list a .body{ | ||
| 98 | + padding:5px 2px 5px 22px; | ||
| 99 | + background-image:url(images/rss.gif); | ||
| 100 | + background-position: 2px 5px; | ||
| 101 | + background-repeat: no-repeat; | ||
| 102 | + font:bold 12px tahoma, verdana, helvetica; | ||
| 103 | + color: #2d5593; | ||
| 104 | + display:block; | ||
| 105 | + -moz-outline:none; | ||
| 106 | +} | ||
| 107 | +.feed-list a .desc{ | ||
| 108 | + font:normal 11px tahoma, verdana, helvetica; | ||
| 109 | + color: #222222; | ||
| 110 | +} | ||
| 111 | +.feed-list a:hover, .feed-list .selected{ | ||
| 112 | + text-decoration: none; | ||
| 113 | + border:1px solid #c3daf9; | ||
| 114 | + background-color:#ddecfe; | ||
| 115 | +} | ||
| 116 | +.feed-list .selected{ | ||
| 117 | + background-image: url('images/post-bg.gif'); | ||
| 118 | + border:1px solid #c3daf9; | ||
| 119 | +} | ||
| 120 | +#feed-grid { | ||
| 121 | + overflow:auto; | ||
| 122 | +} | ||
| 123 | +#add-feed{ | ||
| 124 | + background-image: url('images/post-bg.gif'); | ||
| 125 | + border:2px solid #c3daf9; | ||
| 126 | + position:absolute; | ||
| 127 | + z-index:10006; | ||
| 128 | + font-size:8pt; | ||
| 129 | + width:300px; | ||
| 130 | + padding:5px; | ||
| 131 | + overflow:auto; | ||
| 132 | + left:-1000px; | ||
| 133 | + top:-1000px; | ||
| 134 | +} | ||
| 135 | +#add-feed input{ | ||
| 136 | + font:normal 8pt arial,helvetica; | ||
| 137 | +} | ||
| 138 | +#add-feed .eg{ | ||
| 139 | + display:block; | ||
| 140 | + padding:3px; | ||
| 141 | + color:#1e4e8f; | ||
| 142 | +} | ||
| 143 | +#feed-url{ | ||
| 144 | + width:240px; | ||
| 145 | +} | ||
| 146 | +#add-feed-close{ | ||
| 147 | + position:absolute; | ||
| 148 | + right:2px; | ||
| 149 | + top:2px; | ||
| 150 | + cursor:pointer; | ||
| 151 | +} | ||
| 152 | +#add-feed p{ | ||
| 153 | + height:18px; | ||
| 154 | + display:none; | ||
| 155 | +} | ||
| 156 | +#add-feed p.active-msg{ | ||
| 157 | + display:block; | ||
| 158 | +} | ||
| 159 | + | ||
| 160 | +#status { | ||
| 161 | + font-size:8pt; | ||
| 162 | + background-image: url('../../resources/images/default/grid/loading.gif'); | ||
| 163 | + background-repeat: no-repeat; | ||
| 164 | + background-position: left; | ||
| 165 | + padding-left:20px; | ||
| 166 | + padding-top:3px; | ||
| 167 | + height:18px; | ||
| 168 | +} | ||
| 169 | +#status.done { | ||
| 170 | + background-image: url('../../resources/images/default/grid/loading.gif'); | ||
| 171 | +} | ||
| 172 | +.x-layout-collapsed-west{ | ||
| 173 | + background-image:url(images/myfeeds.gif); | ||
| 174 | + background-repeat:no-repeat; | ||
| 175 | + background-position:center; | ||
| 176 | +} | ||
| 177 | +.x-layout-collapsed-east{ | ||
| 178 | + background-image:url(images/suggested.gif); | ||
| 179 | + background-repeat:no-repeat; | ||
| 180 | + background-position:center; | ||
| 181 | +} | ||
| 182 | +#main .x-layout-collapsed-south{ | ||
| 183 | + background-image:url(images/preview.gif); | ||
| 184 | + background-repeat:no-repeat; | ||
| 185 | + background-position:center; | ||
| 186 | +} | ||
| 187 | + | ||
| 188 | +/** Comment List */ | ||
| 189 | +.item-date { | ||
| 190 | + margin: 0; | ||
| 191 | + display: block; | ||
| 192 | + font-size: 10px; | ||
| 193 | + font-weight:normal; | ||
| 194 | + margin-bottom:3px; | ||
| 195 | +} | ||
| 196 | +.item-title{ | ||
| 197 | + font:bold 11px "sans serif", verdana; | ||
| 198 | + color:#444444; | ||
| 199 | +} | ||
| 200 | +.feed-item { | ||
| 201 | + display:block; | ||
| 202 | + margin:5px; | ||
| 203 | + padding:5px; | ||
| 204 | + font-size:11px; | ||
| 205 | + border:1px solid white; | ||
| 206 | + border-bottom:1px solid #dddddd; | ||
| 207 | + color:#222222; | ||
| 208 | + cursor:pointer; | ||
| 209 | + line-height: 18px; | ||
| 210 | + -moz-user-select: none; | ||
| 211 | + -khtml-user-select:none; | ||
| 212 | +} | ||
| 213 | +.selected-article{ | ||
| 214 | + background:#ecf5fe url('images/post-bg.gif') repeat-x; | ||
| 215 | + border:1px solid #c3daf9; | ||
| 216 | +} | ||
| 0 | \ No newline at end of file | 217 | \ No newline at end of file |
thirdpartyjs/extjs/examples/layout/feed-viewer.html
0 → 100644
| 1 | +<html> | ||
| 2 | +<head> | ||
| 3 | + <title>RSS Feed Viewer 2.0</title> | ||
| 4 | + <link rel="stylesheet" type="text/css" href="../../resources/css/ext-all.css" /> | ||
| 5 | + | ||
| 6 | + <!-- GC --> <!-- LIBS --> <script type="text/javascript" src="../../adapter/ext/ext-base.js"></script> <!-- ENDLIBS --> | ||
| 7 | + <script type="text/javascript" src="../../ext-all.js"></script> | ||
| 8 | + | ||
| 9 | + <link rel="stylesheet" type="text/css" href="feed-viewer.css"/> | ||
| 10 | + <script type="text/javascript" language="javascript" src="feed-viewer.js"></script> | ||
| 11 | +</head> | ||
| 12 | +<body id="feedViewer"> | ||
| 13 | +<script type="text/javascript" src="../examples.js"></script><!-- EXAMPLES --> | ||
| 14 | + <div id="header" class="x-layout-inactive-content"> | ||
| 15 | + Simple RSS Feed Viewer - 2.0 | ||
| 16 | + </div> | ||
| 17 | + <div id="feeds" class="x-layout-inactive-content"> | ||
| 18 | + <div id="myfeeds-tb"></div> | ||
| 19 | + <div id="myfeeds-body" class="feed-list"></div> | ||
| 20 | + </div> | ||
| 21 | + <div id="suggested" class="x-layout-inactive-content feed-list"></div> | ||
| 22 | + <div id="main" class="x-layout-inactive-content"> | ||
| 23 | + <div id="feed-grid" class="x-layout-inactive-content"></div> | ||
| 24 | + <div id="preview" class="x-layout-inactive-content"> | ||
| 25 | + <div id="preview-tb"></div> | ||
| 26 | + <div id="preview-body"></div> | ||
| 27 | + </div> | ||
| 28 | + </div> | ||
| 29 | + <div id="status" class="x-layout-inactive-content"></div> | ||
| 30 | + <div id="add-feed" style="visibility:hidden;"> | ||
| 31 | + <img alt="tab-close" id="add-feed-close" src="images/tab-close-on.gif" /> | ||
| 32 | + <p id="add-title" class="active-msg">Please enter the URL for the feed:</p> | ||
| 33 | + <p id="invalid-feed"><img src="images/warning.gif" width="16" height="16" align="absmiddle" alt="" /> The feed URL specified is not a valid RSS feed.</p> | ||
| 34 | + <p id="loading-feed"><img src="images/wait.gif" width="18" height="18" align="absmiddle" /> Loading feed...</p> | ||
| 35 | + <input type="text" id="feed-url" name="feed-url" class="input-text"/><input id="add-btn" type="button" value="Add"/><br> | ||
| 36 | + <span class="eg">e.g. http://www.jackslocum.com/yui/feed/</span> | ||
| 37 | + </div> | ||
| 38 | +</body> | ||
| 39 | +</html> |
thirdpartyjs/extjs/examples/layout/feed-viewer.js
0 → 100644
| 1 | +/* | ||
| 2 | + * Ext JS Library 1.1 Beta 1 | ||
| 3 | + * Copyright(c) 2006-2007, Ext JS, LLC. | ||
| 4 | + * licensing@extjs.com | ||
| 5 | + * | ||
| 6 | + * http://www.extjs.com/license | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +var Viewer = function(){ | ||
| 10 | + // a bunch of private variables accessible by member function | ||
| 11 | + var layout, statusPanel, south, preview, previewBody, feedPanel; | ||
| 12 | + var grid, ds, sm; | ||
| 13 | + var addFeed, currentItem, tpl; | ||
| 14 | + var suggested, feeds; | ||
| 15 | + var sfeeds, myfeeds; | ||
| 16 | + var seed = 0; | ||
| 17 | + | ||
| 18 | + // feed clicks bubble up to this universal handler | ||
| 19 | + var feedClicked = function(e){ | ||
| 20 | + // find the "a" element that was clicked | ||
| 21 | + var a = e.getTarget('a'); | ||
| 22 | + if(a){ | ||
| 23 | + e.preventDefault(); | ||
| 24 | + Viewer.loadFeed(a.href); | ||
| 25 | + Viewer.changeActiveFeed(a.id.substr(5)); | ||
| 26 | + } | ||
| 27 | + }; | ||
| 28 | + | ||
| 29 | + return { | ||
| 30 | + init : function(){ | ||
| 31 | + // initialize state manager, we will use cookies | ||
| 32 | + Ext.state.Manager.setProvider(new Ext.state.CookieProvider()); | ||
| 33 | + | ||
| 34 | + // initialize the add feed overlay and buttons | ||
| 35 | + addFeed = Ext.get('add-feed'); | ||
| 36 | + var addBtn = Ext.get('add-btn'); | ||
| 37 | + addBtn.on('click', this.validateFeed, this); | ||
| 38 | + var closeBtn = Ext.get('add-feed-close'); | ||
| 39 | + closeBtn.on('click', addFeed.hide, addFeed, true); | ||
| 40 | + | ||
| 41 | + // create Elements for the feed and suggested lists | ||
| 42 | + feeds = Ext.get('feeds'); suggested = Ext.get('suggested'); | ||
| 43 | + | ||
| 44 | + // delegate clicks on the lists | ||
| 45 | + feeds.on('click', feedClicked); | ||
| 46 | + suggested.on('click', feedClicked); | ||
| 47 | + | ||
| 48 | + //create feed template | ||
| 49 | + tpl = new Ext.DomHelper.Template('<a id="feed-{id}" href="{url}"><span class="body">{name}<br><span class="desc">{desc}</span></span></a>'); | ||
| 50 | + | ||
| 51 | + // collection of feeds added by the user | ||
| 52 | + myfeeds = {}; | ||
| 53 | + | ||
| 54 | + // some default feeds | ||
| 55 | + sfeeds = { | ||
| 56 | + 'ajaxian':{id:'ajaxian', name: 'Ajaxian', desc: 'Cleaning up the web with Ajax.', url:'http://feeds.feedburner.com/ajaxian'}, | ||
| 57 | + 'yui':{id:'yui', name: 'YUI Blog', desc: 'News and Articles about Designing and Developing with Yahoo! Libraries.', url:'http://feeds.yuiblog.com/YahooUserInterfaceBlog'}, | ||
| 58 | + 'sports':{id:'sports', name: 'Yahoo! Sports', desc: 'Latest news and information for the world of sports.', url:'http://sports.yahoo.com/top/rss.xml'} | ||
| 59 | + }; | ||
| 60 | + | ||
| 61 | + // go through the suggested feeds and add them to the list | ||
| 62 | + for(var id in sfeeds) { | ||
| 63 | + var f = sfeeds[id]; | ||
| 64 | + tpl.append(suggested.dom, f); | ||
| 65 | + } | ||
| 66 | + | ||
| 67 | + // create the main layout | ||
| 68 | + layout = new Ext.BorderLayout(document.body, { | ||
| 69 | + north: { | ||
| 70 | + split:false, | ||
| 71 | + initialSize: 25, | ||
| 72 | + titlebar: false | ||
| 73 | + }, | ||
| 74 | + west: { | ||
| 75 | + split:true, | ||
| 76 | + initialSize: 200, | ||
| 77 | + minSize: 175, | ||
| 78 | + maxSize: 400, | ||
| 79 | + titlebar: true, | ||
| 80 | + collapsible: true, | ||
| 81 | + animate: true, | ||
| 82 | + autoScroll:false, | ||
| 83 | + useShim:true, | ||
| 84 | + cmargins: {top:0,bottom:2,right:2,left:2} | ||
| 85 | + }, | ||
| 86 | + east: { | ||
| 87 | + split:true, | ||
| 88 | + initialSize: 200, | ||
| 89 | + minSize: 175, | ||
| 90 | + maxSize: 400, | ||
| 91 | + titlebar: true, | ||
| 92 | + collapsible: true, | ||
| 93 | + animate: true, | ||
| 94 | + autoScroll:false, | ||
| 95 | + useShim:true, | ||
| 96 | + collapsed:true, | ||
| 97 | + cmargins: {top:0,bottom:2,right:2,left:2} | ||
| 98 | + }, | ||
| 99 | + south: { | ||
| 100 | + split:false, | ||
| 101 | + initialSize: 22, | ||
| 102 | + titlebar: false, | ||
| 103 | + collapsible: false, | ||
| 104 | + animate: false | ||
| 105 | + }, | ||
| 106 | + center: { | ||
| 107 | + titlebar: false, | ||
| 108 | + autoScroll:false, | ||
| 109 | + tabPosition: 'top', | ||
| 110 | + closeOnTab: true, | ||
| 111 | + alwaysShowTabs: true, | ||
| 112 | + resizeTabs: true | ||
| 113 | + } | ||
| 114 | + }); | ||
| 115 | + // tell the layout not to perform layouts until we're done adding everything | ||
| 116 | + layout.beginUpdate(); | ||
| 117 | + layout.add('north', new Ext.ContentPanel('header')); | ||
| 118 | + | ||
| 119 | + // initialize the statusbar | ||
| 120 | + statusPanel = new Ext.ContentPanel('status'); | ||
| 121 | + south = layout.getRegion('south'); | ||
| 122 | + south.add(statusPanel); | ||
| 123 | + | ||
| 124 | + // create the add feed toolbar | ||
| 125 | + var feedtb = new Ext.Toolbar('myfeeds-tb'); | ||
| 126 | + // They can also be referenced by id in or components | ||
| 127 | + feedtb.add( { | ||
| 128 | + id:'add-feed-btn', | ||
| 129 | + icon: 'images/add-feed.gif', // icons can also be specified inline | ||
| 130 | + cls: 'x-btn-text-icon', | ||
| 131 | + text: 'Add feed', | ||
| 132 | + handler: this.showAddFeed.createDelegate(this), | ||
| 133 | + tooltip: '<b>Add Feed</b><br/>Button with tooltip' | ||
| 134 | + }); | ||
| 135 | + | ||
| 136 | + layout.add('west', new Ext.ContentPanel('feeds', {title: 'My Feeds', fitToFrame:true, toolbar: feedtb, resizeEl:'myfeeds-body'})); | ||
| 137 | + layout.add('east', new Ext.ContentPanel('suggested', {title: 'Suggested Feeds', fitToFrame:true})); | ||
| 138 | + | ||
| 139 | + // the inner layout houses the grid panel and the preview panel | ||
| 140 | + var innerLayout = new Ext.BorderLayout('main', { | ||
| 141 | + south: { | ||
| 142 | + split:true, | ||
| 143 | + initialSize: 250, | ||
| 144 | + minSize: 100, | ||
| 145 | + maxSize: 400, | ||
| 146 | + autoScroll:false, | ||
| 147 | + collapsible:true, | ||
| 148 | + titlebar: true, | ||
| 149 | + animate: true, | ||
| 150 | + cmargins: {top:2,bottom:0,right:0,left:0} | ||
| 151 | + }, | ||
| 152 | + center: { | ||
| 153 | + autoScroll:false, | ||
| 154 | + titlebar:false | ||
| 155 | + } | ||
| 156 | + }); | ||
| 157 | + // add the nested layout | ||
| 158 | + feedPanel = new Ext.NestedLayoutPanel(innerLayout, 'View Feed'); | ||
| 159 | + layout.add('center', feedPanel); | ||
| 160 | + | ||
| 161 | + innerLayout.beginUpdate(); | ||
| 162 | + | ||
| 163 | + var lv = innerLayout.add('center', new Ext.ContentPanel('feed-grid', {title: 'Feed Articles', fitToFrame:true})); | ||
| 164 | + this.createView(lv.getEl()); | ||
| 165 | + | ||
| 166 | + // create the preview panel and toolbar | ||
| 167 | + previewBody = Ext.get('preview-body'); | ||
| 168 | + var tb = new Ext.Toolbar('preview-tb'); | ||
| 169 | + | ||
| 170 | + tb.addButton({text: 'View in New Tab',icon: 'images/new_tab.gif',cls: 'x-btn-text-icon', handler: this.showInTab.createDelegate(this)}); | ||
| 171 | + tb.addSeparator(); | ||
| 172 | + tb.addButton({text: 'View in New Window',icon: 'images/new_window.gif',cls: 'x-btn-text-icon', handler: this.showInWindow.createDelegate(this)}); | ||
| 173 | + | ||
| 174 | + preview = new Ext.ContentPanel('preview', {title: "Preview", fitToFrame:true, toolbar: tb, resizeEl:'preview-body'}); | ||
| 175 | + innerLayout.add('south', preview); | ||
| 176 | + | ||
| 177 | + // restore innerLayout state | ||
| 178 | + innerLayout.restoreState(); | ||
| 179 | + innerLayout.endUpdate(true); | ||
| 180 | + | ||
| 181 | + // restore any state information | ||
| 182 | + layout.restoreState(); | ||
| 183 | + layout.endUpdate(); | ||
| 184 | + | ||
| 185 | + this.loadFeed('http://feeds.feedburner.com/ajaxian'); | ||
| 186 | + this.changeActiveFeed('ajaxian'); | ||
| 187 | + }, | ||
| 188 | + | ||
| 189 | + createView : function(el){ | ||
| 190 | + function reformatDate(feedDate){ | ||
| 191 | + var d = new Date(Date.parse(feedDate)); | ||
| 192 | + return d ? d.dateFormat('D M j, Y, g:i a') : ''; | ||
| 193 | + } | ||
| 194 | + | ||
| 195 | + var reader = new Ext.data.XmlReader({record: 'item'}, | ||
| 196 | + ['title', {name:'pubDate', type:'date'}, 'link', 'description'] | ||
| 197 | + ); | ||
| 198 | + | ||
| 199 | + ds = new Ext.data.Store({ | ||
| 200 | + proxy: new Ext.data.HttpProxy({ | ||
| 201 | + url: 'feed-proxy.php' | ||
| 202 | + }), | ||
| 203 | + reader : reader | ||
| 204 | + }); | ||
| 205 | + | ||
| 206 | + ds.on('load', this.onLoad, this); | ||
| 207 | + | ||
| 208 | + var tpl = new Ext.Template( | ||
| 209 | + '<div class="feed-item">' + | ||
| 210 | + '<div class="item-title">{title}</div>' + | ||
| 211 | + '<div class="item-date">{date}</div>' + | ||
| 212 | + '{desc}</div>' | ||
| 213 | + ); | ||
| 214 | + | ||
| 215 | + var view = new Ext.View(el, tpl, {store: ds, singleSelect:true, selectedClass:'selected-article'}); | ||
| 216 | + view.prepareData = function(data){ | ||
| 217 | + return { | ||
| 218 | + title: data.title, | ||
| 219 | + date: reformatDate(data.pubDate), | ||
| 220 | + desc: data.description.replace(/<\/?[^>]+>/gi, '').ellipse(350) | ||
| 221 | + | ||
| 222 | + }; | ||
| 223 | + }; | ||
| 224 | + view.on('click', this.showPost, this); | ||
| 225 | + view.on('dblclick', this.showFullPost, this); | ||
| 226 | + }, | ||
| 227 | + | ||
| 228 | + onLoad : function(){ | ||
| 229 | + if(ds.getCount() < 1){ | ||
| 230 | + preview.setContent(''); | ||
| 231 | + } | ||
| 232 | + statusPanel.getEl().addClass('done'); | ||
| 233 | + statusPanel.setContent('Done.'); | ||
| 234 | + }, | ||
| 235 | + | ||
| 236 | + loadFeed : function(feed){ | ||
| 237 | + statusPanel.setContent('Loading feed ' + feed + '...'); | ||
| 238 | + statusPanel.getEl().removeClass('done'); | ||
| 239 | + //ds.load({'feed': feed}); | ||
| 240 | + //cgsktca | ||
| 241 | + ds.load({params:{'feed': feed}}); | ||
| 242 | + }, | ||
| 243 | + | ||
| 244 | + showPost : function(view, dataIndex){ | ||
| 245 | + var node = ds.getAt(dataIndex); | ||
| 246 | + var title = node.data.title; | ||
| 247 | + var link = node.data.link; | ||
| 248 | + var desc = node.data.description; | ||
| 249 | + | ||
| 250 | + currentItem = { | ||
| 251 | + index: dataIndex, link: link | ||
| 252 | + }; | ||
| 253 | + preview.setTitle(title.ellipse(80)); | ||
| 254 | + previewBody.update(desc); | ||
| 255 | + }, | ||
| 256 | + | ||
| 257 | + showFullPost : function(view, rowIndex){ | ||
| 258 | + var node = ds.getAt(rowIndex); | ||
| 259 | + var link = node.data.link; | ||
| 260 | + var title = node.data.title; | ||
| 261 | + | ||
| 262 | + if(!title){ | ||
| 263 | + title = 'View Post'; | ||
| 264 | + } | ||
| 265 | + var iframe = Ext.DomHelper.append(document.body, | ||
| 266 | + {tag: 'iframe', frameBorder: 0, src: link}); | ||
| 267 | + var panel = new Ext.ContentPanel(iframe, | ||
| 268 | + {title: title, fitToFrame:true, closable:true}); | ||
| 269 | + layout.add('center', panel); | ||
| 270 | + }, | ||
| 271 | + | ||
| 272 | + showInTab : function(){ | ||
| 273 | + if(currentItem){ | ||
| 274 | + this.showFullPost(grid, currentItem.index); | ||
| 275 | + } | ||
| 276 | + }, | ||
| 277 | + | ||
| 278 | + showInWindow : function(){ | ||
| 279 | + if(currentItem){ | ||
| 280 | + window.open(currentItem.link, 'win'); | ||
| 281 | + } | ||
| 282 | + }, | ||
| 283 | + | ||
| 284 | + changeActiveFeed : function(feedId){ | ||
| 285 | + suggested.select('a').removeClass('selected'); | ||
| 286 | + feeds.select('a').removeClass('selected'); | ||
| 287 | + Ext.fly('feed-'+feedId).addClass('selected'); | ||
| 288 | + var feed = sfeeds[feedId] || myfeeds[feedId]; | ||
| 289 | + feedPanel.setTitle('View Feed (' + feed.name.ellipse(16) + ')'); | ||
| 290 | + }, | ||
| 291 | + | ||
| 292 | + showAddFeed : function(btn){ | ||
| 293 | + Ext.get('feed-url').dom.value = ''; | ||
| 294 | + Ext.get('add-title').radioClass('active-msg'); | ||
| 295 | + var el = Ext.get('myfeeds-tb'); | ||
| 296 | + | ||
| 297 | + addFeed.alignTo('myfeeds-tb', 'tl', [3,3]); | ||
| 298 | + addFeed.show(); | ||
| 299 | + }, | ||
| 300 | + | ||
| 301 | + validateFeed : function(){ | ||
| 302 | + var url = Ext.get('feed-url').dom.value; | ||
| 303 | + Ext.get('loading-feed').radioClass('active-msg'); | ||
| 304 | + var success = function(o){ | ||
| 305 | + try{ | ||
| 306 | + var xml = o.responseXML; | ||
| 307 | + var channel = xml.getElementsByTagName('channel')[0]; | ||
| 308 | + var titleEl = channel.getElementsByTagName('title')[0]; | ||
| 309 | + var descEl = channel.getElementsByTagName('description')[0]; | ||
| 310 | + var name = titleEl.firstChild.nodeValue; | ||
| 311 | + var desc = (descEl.firstChild ? descEl.firstChild.nodeValue : ''); | ||
| 312 | + var id = ++seed; | ||
| 313 | + myfeeds[id] = {id:id, name:name, desc:desc, url:url}; | ||
| 314 | + tpl.append('myfeeds-body', myfeeds[id]); | ||
| 315 | + | ||
| 316 | + addFeed.hide(); | ||
| 317 | + | ||
| 318 | + | ||
| 319 | + ds.loadData(xml); | ||
| 320 | + this.changeActiveFeed(id); | ||
| 321 | + | ||
| 322 | + }catch(e){ | ||
| 323 | + Ext.get('invalid-feed').radioClass('active-msg'); | ||
| 324 | + } | ||
| 325 | + }.createDelegate(this); | ||
| 326 | + var failure = function(o){ | ||
| 327 | + Ext.get('invalid-feed').radioClass('active-msg'); | ||
| 328 | + }; | ||
| 329 | + Ext.lib.Ajax.request('POST', 'feed-proxy.php', {success:success, failure:failure}, 'feed='+encodeURIComponent(url)); | ||
| 330 | + } | ||
| 331 | + }; | ||
| 332 | +}(); | ||
| 333 | +Ext.onReady(Viewer.init, Viewer); | ||
| 334 | + | ||
| 335 | +String.prototype.ellipse = function(maxLength){ | ||
| 336 | + if(this.length > maxLength){ | ||
| 337 | + return this.substr(0, maxLength-3) + '...'; | ||
| 338 | + } | ||
| 339 | + return this; | ||
| 340 | +}; | ||
| 341 | + |
thirdpartyjs/extjs/examples/layout/images/Thumbs.db
0 → 100644
No preview for this file type
thirdpartyjs/extjs/examples/layout/images/add-feed.gif
0 → 100644
1.03 KB
thirdpartyjs/extjs/examples/layout/images/article.gif
0 → 100644
954 Bytes
thirdpartyjs/extjs/examples/layout/images/bullet.gif
0 → 100644
835 Bytes
thirdpartyjs/extjs/examples/layout/images/cancel.gif
0 → 100644
1.25 KB
thirdpartyjs/extjs/examples/layout/images/comment-bg.gif
0 → 100644
838 Bytes
thirdpartyjs/extjs/examples/layout/images/feed-item.gif
0 → 100644
954 Bytes
thirdpartyjs/extjs/examples/layout/images/grid-hrow.gif
0 → 100644
825 Bytes
thirdpartyjs/extjs/examples/layout/images/header-bar.gif
0 → 100644
927 Bytes
thirdpartyjs/extjs/examples/layout/images/header.gif
0 → 100644
834 Bytes
thirdpartyjs/extjs/examples/layout/images/myfeeds.gif
0 → 100644
1.19 KB
thirdpartyjs/extjs/examples/layout/images/new_tab.gif
0 → 100644
956 Bytes
thirdpartyjs/extjs/examples/layout/images/new_window.gif
0 → 100644
1019 Bytes
thirdpartyjs/extjs/examples/layout/images/post-bg.gif
0 → 100644
852 Bytes
thirdpartyjs/extjs/examples/layout/images/preview.gif
0 → 100644
1.17 KB
thirdpartyjs/extjs/examples/layout/images/rss.gif
0 → 100644
1.02 KB
thirdpartyjs/extjs/examples/layout/images/signin.gif
0 → 100644
1.24 KB
thirdpartyjs/extjs/examples/layout/images/signout.gif
0 → 100644
1.3 KB
thirdpartyjs/extjs/examples/layout/images/suggested.gif
0 → 100644
1.44 KB
thirdpartyjs/extjs/examples/layout/images/tab-close-on.gif
0 → 100644
880 Bytes
thirdpartyjs/extjs/examples/layout/images/tab-close.gif
0 → 100644
859 Bytes
thirdpartyjs/extjs/examples/layout/images/toolbar.gif
0 → 100644
859 Bytes
thirdpartyjs/extjs/examples/layout/images/wait.gif
0 → 100644
1.07 KB
thirdpartyjs/extjs/examples/layout/images/warning.gif
0 → 100644
960 Bytes
thirdpartyjs/extjs/examples/layout/nested.html
0 → 100644
| 1 | +<html> | ||
| 2 | +<head> | ||
| 3 | + <title>Complex Layout</title> | ||
| 4 | + <link rel="stylesheet" type="text/css" href="../../resources/css/ext-all.css" /> | ||
| 5 | + | ||
| 6 | + <!-- GC --> <!-- LIBS --> <script type="text/javascript" src="../../adapter/ext/ext-base.js"></script> <!-- ENDLIBS --> | ||
| 7 | + <script type="text/javascript" src="../../ext-all.js"></script> | ||
| 8 | + | ||
| 9 | + <style type="text/css"> | ||
| 10 | + html, body { | ||
| 11 | + font:normal 12px verdana; | ||
| 12 | + margin:0; | ||
| 13 | + padding:0; | ||
| 14 | + border:0 none; | ||
| 15 | + overflow:hidden; | ||
| 16 | + height:100%; | ||
| 17 | + } | ||
| 18 | + #header{ | ||
| 19 | + background: url(images/header-bar.gif) repeat-x bottom; | ||
| 20 | + border-bottom: 1px solid #083772; | ||
| 21 | + padding:5px 4px; | ||
| 22 | + } | ||
| 23 | + #footer{ | ||
| 24 | + background: url(images/header-bar.gif) repeat-x bottom; | ||
| 25 | + border-top: 1px solid #083772; | ||
| 26 | + padding:2px 4px; | ||
| 27 | + color:white; | ||
| 28 | + font:normal 8pt arial,helvetica; | ||
| 29 | + } | ||
| 30 | + #nav { | ||
| 31 | + } | ||
| 32 | + #nav, #inner1, #inner2 { | ||
| 33 | + padding:10px; | ||
| 34 | + } | ||
| 35 | + #content p { | ||
| 36 | + margin:5px; | ||
| 37 | + } | ||
| 38 | + #nav li { | ||
| 39 | + padding:2px; | ||
| 40 | + padding-left:10px; | ||
| 41 | + background-image:url(images/bullet.gif); | ||
| 42 | + background-position: -3px 6px; | ||
| 43 | + background-repeat: no-repeat; | ||
| 44 | + font-size:8pt; | ||
| 45 | + display: block; | ||
| 46 | + } | ||
| 47 | + .x-layout-panel-north, .x-layout-panel-south, #content .x-layout-panel-center{ | ||
| 48 | + border:0px none; | ||
| 49 | + } | ||
| 50 | + #content .x-layout-panel-south{ | ||
| 51 | + border-top:1px solid #aca899; | ||
| 52 | + } | ||
| 53 | + #content .x-layout-panel-center{ | ||
| 54 | + border-bottom:1px solid #aca899; | ||
| 55 | + } | ||
| 56 | + </style> | ||
| 57 | + <script type="text/javascript"> | ||
| 58 | + Example = function(){ | ||
| 59 | + return { | ||
| 60 | + init : function(){ | ||
| 61 | + var layout = new Ext.BorderLayout(document.body, { | ||
| 62 | + west: { | ||
| 63 | + split:true, | ||
| 64 | + initialSize: 200, | ||
| 65 | + titlebar: true, | ||
| 66 | + collapsible: true, | ||
| 67 | + minSize: 100, | ||
| 68 | + maxSize: 400 | ||
| 69 | + }, | ||
| 70 | + center: { | ||
| 71 | + autoScroll: false | ||
| 72 | + } | ||
| 73 | + }); | ||
| 74 | + layout.beginUpdate(); | ||
| 75 | + | ||
| 76 | + layout.add('west', new Ext.ContentPanel('nav', {title: 'Navigation', fitToFrame:true, closable:false})); | ||
| 77 | + var innerLayout = new Ext.BorderLayout('content', { | ||
| 78 | + south: { | ||
| 79 | + split:true, | ||
| 80 | + initialSize: 200, | ||
| 81 | + minSize: 100, | ||
| 82 | + maxSize: 400, | ||
| 83 | + autoScroll:true, | ||
| 84 | + collapsible:true, | ||
| 85 | + titlebar: true | ||
| 86 | + }, | ||
| 87 | + center: { | ||
| 88 | + autoScroll:true | ||
| 89 | + } | ||
| 90 | + }); | ||
| 91 | + innerLayout.add('south', new Ext.ContentPanel('inner1', "More Information")); | ||
| 92 | + innerLayout.add('center', new Ext.ContentPanel('inner2')); | ||
| 93 | + layout.add('center', new Ext.NestedLayoutPanel(innerLayout)); | ||
| 94 | + layout.endUpdate(); | ||
| 95 | + } | ||
| 96 | + }; | ||
| 97 | + | ||
| 98 | + }(); | ||
| 99 | + Ext.EventManager.onDocumentReady(Example.init, Example, true); | ||
| 100 | + </script> | ||
| 101 | +</head> | ||
| 102 | +<body class="xtheme-gray"> | ||
| 103 | +<script type="text/javascript" src="../examples.js"></script><!-- EXAMPLES --> | ||
| 104 | +<div id ="container"> | ||
| 105 | + <div id="nav" class="x-layout-inactive-content"> | ||
| 106 | + <ul> | ||
| 107 | + <li><a href="http://developer.yahoo.com/yui/" target="_blank"><img src="/blog/images/icons/yahoo.gif" width="16" height="16" border="0" align="absmiddle"> Yahoo! UI Library</a></li> | ||
| 108 | + <li><a href="http://www.ajaxian.com/" target="_blank"><img src="/blog/images/icons/ajaxian.gif" width="16" height="16" border="0" align="absmiddle"> Ajaxian.com</a></li> | ||
| 109 | + </ul> | ||
| 110 | + </div> | ||
| 111 | + <div id="content" class="x-layout-inactive-content"></div> | ||
| 112 | + <div id="inner1" class="x-layout-inactive-content"> | ||
| 113 | + <p>This layout uses the gray theme. To make a layout use the gray theme, add the class .xtheme-gray to the body or a container element.</p> | ||
| 114 | + <p>Vestibulum semper. Nullam non odio. Aliquam quam. Mauris eu lectus non nunc auctor ullamcorper. Sed tincidunt molestie enim. Phasellus lobortis justo sit amet quam. Duis nulla erat, varius a, cursus in, tempor sollicitudin, mauris. Aliquam mi velit, consectetuer mattis, consequat tristique, pulvinar ac, nisl. Aliquam mattis vehicula elit. Proin quis leo sed tellus scelerisque molestie. Quisque luctus. Integer mattis. Donec id augue sed leo aliquam egestas. Quisque in sem. Donec dictum enim in dolor. Praesent non erat. Nulla ultrices vestibulum quam.</p> | ||
| 115 | + <p>Duis hendrerit, est vel lobortis sagittis, tortor erat scelerisque tortor, sed pellentesque sem enim id metus. Maecenas at pede. Nulla velit libero, dictum at, mattis quis, sagittis vel, ante. Phasellus faucibus rutrum dui. Cras mauris elit, bibendum at, feugiat non, porta id, neque. Nulla et felis nec odio mollis vehicula. Donec elementum tincidunt mauris. Duis vel dui. Fusce iaculis enim ac nulla. In risus.</p> | ||
| 116 | + <p>Donec gravida. Donec et enim. Morbi sollicitudin, lacus a facilisis pulvinar, odio turpis dapibus elit, in tincidunt turpis felis nec libero. Nam vestibulum tempus ipsum. In hac habitasse platea dictumst. Nulla facilisi. Donec semper ligula. Donec commodo tortor in quam. Etiam massa. Ut tempus ligula eget tellus. Curabitur id velit ut velit varius commodo. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nulla facilisi. Fusce ornare pellentesque libero. Nunc rhoncus. Suspendisse potenti. Ut consequat, leo eu accumsan vehicula, justo sem lobortis elit, ac sollicitudin ipsum neque nec ante.</p> | ||
| 117 | + <p>Aliquam elementum mauris id sem. Vivamus varius, est ut nonummy consectetuer, nulla quam bibendum velit, ac gravida nisi felis sit amet urna. Aliquam nec risus. Maecenas lacinia purus ut velit. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Suspendisse sit amet dui vitae lacus fermentum sodales. Donec varius dapibus nisl. Praesent at velit id risus convallis bibendum. Aliquam felis nibh, rutrum nec, blandit non, mattis sit amet, magna. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Etiam varius dignissim nibh. Quisque id orci ac ante hendrerit molestie. Aliquam malesuada enim non neque.</p> | ||
| 118 | + </div> | ||
| 119 | + <div id="inner2" class="x-layout-inactive-content"> | ||
| 120 | + <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed metus nibh, sodales a, porta at, vulputate eget, dui. Pellentesque ut nisl. Maecenas tortor turpis, interdum non, sodales non, iaculis ac, lacus. Vestibulum auctor, tortor quis iaculis malesuada, libero lectus bibendum purus, sit amet tincidunt quam turpis vel lacus. In pellentesque nisl non sem. Suspendisse nunc sem, pretium eget, cursus a, fringilla vel, urna. Aliquam commodo ullamcorper erat. Nullam vel justo in neque porttitor laoreet. Aenean lacus dui, consequat eu, adipiscing eget, nonummy non, nisi. Morbi nunc est, dignissim non, ornare sed, luctus eu, massa. Vivamus eget quam. Vivamus tincidunt diam nec urna. Curabitur velit. Quisque dolor magna, ornare sed, elementum porta, luctus in, leo.</p> | ||
| 121 | + <p>Donec quis dui. Sed imperdiet. Nunc consequat, est eu sollicitudin gravida, mauris ligula lacinia mauris, eu porta dui nisl in velit. Nam congue, odio id auctor nonummy, augue lectus euismod nunc, in tristique turpis dolor sed urna. Donec sit amet quam eget diam fermentum pharetra. Integer tincidunt arcu ut purus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla blandit malesuada odio. Nam augue. Aenean molestie sapien in mi. Suspendisse tincidunt. Pellentesque tempus dui vitae sapien. Donec aliquam ipsum sit amet pede. Sed scelerisque mi a erat. Curabitur rutrum ullamcorper risus. Maecenas et lorem ut felis dictum viverra. Fusce sem. Donec pharetra nibh sit amet sapien.</p> | ||
| 122 | + <p>Aenean ut orci sed ligula consectetuer pretium. Aliquam odio. Nam pellentesque enim. Nam tincidunt condimentum nisi. Maecenas convallis luctus ligula. Donec accumsan ornare risus. Vestibulum id magna a nunc posuere laoreet. Integer iaculis leo vitae nibh. Nam vulputate, mauris vitae luctus pharetra, pede neque bibendum tellus, facilisis commodo diam nisi eget lacus. Duis consectetuer pulvinar nisi. Cras interdum ultricies sem. Nullam tristique. Suspendisse elementum purus eu nisl. Nulla facilisi. Phasellus ultricies ullamcorper lorem. Sed euismod ante vitae lacus. Nam nunc leo, congue vehicula, luctus ac, tempus non, ante. Morbi suscipit purus a nulla. Sed eu diam.</p> | ||
| 123 | + </div> | ||
| 124 | +</div> | ||
| 125 | + </body> | ||
| 126 | +</html> |
thirdpartyjs/extjs/examples/layout/simple.html
0 → 100644
| 1 | +<html> | ||
| 2 | +<head> | ||
| 3 | + <title>Simple Layout</title> | ||
| 4 | + <link rel="stylesheet" type="text/css" href="../../resources/css/ext-all.css"/> | ||
| 5 | + <!-- GC --> <!-- LIBS --> <script type="text/javascript" src="../../adapter/ext/ext-base.js"></script> <!-- ENDLIBS --> | ||
| 6 | + <script type="text/javascript" src="../../ext-all.js"></script> | ||
| 7 | + | ||
| 8 | + <style type="text/css"> | ||
| 9 | + html, body { | ||
| 10 | + font:normal 12px verdana; | ||
| 11 | + margin:0; | ||
| 12 | + padding:0; | ||
| 13 | + border:0 none; | ||
| 14 | + overflow:hidden; | ||
| 15 | + height:100%; | ||
| 16 | + } | ||
| 17 | + #header{ | ||
| 18 | + background: url(images/header-bar.gif) repeat-x bottom; | ||
| 19 | + border-bottom: 1px solid #083772; | ||
| 20 | + padding:5px 4px; | ||
| 21 | + } | ||
| 22 | + #footer{ | ||
| 23 | + background: url(images/header-bar.gif) repeat-x bottom; | ||
| 24 | + border-top: 1px solid #083772; | ||
| 25 | + padding:2px 4px; | ||
| 26 | + color:white; | ||
| 27 | + font:normal 8pt arial,helvetica; | ||
| 28 | + } | ||
| 29 | + #nav { | ||
| 30 | + background-color:#c3daf9; | ||
| 31 | + } | ||
| 32 | + #nav, #content { | ||
| 33 | + padding:10px; | ||
| 34 | + } | ||
| 35 | + #content p { | ||
| 36 | + margin:5px; | ||
| 37 | + } | ||
| 38 | + #nav li { | ||
| 39 | + padding:2px; | ||
| 40 | + padding-left:10px; | ||
| 41 | + background-image:url(images/bullet.gif); | ||
| 42 | + background-position: -3px 6px; | ||
| 43 | + background-repeat: no-repeat; | ||
| 44 | + font-size:8pt; | ||
| 45 | + display: block; | ||
| 46 | + } | ||
| 47 | + .x-layout-panel{ | ||
| 48 | + border:0px none; | ||
| 49 | + } | ||
| 50 | + </style> | ||
| 51 | + <script type="text/javascript"> | ||
| 52 | + Example = function(){ | ||
| 53 | + return { | ||
| 54 | + init : function(){ | ||
| 55 | + var layout = new Ext.BorderLayout(document.body, { | ||
| 56 | + north: { | ||
| 57 | + split:false, | ||
| 58 | + initialSize: 35 | ||
| 59 | + }, | ||
| 60 | + south: { | ||
| 61 | + split:false, | ||
| 62 | + initialSize: 20 | ||
| 63 | + }, | ||
| 64 | + west: { | ||
| 65 | + split:false, | ||
| 66 | + initialSize: 200, | ||
| 67 | + collapsible: false | ||
| 68 | + }, | ||
| 69 | + center: { | ||
| 70 | + autoScroll: true | ||
| 71 | + } | ||
| 72 | + }); | ||
| 73 | + layout.beginUpdate(); | ||
| 74 | + layout.add('north', new Ext.ContentPanel('header', {fitToFrame:true})); | ||
| 75 | + layout.add('south', new Ext.ContentPanel('footer', {fitToFrame:true})); | ||
| 76 | + layout.add('west', new Ext.ContentPanel('nav', {fitToFrame:true})); | ||
| 77 | + layout.add('center', new Ext.ContentPanel('content')); | ||
| 78 | + layout.endUpdate(); | ||
| 79 | + } | ||
| 80 | + }; | ||
| 81 | + | ||
| 82 | + }(); | ||
| 83 | + Ext.EventManager.onDocumentReady(Example.init, Example, true); | ||
| 84 | + </script> | ||
| 85 | +</head> | ||
| 86 | +<body> | ||
| 87 | +<script type="text/javascript" src="../examples.js"></script><!-- EXAMPLES --> | ||
| 88 | +<div id ="container"> | ||
| 89 | + <div id="header" class="x-layout-inactive-content"> | ||
| 90 | + <img src="/blog/images/jsblog.gif" width="160" height="27" alt="Jack Slocum's Blog" border="0"/> | ||
| 91 | + </div> | ||
| 92 | + <div id="nav" class="x-layout-inactive-content"> | ||
| 93 | + <ul> | ||
| 94 | + <li><a href="http://developer.yahoo.com/yui/" target="_blank"><img src="/blog/images/icons/yahoo.gif" width="16" height="16" border="0" align="absmiddle"> Yahoo! UI Library</a></li> | ||
| 95 | + <li><a href="http://www.ajaxian.com/" target="_blank"><img src="/blog/images/icons/ajaxian.gif" width="16" height="16" border="0" align="absmiddle"> Ajaxian.com</a></li> | ||
| 96 | + </ul> | ||
| 97 | + </div> | ||
| 98 | + <div id="content" class="x-layout-inactive-content"> | ||
| 99 | + <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed metus nibh, sodales a, porta at, vulputate eget, dui. Pellentesque ut nisl. Maecenas tortor turpis, interdum non, sodales non, iaculis ac, lacus. Vestibulum auctor, tortor quis iaculis malesuada, libero lectus bibendum purus, sit amet tincidunt quam turpis vel lacus. In pellentesque nisl non sem. Suspendisse nunc sem, pretium eget, cursus a, fringilla vel, urna. Aliquam commodo ullamcorper erat. Nullam vel justo in neque porttitor laoreet. Aenean lacus dui, consequat eu, adipiscing eget, nonummy non, nisi. Morbi nunc est, dignissim non, ornare sed, luctus eu, massa. Vivamus eget quam. Vivamus tincidunt diam nec urna. Curabitur velit. Quisque dolor magna, ornare sed, elementum porta, luctus in, leo.</p> | ||
| 100 | + <p>Donec quis dui. Sed imperdiet. Nunc consequat, est eu sollicitudin gravida, mauris ligula lacinia mauris, eu porta dui nisl in velit. Nam congue, odio id auctor nonummy, augue lectus euismod nunc, in tristique turpis dolor sed urna. Donec sit amet quam eget diam fermentum pharetra. Integer tincidunt arcu ut purus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla blandit malesuada odio. Nam augue. Aenean molestie sapien in mi. Suspendisse tincidunt. Pellentesque tempus dui vitae sapien. Donec aliquam ipsum sit amet pede. Sed scelerisque mi a erat. Curabitur rutrum ullamcorper risus. Maecenas et lorem ut felis dictum viverra. Fusce sem. Donec pharetra nibh sit amet sapien.</p> | ||
| 101 | + <p>Aenean ut orci sed ligula consectetuer pretium. Aliquam odio. Nam pellentesque enim. Nam tincidunt condimentum nisi. Maecenas convallis luctus ligula. Donec accumsan ornare risus. Vestibulum id magna a nunc posuere laoreet. Integer iaculis leo vitae nibh. Nam vulputate, mauris vitae luctus pharetra, pede neque bibendum tellus, facilisis commodo diam nisi eget lacus. Duis consectetuer pulvinar nisi. Cras interdum ultricies sem. Nullam tristique. Suspendisse elementum purus eu nisl. Nulla facilisi. Phasellus ultricies ullamcorper lorem. Sed euismod ante vitae lacus. Nam nunc leo, congue vehicula, luctus ac, tempus non, ante. Morbi suscipit purus a nulla. Sed eu diam.</p> | ||
| 102 | + <p>Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Cras imperdiet felis id velit. Ut non quam at sem dictum ullamcorper. Vestibulum pharetra purus sed pede. Aliquam ultrices, nunc in varius mattis, felis justo pretium magna, eget laoreet justo eros id eros. Aliquam elementum diam fringilla nulla. Praesent laoreet sapien vel metus. Cras tempus, sapien condimentum dictum dapibus, lorem augue fringilla orci, ut tincidunt eros nisi eget turpis. Nullam nunc nunc, eleifend et, dictum et, pharetra a, neque. Ut feugiat. Aliquam erat volutpat. Donec pretium odio nec felis. Phasellus sagittis lacus eget sapien. Donec est. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae;</p> | ||
| 103 | + <p>Vestibulum semper. Nullam non odio. Aliquam quam. Mauris eu lectus non nunc auctor ullamcorper. Sed tincidunt molestie enim. Phasellus lobortis justo sit amet quam. Duis nulla erat, varius a, cursus in, tempor sollicitudin, mauris. Aliquam mi velit, consectetuer mattis, consequat tristique, pulvinar ac, nisl. Aliquam mattis vehicula elit. Proin quis leo sed tellus scelerisque molestie. Quisque luctus. Integer mattis. Donec id augue sed leo aliquam egestas. Quisque in sem. Donec dictum enim in dolor. Praesent non erat. Nulla ultrices vestibulum quam.</p> | ||
| 104 | + <p>Duis hendrerit, est vel lobortis sagittis, tortor erat scelerisque tortor, sed pellentesque sem enim id metus. Maecenas at pede. Nulla velit libero, dictum at, mattis quis, sagittis vel, ante. Phasellus faucibus rutrum dui. Cras mauris elit, bibendum at, feugiat non, porta id, neque. Nulla et felis nec odio mollis vehicula. Donec elementum tincidunt mauris. Duis vel dui. Fusce iaculis enim ac nulla. In risus.</p> | ||
| 105 | + <p>Donec gravida. Donec et enim. Morbi sollicitudin, lacus a facilisis pulvinar, odio turpis dapibus elit, in tincidunt turpis felis nec libero. Nam vestibulum tempus ipsum. In hac habitasse platea dictumst. Nulla facilisi. Donec semper ligula. Donec commodo tortor in quam. Etiam massa. Ut tempus ligula eget tellus. Curabitur id velit ut velit varius commodo. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nulla facilisi. Fusce ornare pellentesque libero. Nunc rhoncus. Suspendisse potenti. Ut consequat, leo eu accumsan vehicula, justo sem lobortis elit, ac sollicitudin ipsum neque nec ante.</p> | ||
| 106 | + <p>Aliquam elementum mauris id sem. Vivamus varius, est ut nonummy consectetuer, nulla quam bibendum velit, ac gravida nisi felis sit amet urna. Aliquam nec risus. Maecenas lacinia purus ut velit. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Suspendisse sit amet dui vitae lacus fermentum sodales. Donec varius dapibus nisl. Praesent at velit id risus convallis bibendum. Aliquam felis nibh, rutrum nec, blandit non, mattis sit amet, magna. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Etiam varius dignissim nibh. Quisque id orci ac ante hendrerit molestie. Aliquam malesuada enim non neque.</p> | ||
| 107 | + <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed metus nibh, sodales a, porta at, vulputate eget, dui. Pellentesque ut nisl. Maecenas tortor turpis, interdum non, sodales non, iaculis ac, lacus. Vestibulum auctor, tortor quis iaculis malesuada, libero lectus bibendum purus, sit amet tincidunt quam turpis vel lacus. In pellentesque nisl non sem. Suspendisse nunc sem, pretium eget, cursus a, fringilla vel, urna. Aliquam commodo ullamcorper erat. Nullam vel justo in neque porttitor laoreet. Aenean lacus dui, consequat eu, adipiscing eget, nonummy non, nisi. Morbi nunc est, dignissim non, ornare sed, luctus eu, massa. Vivamus eget quam. Vivamus tincidunt diam nec urna. Curabitur velit. Quisque dolor magna, ornare sed, elementum porta, luctus in, leo.</p> | ||
| 108 | + <p>Donec quis dui. Sed imperdiet. Nunc consequat, est eu sollicitudin gravida, mauris ligula lacinia mauris, eu porta dui nisl in velit. Nam congue, odio id auctor nonummy, augue lectus euismod nunc, in tristique turpis dolor sed urna. Donec sit amet quam eget diam fermentum pharetra. Integer tincidunt arcu ut purus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla blandit malesuada odio. Nam augue. Aenean molestie sapien in mi. Suspendisse tincidunt. Pellentesque tempus dui vitae sapien. Donec aliquam ipsum sit amet pede. Sed scelerisque mi a erat. Curabitur rutrum ullamcorper risus. Maecenas et lorem ut felis dictum viverra. Fusce sem. Donec pharetra nibh sit amet sapien.</p> | ||
| 109 | + <p>Aenean ut orci sed ligula consectetuer pretium. Aliquam odio. Nam pellentesque enim. Nam tincidunt condimentum nisi. Maecenas convallis luctus ligula. Donec accumsan ornare risus. Vestibulum id magna a nunc posuere laoreet. Integer iaculis leo vitae nibh. Nam vulputate, mauris vitae luctus pharetra, pede neque bibendum tellus, facilisis commodo diam nisi eget lacus. Duis consectetuer pulvinar nisi. Cras interdum ultricies sem. Nullam tristique. Suspendisse elementum purus eu nisl. Nulla facilisi. Phasellus ultricies ullamcorper lorem. Sed euismod ante vitae lacus. Nam nunc leo, congue vehicula, luctus ac, tempus non, ante. Morbi suscipit purus a nulla. Sed eu diam.</p> | ||
| 110 | + <p>Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Cras imperdiet felis id velit. Ut non quam at sem dictum ullamcorper. Vestibulum pharetra purus sed pede. Aliquam ultrices, nunc in varius mattis, felis justo pretium magna, eget laoreet justo eros id eros. Aliquam elementum diam fringilla nulla. Praesent laoreet sapien vel metus. Cras tempus, sapien condimentum dictum dapibus, lorem augue fringilla orci, ut tincidunt eros nisi eget turpis. Nullam nunc nunc, eleifend et, dictum et, pharetra a, neque. Ut feugiat. Aliquam erat volutpat. Donec pretium odio nec felis. Phasellus sagittis lacus eget sapien. Donec est. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae;</p> | ||
| 111 | + <p>Vestibulum semper. Nullam non odio. Aliquam quam. Mauris eu lectus non nunc auctor ullamcorper. Sed tincidunt molestie enim. Phasellus lobortis justo sit amet quam. Duis nulla erat, varius a, cursus in, tempor sollicitudin, mauris. Aliquam mi velit, consectetuer mattis, consequat tristique, pulvinar ac, nisl. Aliquam mattis vehicula elit. Proin quis leo sed tellus scelerisque molestie. Quisque luctus. Integer mattis. Donec id augue sed leo aliquam egestas. Quisque in sem. Donec dictum enim in dolor. Praesent non erat. Nulla ultrices vestibulum quam.</p> | ||
| 112 | + <p>Duis hendrerit, est vel lobortis sagittis, tortor erat scelerisque tortor, sed pellentesque sem enim id metus. Maecenas at pede. Nulla velit libero, dictum at, mattis quis, sagittis vel, ante. Phasellus faucibus rutrum dui. Cras mauris elit, bibendum at, feugiat non, porta id, neque. Nulla et felis nec odio mollis vehicula. Donec elementum tincidunt mauris. Duis vel dui. Fusce iaculis enim ac nulla. In risus.</p> | ||
| 113 | + <p>Donec gravida. Donec et enim. Morbi sollicitudin, lacus a facilisis pulvinar, odio turpis dapibus elit, in tincidunt turpis felis nec libero. Nam vestibulum tempus ipsum. In hac habitasse platea dictumst. Nulla facilisi. Donec semper ligula. Donec commodo tortor in quam. Etiam massa. Ut tempus ligula eget tellus. Curabitur id velit ut velit varius commodo. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nulla facilisi. Fusce ornare pellentesque libero. Nunc rhoncus. Suspendisse potenti. Ut consequat, leo eu accumsan vehicula, justo sem lobortis elit, ac sollicitudin ipsum neque nec ante.</p> | ||
| 114 | + <p>Aliquam elementum mauris id sem. Vivamus varius, est ut nonummy consectetuer, nulla quam bibendum velit, ac gravida nisi felis sit amet urna. Aliquam nec risus. Maecenas lacinia purus ut velit. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Suspendisse sit amet dui vitae lacus fermentum sodales. Donec varius dapibus nisl. Praesent at velit id risus convallis bibendum. Aliquam felis nibh, rutrum nec, blandit non, mattis sit amet, magna. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Etiam varius dignissim nibh. Quisque id orci ac ante hendrerit molestie. Aliquam malesuada enim non neque.</p> | ||
| 115 | + <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed metus nibh, sodales a, porta at, vulputate eget, dui. Pellentesque ut nisl. Maecenas tortor turpis, interdum non, sodales non, iaculis ac, lacus. Vestibulum auctor, tortor quis iaculis malesuada, libero lectus bibendum purus, sit amet tincidunt quam turpis vel lacus. In pellentesque nisl non sem. Suspendisse nunc sem, pretium eget, cursus a, fringilla vel, urna. Aliquam commodo ullamcorper erat. Nullam vel justo in neque porttitor laoreet. Aenean lacus dui, consequat eu, adipiscing eget, nonummy non, nisi. Morbi nunc est, dignissim non, ornare sed, luctus eu, massa. Vivamus eget quam. Vivamus tincidunt diam nec urna. Curabitur velit. Quisque dolor magna, ornare sed, elementum porta, luctus in, leo.</p> | ||
| 116 | + <p>Donec quis dui. Sed imperdiet. Nunc consequat, est eu sollicitudin gravida, mauris ligula lacinia mauris, eu porta dui nisl in velit. Nam congue, odio id auctor nonummy, augue lectus euismod nunc, in tristique turpis dolor sed urna. Donec sit amet quam eget diam fermentum pharetra. Integer tincidunt arcu ut purus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla blandit malesuada odio. Nam augue. Aenean molestie sapien in mi. Suspendisse tincidunt. Pellentesque tempus dui vitae sapien. Donec aliquam ipsum sit amet pede. Sed scelerisque mi a erat. Curabitur rutrum ullamcorper risus. Maecenas et lorem ut felis dictum viverra. Fusce sem. Donec pharetra nibh sit amet sapien.</p> | ||
| 117 | + <p>Aenean ut orci sed ligula consectetuer pretium. Aliquam odio. Nam pellentesque enim. Nam tincidunt condimentum nisi. Maecenas convallis luctus ligula. Donec accumsan ornare risus. Vestibulum id magna a nunc posuere laoreet. Integer iaculis leo vitae nibh. Nam vulputate, mauris vitae luctus pharetra, pede neque bibendum tellus, facilisis commodo diam nisi eget lacus. Duis consectetuer pulvinar nisi. Cras interdum ultricies sem. Nullam tristique. Suspendisse elementum purus eu nisl. Nulla facilisi. Phasellus ultricies ullamcorper lorem. Sed euismod ante vitae lacus. Nam nunc leo, congue vehicula, luctus ac, tempus non, ante. Morbi suscipit purus a nulla. Sed eu diam.</p> | ||
| 118 | + <p>Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Cras imperdiet felis id velit. Ut non quam at sem dictum ullamcorper. Vestibulum pharetra purus sed pede. Aliquam ultrices, nunc in varius mattis, felis justo pretium magna, eget laoreet justo eros id eros. Aliquam elementum diam fringilla nulla. Praesent laoreet sapien vel metus. Cras tempus, sapien condimentum dictum dapibus, lorem augue fringilla orci, ut tincidunt eros nisi eget turpis. Nullam nunc nunc, eleifend et, dictum et, pharetra a, neque. Ut feugiat. Aliquam erat volutpat. Donec pretium odio nec felis. Phasellus sagittis lacus eget sapien. Donec est. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae;</p> | ||
| 119 | + <p>Vestibulum semper. Nullam non odio. Aliquam quam. Mauris eu lectus non nunc auctor ullamcorper. Sed tincidunt molestie enim. Phasellus lobortis justo sit amet quam. Duis nulla erat, varius a, cursus in, tempor sollicitudin, mauris. Aliquam mi velit, consectetuer mattis, consequat tristique, pulvinar ac, nisl. Aliquam mattis vehicula elit. Proin quis leo sed tellus scelerisque molestie. Quisque luctus. Integer mattis. Donec id augue sed leo aliquam egestas. Quisque in sem. Donec dictum enim in dolor. Praesent non erat. Nulla ultrices vestibulum quam.</p> | ||
| 120 | + <p>Duis hendrerit, est vel lobortis sagittis, tortor erat scelerisque tortor, sed pellentesque sem enim id metus. Maecenas at pede. Nulla velit libero, dictum at, mattis quis, sagittis vel, ante. Phasellus faucibus rutrum dui. Cras mauris elit, bibendum at, feugiat non, porta id, neque. Nulla et felis nec odio mollis vehicula. Donec elementum tincidunt mauris. Duis vel dui. Fusce iaculis enim ac nulla. In risus.</p> | ||
| 121 | + <p>Donec gravida. Donec et enim. Morbi sollicitudin, lacus a facilisis pulvinar, odio turpis dapibus elit, in tincidunt turpis felis nec libero. Nam vestibulum tempus ipsum. In hac habitasse platea dictumst. Nulla facilisi. Donec semper ligula. Donec commodo tortor in quam. Etiam massa. Ut tempus ligula eget tellus. Curabitur id velit ut velit varius commodo. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nulla facilisi. Fusce ornare pellentesque libero. Nunc rhoncus. Suspendisse potenti. Ut consequat, leo eu accumsan vehicula, justo sem lobortis elit, ac sollicitudin ipsum neque nec ante.</p> | ||
| 122 | + <p>Aliquam elementum mauris id sem. Vivamus varius, est ut nonummy consectetuer, nulla quam bibendum velit, ac gravida nisi felis sit amet urna. Aliquam nec risus. Maecenas lacinia purus ut velit. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Suspendisse sit amet dui vitae lacus fermentum sodales. Donec varius dapibus nisl. Praesent at velit id risus convallis bibendum. Aliquam felis nibh, rutrum nec, blandit non, mattis sit amet, magna. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Etiam varius dignissim nibh. Quisque id orci ac ante hendrerit molestie. Aliquam malesuada enim non neque.</p> | ||
| 123 | + </div> | ||
| 124 | + <div id="footer" class="x-layout-inactive-content"> | ||
| 125 | + Copyright 2006 Jack Slocum | ||
| 126 | + </div> | ||
| 127 | +</div> | ||
| 128 | + </body> | ||
| 129 | +</html> |
thirdpartyjs/extjs/examples/lib.css
0 → 100644
| 1 | +/* | ||
| 2 | + * Ext JS Library 1.1 Beta 1 | ||
| 3 | + * Copyright(c) 2006-2007, Ext JS, LLC. | ||
| 4 | + * licensing@extjs.com | ||
| 5 | + * | ||
| 6 | + * http://www.extjs.com/license | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +#lib-bar { | ||
| 10 | + position:absolute; | ||
| 11 | + top:0; | ||
| 12 | + right:0; | ||
| 13 | + z-index:100; | ||
| 14 | +} | ||
| 15 | +#lib-bar-inner { | ||
| 16 | + padding:4px; | ||
| 17 | +} | ||
| 18 | +#lib-bar * { | ||
| 19 | + font-size:11px; | ||
| 20 | +} | ||
| 0 | \ No newline at end of file | 21 | \ No newline at end of file |
thirdpartyjs/extjs/examples/locale/PagingMemoryProxy.js
0 → 100644
| 1 | +/* | ||
| 2 | + * Ext JS Library 1.1 Beta 1 | ||
| 3 | + * Copyright(c) 2006-2007, Ext JS, LLC. | ||
| 4 | + * licensing@extjs.com | ||
| 5 | + * | ||
| 6 | + * http://www.extjs.com/license | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +/* Fix for Opera, which does not seem to include the map function on Array's */ | ||
| 10 | +if(!Array.prototype.map){ | ||
| 11 | + Array.prototype.map = function(fun){ | ||
| 12 | + var len = this.length; | ||
| 13 | + if(typeof fun != "function"){ | ||
| 14 | + throw new TypeError(); | ||
| 15 | + } | ||
| 16 | + var res = new Array(len); | ||
| 17 | + var thisp = arguments[1]; | ||
| 18 | + for(var i = 0; i < len; i++){ | ||
| 19 | + if(i in this){ | ||
| 20 | + res[i] = fun.call(thisp, this[i], i, this); | ||
| 21 | + } | ||
| 22 | + } | ||
| 23 | + return res; | ||
| 24 | + }; | ||
| 25 | +} | ||
| 26 | + | ||
| 27 | +/* Paging Memory Proxy, allows to use paging grid with in memory dataset */ | ||
| 28 | +Ext.data.PagingMemoryProxy = function(data) { | ||
| 29 | + Ext.data.PagingMemoryProxy.superclass.constructor.call(this); | ||
| 30 | + this.data = data; | ||
| 31 | +}; | ||
| 32 | + | ||
| 33 | +Ext.extend(Ext.data.PagingMemoryProxy, Ext.data.MemoryProxy, { | ||
| 34 | + load : function(params, reader, callback, scope, arg) { | ||
| 35 | + params = params || {}; | ||
| 36 | + var result; | ||
| 37 | + try { | ||
| 38 | + result = reader.readRecords(this.data); | ||
| 39 | + }catch(e){ | ||
| 40 | + this.fireEvent("loadexception", this, arg, null, e); | ||
| 41 | + callback.call(scope, null, arg, false); | ||
| 42 | + return; | ||
| 43 | + } | ||
| 44 | + | ||
| 45 | + // filtering | ||
| 46 | + if (params.filter!==undefined) { | ||
| 47 | + result.records = result.records.filter(function(el){ | ||
| 48 | + if (typeof(el)=="object"){ | ||
| 49 | + var att = params.filterCol || 0; | ||
| 50 | + return String(el.data[att]).match(params.filter)?true:false; | ||
| 51 | + } else { | ||
| 52 | + return String(el).match(params.filter)?true:false; | ||
| 53 | + } | ||
| 54 | + }); | ||
| 55 | + result.totalRecords = result.records.length; | ||
| 56 | + } | ||
| 57 | + | ||
| 58 | + // sorting | ||
| 59 | + if (params.sort!==undefined) { | ||
| 60 | + // use integer as params.sort to specify column, since arrays are not named | ||
| 61 | + // params.sort=0; would also match a array without columns | ||
| 62 | + var dir = String(params.dir).toUpperCase() == "DESC" ? -1 : 1; | ||
| 63 | + var fn = function(r1, r2){ | ||
| 64 | + return r1 < r2; | ||
| 65 | + }; | ||
| 66 | + result.records.sort(function(a, b) { | ||
| 67 | + var v = 0; | ||
| 68 | + if (typeof(a)=="object"){ | ||
| 69 | + v = fn(a.data[params.sort], b.data[params.sort]) * dir; | ||
| 70 | + } else { | ||
| 71 | + v = fn(a, b) * dir; | ||
| 72 | + } | ||
| 73 | + if (v==0) { | ||
| 74 | + v = (a.index < b.index ? -1 : 1); | ||
| 75 | + } | ||
| 76 | + return v; | ||
| 77 | + }); | ||
| 78 | + } | ||
| 79 | + | ||
| 80 | + // paging (use undefined cause start can also be 0 (thus false)) | ||
| 81 | + if (params.start!==undefined && params.limit!==undefined) { | ||
| 82 | + result.records = result.records.slice(params.start, params.start+params.limit); | ||
| 83 | + } | ||
| 84 | + | ||
| 85 | + callback.call(scope, result, arg, true); | ||
| 86 | + } | ||
| 87 | +}); |
thirdpartyjs/extjs/examples/locale/create_languages_js.py
0 → 100644
| 1 | +#!/usr/bin/env python | ||
| 2 | + | ||
| 3 | +import sys, os, re | ||
| 4 | + | ||
| 5 | +try: | ||
| 6 | + import chardet | ||
| 7 | +except ImportError: | ||
| 8 | + print "You need universal encoding detector for this script" | ||
| 9 | + print " http://chardet.feedparser.org or apt-get install python-chardet" | ||
| 10 | + sys.exit() | ||
| 11 | + | ||
| 12 | +regexp_language = re.compile("\* +(.+) +translation", re.IGNORECASE) | ||
| 13 | +js_template = """/* This file is automaticly generated by create_language_js.py */ | ||
| 14 | + | ||
| 15 | +// some data used in the examples | ||
| 16 | +Ext.namespace('Ext.exampledata'); | ||
| 17 | + | ||
| 18 | +// TODO: complete and sort the list | ||
| 19 | +Ext.exampledata.languages = [ | ||
| 20 | +%s | ||
| 21 | +]; | ||
| 22 | +""" | ||
| 23 | + | ||
| 24 | +def lang_name(file): | ||
| 25 | + language = os.path.basename(file) | ||
| 26 | + m = regexp_language.search(open(file).read(512)) | ||
| 27 | + if m: | ||
| 28 | + language = m.groups()[0] | ||
| 29 | + return language | ||
| 30 | + | ||
| 31 | +def print_locale(lang_code): | ||
| 32 | + print lang_code, | ||
| 33 | + sys.stdout.flush() | ||
| 34 | + return True | ||
| 35 | + | ||
| 36 | +def main(): | ||
| 37 | + base_dir = "../../src/locale" | ||
| 38 | + base_file = lambda f: os.path.join(base_dir, f) | ||
| 39 | + try: | ||
| 40 | + locales = os.listdir(base_dir) | ||
| 41 | + except IOError: | ||
| 42 | + print "Cannot find source locale directory: %s ... exiting" % base_dir | ||
| 43 | + sys.exit() | ||
| 44 | + | ||
| 45 | + valid_file = lambda e: e.endswith(".js") and e.startswith("ext-lang-") | ||
| 46 | + char_set = lambda f: chardet.detect(open(f).read())['encoding'] | ||
| 47 | + lang_code = lambda f: f[9:f.rfind(".js")] | ||
| 48 | + info_set = lambda f: (lang_name(base_file(f)), (lang_code(f), char_set(base_file(f)))) | ||
| 49 | + locales = dict(info_set(file) for file in locales if valid_file(file) and print_locale(lang_code(file))) | ||
| 50 | + print "... done" | ||
| 51 | + locale_strarray = ',\n'.join(["\t[%r, %r, %r]" % (code, name, charset) \ | ||
| 52 | + for name, (code, charset) in sorted(locales.items())]) | ||
| 53 | + # create languages.js | ||
| 54 | + open("languages.js", "w").write(js_template % locale_strarray) | ||
| 55 | + print "saved %d languages to languages.js" % len(locales) | ||
| 56 | + | ||
| 57 | +if __name__=="__main__": | ||
| 58 | + main() |
thirdpartyjs/extjs/examples/locale/dutch-form.html
0 → 100644
| 1 | +<!--<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">--> | ||
| 2 | +<html lang="nl"> | ||
| 3 | +<head> | ||
| 4 | + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> | ||
| 5 | + <title>Dutch Form</title> | ||
| 6 | + <link rel="stylesheet" type="text/css" href="../../resources/css/ext-all.css" /> | ||
| 7 | + | ||
| 8 | + <!-- GC --> <!-- LIBS --> <script type="text/javascript" src="../../adapter/ext/ext-base.js"></script> <!-- ENDLIBS --> | ||
| 9 | + <script type="text/javascript" src="../../ext-all.js"></script> | ||
| 10 | + | ||
| 11 | + <!-- include the locale file --> | ||
| 12 | + <script type="text/javascript" src="../../source/locale/ext-lang-nl.js"></script> | ||
| 13 | + | ||
| 14 | + <script type="text/javascript" src="dutch-provinces.js"></script> | ||
| 15 | + <script type="text/javascript" src="dutch-form.js"></script> | ||
| 16 | + | ||
| 17 | + <!-- Common Styles for the examples --> | ||
| 18 | + <link rel="stylesheet" type="text/css" href="../examples.css" /> | ||
| 19 | +</head> | ||
| 20 | +<body> | ||
| 21 | +<script type="text/javascript" src="../examples.js"></script><!-- EXAMPLES --> | ||
| 22 | +<h1>Localization with Ext</h1> | ||
| 23 | +<p>The js is not minified so it is readable. See <a href="dutch-form.js">dutch-form.js</a>.</p> | ||
| 24 | + | ||
| 25 | +<p> | ||
| 26 | + This demonstrates a dutch location of Ext using the form component. It includes the localization | ||
| 27 | + file "ext-lang-nl.js" from the source/locale folder of the Ext download. | ||
| 28 | +</p> | ||
| 29 | + | ||
| 30 | +<div style="width:360px;"> | ||
| 31 | + <div class="x-box-tl"><div class="x-box-tr"><div class="x-box-tc"></div></div></div> | ||
| 32 | + <div class="x-box-ml"><div class="x-box-mr"><div class="x-box-mc"> | ||
| 33 | + <h3>Persoons Gegevens</h3> | ||
| 34 | + <div id="form-ct"> | ||
| 35 | + </div> | ||
| 36 | + </div></div></div> | ||
| 37 | + <div class="x-box-bl"><div class="x-box-br"><div class="x-box-bc"></div></div></div> | ||
| 38 | +</div> | ||
| 39 | +<div class="x-form-clear"></div> | ||
| 40 | +</body> | ||
| 41 | +</html> |
thirdpartyjs/extjs/examples/locale/dutch-form.js
0 → 100644
| 1 | +/* | ||
| 2 | + * Ext JS Library 1.1 Beta 1 | ||
| 3 | + * Copyright(c) 2006-2007, Ext JS, LLC. | ||
| 4 | + * licensing@extjs.com | ||
| 5 | + * | ||
| 6 | + * http://www.extjs.com/license | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +Ext.onReady(function(){ | ||
| 10 | + | ||
| 11 | + Ext.QuickTips.init(); | ||
| 12 | + | ||
| 13 | + // turn on validation errors beside the field globally | ||
| 14 | + Ext.form.Field.prototype.msgTarget = 'side'; | ||
| 15 | + | ||
| 16 | + var fs = new Ext.form.Form({ | ||
| 17 | + labelAlign: 'right', | ||
| 18 | + labelWidth: 95 | ||
| 19 | + }); | ||
| 20 | + | ||
| 21 | + fs.fieldset( | ||
| 22 | + {legend:'Contact Informatie'}, | ||
| 23 | + new Ext.form.TextField({ | ||
| 24 | + fieldLabel: 'Voornaam', | ||
| 25 | + name: 'first', | ||
| 26 | + width:190 | ||
| 27 | + }), | ||
| 28 | + | ||
| 29 | + new Ext.form.TextField({ | ||
| 30 | + fieldLabel: 'Achternaam', | ||
| 31 | + name: 'last', | ||
| 32 | + width:190 | ||
| 33 | + }), | ||
| 34 | + | ||
| 35 | + new Ext.form.TextField({ | ||
| 36 | + fieldLabel: 'Bedrijf', | ||
| 37 | + name: 'company', | ||
| 38 | + width:190 | ||
| 39 | + }), | ||
| 40 | + | ||
| 41 | + new Ext.form.TextField({ | ||
| 42 | + fieldLabel: 'E-mail', | ||
| 43 | + name: 'email', | ||
| 44 | + vtype:'email', | ||
| 45 | + width:190 | ||
| 46 | + }), | ||
| 47 | + | ||
| 48 | + new Ext.form.ComboBox({ | ||
| 49 | + fieldLabel: 'Provincie', | ||
| 50 | + hiddenName: 'state', | ||
| 51 | + store: new Ext.data.SimpleStore({ | ||
| 52 | + fields: ['province'], | ||
| 53 | + data : Ext.exampledata.dutch_provinces // from dutch-provinces.js | ||
| 54 | + }), | ||
| 55 | + displayField: 'province', | ||
| 56 | + typeAhead: true, | ||
| 57 | + mode: 'local', | ||
| 58 | + triggerAction: 'all', | ||
| 59 | + emptyText:'Kies uw provincie...', | ||
| 60 | + selectOnFocus:true, | ||
| 61 | + width:190 | ||
| 62 | + }), | ||
| 63 | + | ||
| 64 | + new Ext.form.DateField({ | ||
| 65 | + fieldLabel: 'Geboorte datum', | ||
| 66 | + name: 'dob', | ||
| 67 | + width:190, | ||
| 68 | + allowBlank:false | ||
| 69 | + }) | ||
| 70 | + ); | ||
| 71 | + | ||
| 72 | + fs.addButton('Opslaan'); | ||
| 73 | + fs.addButton('Annuleren'); | ||
| 74 | + | ||
| 75 | + fs.render('form-ct'); | ||
| 76 | +}); | ||
| 0 | \ No newline at end of file | 77 | \ No newline at end of file |
thirdpartyjs/extjs/examples/locale/dutch-provinces.js
0 → 100644
| 1 | +/* | ||
| 2 | + * Ext JS Library 1.1 Beta 1 | ||
| 3 | + * Copyright(c) 2006-2007, Ext JS, LLC. | ||
| 4 | + * licensing@extjs.com | ||
| 5 | + * | ||
| 6 | + * http://www.extjs.com/license | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +// some data used in the examples | ||
| 10 | +Ext.namespace('Ext.exampledata'); | ||
| 11 | + | ||
| 12 | +Ext.exampledata.dutch_provinces = [ | ||
| 13 | + ['Drenthe'], | ||
| 14 | + ['Flevoland'], | ||
| 15 | + ['Friesland'], | ||
| 16 | + ['Gelderland'], | ||
| 17 | + ['Groningen'], | ||
| 18 | + ['Limburg'], | ||
| 19 | + ['Noord-Brabant'], | ||
| 20 | + ['Noord-Holland'], | ||
| 21 | + ['Overijsel'], | ||
| 22 | + ['Utrecht'], | ||
| 23 | + ['Zeeland'], | ||
| 24 | + ['Zuid-Holland'] | ||
| 25 | + ]; |
thirdpartyjs/extjs/examples/locale/languages.js
0 → 100644
| 1 | +/* | ||
| 2 | + * Ext JS Library 1.1 Beta 1 | ||
| 3 | + * Copyright(c) 2006-2007, Ext JS, LLC. | ||
| 4 | + * licensing@extjs.com | ||
| 5 | + * | ||
| 6 | + * http://www.extjs.com/license | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +/* This file is automaticly generated by create_language_js.py */ | ||
| 10 | + | ||
| 11 | +// some data used in the examples | ||
| 12 | +Ext.namespace('Ext.exampledata'); | ||
| 13 | + | ||
| 14 | +// TODO: complete and sort the list | ||
| 15 | +Ext.exampledata.languages = [ | ||
| 16 | + ['hr', 'Croatian', 'utf-8'], | ||
| 17 | + ['cs', 'Czech', 'utf-8'], | ||
| 18 | + ['da', 'Danish', 'utf-8'], | ||
| 19 | + ['nl', 'Dutch', 'ascii'], | ||
| 20 | + ['en', 'English', 'ascii'], | ||
| 21 | + ['fr_CA', 'France (Canadian)', 'UTF-8'], | ||
| 22 | + ['de', 'German', 'utf-8'], | ||
| 23 | + ['el_GR', 'Greek', 'utf-8'], | ||
| 24 | + ['hu', 'Hungarian', 'utf-8'], | ||
| 25 | + ['it', 'Italian', 'ascii'], | ||
| 26 | + ['ja', 'Japanese', 'utf-8'], | ||
| 27 | + ['lv', 'Latvian', 'utf-8'], | ||
| 28 | + ['mk', 'Macedonia', 'utf-8'], | ||
| 29 | + ['no', 'Norwegian', 'utf-8'], | ||
| 30 | + ['pl', 'Polish', 'utf-8'], | ||
| 31 | + ['pt_br', 'Portuguese/Brazil', 'utf-8'], | ||
| 32 | + ['ro', 'Romanian', 'utf-8'], | ||
| 33 | + ['ru', 'Russian', 'utf-8'], | ||
| 34 | + ['sr_RS', 'Serbian Cyrillic', 'UTF-8'], | ||
| 35 | + ['zh_CN', 'Simplified Chinese', 'UTF-8'], | ||
| 36 | + ['sk', 'Slovak', 'utf-8'], | ||
| 37 | + ['sl', 'Slovenian', 'utf-8'], | ||
| 38 | + ['sp', 'Spanish/Latin American', 'utf-8'], | ||
| 39 | + ['sv_se', 'Swedish', 'utf-8'], | ||
| 40 | + ['zh_TW', 'Traditional Chinese', 'UTF-8'], | ||
| 41 | + ['tr', 'Turkish', 'utf-8'], | ||
| 42 | + ['vn', 'Vietnamese', 'UTF-8'] | ||
| 43 | +]; |
thirdpartyjs/extjs/examples/locale/multi-lang.html
0 → 100644
| 1 | +<!--<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">--> | ||
| 2 | +<html> | ||
| 3 | +<head> | ||
| 4 | +<meta http-equiv="Content-Type" content="text/html; charset=utf8"> | ||
| 5 | +<title>Multiple Languages</title> | ||
| 6 | +<link rel="stylesheet" type="text/css" href="../../resources/css/ext-all.css" /> | ||
| 7 | +<link rel="stylesheet" type="text/css" href="../../resources/css/xtheme-gray.css" /> | ||
| 8 | +<script type="text/javascript" src="../../adapter/yui/yui-utilities.js"></script> | ||
| 9 | +<script type="text/javascript" src="../../adapter/yui/ext-yui-adapter.js"></script> | ||
| 10 | +<script type="text/javascript" src="../../ext-all.js"></script> | ||
| 11 | +<script type="text/javascript" src="languages.js"></script> | ||
| 12 | + | ||
| 13 | +<!-- Common Styles for the examples --> | ||
| 14 | +<link rel="stylesheet" type="text/css" href="../examples.css" /> | ||
| 15 | +</head> | ||
| 16 | +<body class="x-gray"> | ||
| 17 | +<script type="text/javascript" src="../examples.js"></script><!-- EXAMPLES --> | ||
| 18 | +<script type="text/javascript"> | ||
| 19 | +var params = Ext.urlDecode(window.location.search.substring(1)); | ||
| 20 | +if (params.lang) { | ||
| 21 | + var s = document.createElement("script"); | ||
| 22 | + s.type = 'text/javascript'; | ||
| 23 | + s.src = "../../source/locale/ext-lang-"+params.lang+".js"; | ||
| 24 | + s.charset = params.charset; | ||
| 25 | + document.getElementsByTagName("head")[0].appendChild(s); | ||
| 26 | +} | ||
| 27 | +</script> | ||
| 28 | +<script type="text/javascript" src="PagingMemoryProxy.js"></script> | ||
| 29 | +<script type="text/javascript" src="multi-lang.js"></script> | ||
| 30 | + | ||
| 31 | +<h1>Localization with Extjs</h1> | ||
| 32 | +<p>The js is not minified so it is readable. See <a href="multi-lang.js">multi-lang.js</a>.</p> | ||
| 33 | + | ||
| 34 | +<p> | ||
| 35 | +This demonstrates multiple language with some of the Ext components.<br/> | ||
| 36 | +Select a language from the combobox below (default is english) and try out the components in different languages. | ||
| 37 | +</p> | ||
| 38 | + | ||
| 39 | +<div> | ||
| 40 | + <span style="float: left;">Language selector: </span> | ||
| 41 | + <input type="text" id="languages" size="20" /> | ||
| 42 | +</div> | ||
| 43 | +<br/> | ||
| 44 | +<h2>Email Field</h2> | ||
| 45 | +<p></p> | ||
| 46 | +<div style="width:300px;"> | ||
| 47 | + <div class="x-box-tl"><div class="x-box-tr"><div class="x-box-tc"></div></div></div> | ||
| 48 | + <div class="x-box-ml"><div class="x-box-mr"><div class="x-box-mc"> | ||
| 49 | + <h3 style="margin-bottom:5px;">Localized Email Field</h3> | ||
| 50 | + <div id="form-ct"></div> | ||
| 51 | + </div></div></div> | ||
| 52 | + <div class="x-box-bl"><div class="x-box-br"><div class="x-box-bc"></div></div></div> | ||
| 53 | +</div> | ||
| 54 | +<br/> | ||
| 55 | +<h2>Datepicker</h2> | ||
| 56 | +<br/> | ||
| 57 | +<div style="width:300px;"> | ||
| 58 | + <div class="x-box-tl"><div class="x-box-tr"><div class="x-box-tc"></div></div></div> | ||
| 59 | + <div class="x-box-ml"><div class="x-box-mr"><div class="x-box-mc"> | ||
| 60 | + <h3 style="margin-bottom:5px;">Localized Datepicker</h3> | ||
| 61 | + <div id="form-ct2"></div> | ||
| 62 | + </div></div></div> | ||
| 63 | + <div class="x-box-bl"><div class="x-box-br"><div class="x-box-bc"></div></div></div> | ||
| 64 | +</div> | ||
| 65 | +<br/> | ||
| 66 | +<h2>Grid</h2> | ||
| 67 | +<br/> | ||
| 68 | +<div style="width:300px;"> | ||
| 69 | + <div class="x-box-tl"><div class="x-box-tr"><div class="x-box-tc"></div></div></div> | ||
| 70 | + <div class="x-box-ml"><div class="x-box-mr"><div class="x-box-mc"> | ||
| 71 | + <h3 style="margin-bottom:5px;">Localized Grid</h3> | ||
| 72 | + <div id="grid-panel" style="width:270px;height:178px;"> | ||
| 73 | + <div id="editor-grid"></div> | ||
| 74 | + </div> | ||
| 75 | + </div></div></div> | ||
| 76 | + <div class="x-box-bl"><div class="x-box-br"><div class="x-box-bc"></div></div></div> | ||
| 77 | +</div> | ||
| 78 | +</body> | ||
| 79 | +</html> |
thirdpartyjs/extjs/examples/locale/multi-lang.js
0 → 100644
| 1 | +/* | ||
| 2 | + * Ext JS Library 1.1 Beta 1 | ||
| 3 | + * Copyright(c) 2006-2007, Ext JS, LLC. | ||
| 4 | + * licensing@extjs.com | ||
| 5 | + * | ||
| 6 | + * http://www.extjs.com/license | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +/* multi-lang.js extscript */ | ||
| 10 | +Ext.onReady(function(){ | ||
| 11 | + Ext.QuickTips.init(); | ||
| 12 | + Ext.form.Field.prototype.msgTarget = 'side'; | ||
| 13 | + | ||
| 14 | + /* Language chooser combobox */ | ||
| 15 | + var store = new Ext.data.SimpleStore({ | ||
| 16 | + fields: ['code', 'language', 'charset'], | ||
| 17 | + data : Ext.exampledata.languages // from languages.js | ||
| 18 | + }); | ||
| 19 | + var combo = new Ext.form.ComboBox({ | ||
| 20 | + store: store, | ||
| 21 | + displayField:'language', | ||
| 22 | + typeAhead: true, | ||
| 23 | + mode: 'local', | ||
| 24 | + triggerAction: 'all', | ||
| 25 | + emptyText:'Select a language...', | ||
| 26 | + selectOnFocus:true, | ||
| 27 | + onSelect: function(record) { | ||
| 28 | + window.location.search = Ext.urlEncode({"lang":record.get("code"),"charset":record.get("charset")}); | ||
| 29 | + } | ||
| 30 | + }); | ||
| 31 | + combo.applyTo('languages'); | ||
| 32 | + | ||
| 33 | + // get the selected language code parameter from url (if exists) | ||
| 34 | + var params = Ext.urlDecode(window.location.search.substring(1)); | ||
| 35 | + if (params.lang) { | ||
| 36 | + // check if there's really a language with that language code | ||
| 37 | + record = store.data.find(function(item, key) { | ||
| 38 | + if (item.data.code==params.lang){ | ||
| 39 | + return true; | ||
| 40 | + } | ||
| 41 | + }); | ||
| 42 | + // if language was found in store assign it as current value in combobox | ||
| 43 | + if (record) { | ||
| 44 | + combo.setValue(record.data.language); | ||
| 45 | + } | ||
| 46 | + } | ||
| 47 | + | ||
| 48 | + /* Email field */ | ||
| 49 | + var efield = new Ext.form.Form({ labelWidth: 75 }); | ||
| 50 | + efield.add(new Ext.form.TextField({ | ||
| 51 | + fieldLabel: 'Email', | ||
| 52 | + name: 'email', | ||
| 53 | + vtype: 'email', | ||
| 54 | + width: 175 | ||
| 55 | + })); | ||
| 56 | + efield.render('form-ct'); | ||
| 57 | + | ||
| 58 | + /* Datepicker */ | ||
| 59 | + var efield = new Ext.form.Form({ labelWidth: 75 }); | ||
| 60 | + efield.add(new Ext.form.DateField({ | ||
| 61 | + fieldLabel: 'Date', | ||
| 62 | + name: 'date', | ||
| 63 | + width: 175 | ||
| 64 | + })); | ||
| 65 | + efield.render('form-ct2'); | ||
| 66 | +}); | ||
| 67 | + | ||
| 68 | +Ext.onReady(function(){ | ||
| 69 | + // shorthand alias | ||
| 70 | + var fm = Ext.form, Ed = Ext.grid.GridEditor; | ||
| 71 | + // the column model has information about grid columns | ||
| 72 | + // dataIndex maps the column to the specific data field in | ||
| 73 | + // the data store (created below) | ||
| 74 | + var cm = new Ext.grid.ColumnModel([{ | ||
| 75 | + header: "Months of the year", | ||
| 76 | + dataIndex: 'month', | ||
| 77 | + editor: new Ed(new fm.TextField({ | ||
| 78 | + allowBlank: false | ||
| 79 | + })), | ||
| 80 | + width: 240 | ||
| 81 | + }]); | ||
| 82 | + | ||
| 83 | + // by default columns are sortable | ||
| 84 | + cm.defaultSortable = true; | ||
| 85 | + | ||
| 86 | + var monthArray = Date.monthNames.map(function (e) { return [e]; }); | ||
| 87 | + | ||
| 88 | + // create the Data Store | ||
| 89 | + var ds = new Ext.data.Store({ | ||
| 90 | + proxy: new Ext.data.PagingMemoryProxy(monthArray), | ||
| 91 | + reader: new Ext.data.ArrayReader({}, [ | ||
| 92 | + {name: 'month'} | ||
| 93 | + ]) | ||
| 94 | + }); | ||
| 95 | + | ||
| 96 | + // create the editor grid | ||
| 97 | + var grid = new Ext.grid.EditorGrid('editor-grid', { | ||
| 98 | + ds: ds, | ||
| 99 | + cm: cm, | ||
| 100 | + selModel: new Ext.grid.RowSelectionModel(), | ||
| 101 | + enableColLock:false | ||
| 102 | + }); | ||
| 103 | + | ||
| 104 | + var layout = Ext.BorderLayout.create({ | ||
| 105 | + center: { | ||
| 106 | + margins:{left:3,top:3,right:3,bottom:3}, | ||
| 107 | + panels: [new Ext.GridPanel(grid)] | ||
| 108 | + } | ||
| 109 | + }, 'grid-panel'); | ||
| 110 | + | ||
| 111 | + // render it | ||
| 112 | + grid.render(); | ||
| 113 | + | ||
| 114 | + var gridFoot = grid.getView().getFooterPanel(true); | ||
| 115 | + | ||
| 116 | + // add a paging toolbar to the grid's footer | ||
| 117 | + var paging = new Ext.PagingToolbar(gridFoot, ds, { | ||
| 118 | + pageSize: 6, | ||
| 119 | + displayInfo: false | ||
| 120 | + }); | ||
| 121 | + | ||
| 122 | + // trigger the data store load | ||
| 123 | + ds.load({params:{start:0, limit:6}}); | ||
| 124 | +}); |
thirdpartyjs/extjs/examples/menu/list-items.gif
0 → 100644
1.02 KB
thirdpartyjs/extjs/examples/menu/menu-show.gif
0 → 100644
917 Bytes
thirdpartyjs/extjs/examples/menu/menus.css
0 → 100644
| 1 | +/* | ||
| 2 | + * Ext JS Library 1.1 Beta 1 | ||
| 3 | + * Copyright(c) 2006-2007, Ext JS, LLC. | ||
| 4 | + * licensing@extjs.com | ||
| 5 | + * | ||
| 6 | + * http://www.extjs.com/license | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +#container { | ||
| 10 | + width:600px; | ||
| 11 | + height:300px; | ||
| 12 | + border:3px solid #c3daf9; | ||
| 13 | +} | ||
| 14 | + | ||
| 15 | +.calendar .x-menu-item-icon { | ||
| 16 | + background-image:url(../../resources/images/default/shared/calendar.gif); | ||
| 17 | +} | ||
| 0 | \ No newline at end of file | 18 | \ No newline at end of file |
thirdpartyjs/extjs/examples/menu/menus.html
0 → 100644
| 1 | +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> | ||
| 2 | +<html> | ||
| 3 | +<head> | ||
| 4 | +<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> | ||
| 5 | +<title>Toolbar with Menus</title> | ||
| 6 | +<link rel="stylesheet" type="text/css" href="../../resources/css/ext-all.css" /> | ||
| 7 | + | ||
| 8 | + <!-- GC --> <!-- LIBS --> <script type="text/javascript" src="../../adapter/ext/ext-base.js"></script> <!-- ENDLIBS --> | ||
| 9 | + <script type="text/javascript" src="../../ext-all.js"></script> | ||
| 10 | + | ||
| 11 | +<script type="text/javascript" src="../form/states.js"></script> | ||
| 12 | +<script type="text/javascript" src="menus.js"></script> | ||
| 13 | +<link rel="stylesheet" type="text/css" href="menus.css" /> | ||
| 14 | + | ||
| 15 | +<!-- Common Styles for the examples --> | ||
| 16 | +<link rel="stylesheet" type="text/css" href="../examples.css" /> | ||
| 17 | +<style type="text/css"> | ||
| 18 | + .blist .x-btn-text { | ||
| 19 | + background-image: url(list-items.gif) | ||
| 20 | + } | ||
| 21 | + .bmenu .x-btn-text { | ||
| 22 | + background-image: url(menu-show.gif) | ||
| 23 | + } | ||
| 24 | + .menu-title{ | ||
| 25 | + background: #ebeadb url(../../resources/images/aero/grid/grid-hrow.gif) repeat-x; | ||
| 26 | + border-bottom:1px solid #99bbe8; | ||
| 27 | + color:#15428b; | ||
| 28 | + font:bold 10px tahoma,arial,verdana,sans-serif; | ||
| 29 | + display:block; | ||
| 30 | + padding:3px; | ||
| 31 | + } | ||
| 32 | +</style> | ||
| 33 | +</head> | ||
| 34 | +<body> | ||
| 35 | +<script type="text/javascript" src="../examples.js"></script><!-- EXAMPLES --> | ||
| 36 | +<h1>Toolbar with Menus</h1> | ||
| 37 | +<p>The js is not minified so it is readable. See <a href="menus.js">menus.js</a>.</p> | ||
| 38 | + | ||
| 39 | +<div id="container"> | ||
| 40 | + <div id="toolbar"></div> | ||
| 41 | +</div> | ||
| 42 | + | ||
| 43 | +<br /><br /><br /><br /><br /> | ||
| 44 | +</body> | ||
| 45 | +</html> |
thirdpartyjs/extjs/examples/menu/menus.js
0 → 100644
| 1 | +/* | ||
| 2 | + * Ext JS Library 1.1 Beta 1 | ||
| 3 | + * Copyright(c) 2006-2007, Ext JS, LLC. | ||
| 4 | + * licensing@extjs.com | ||
| 5 | + * | ||
| 6 | + * http://www.extjs.com/license | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +Ext.onReady(function(){ | ||
| 10 | + Ext.QuickTips.init(); | ||
| 11 | + | ||
| 12 | + // Menus can be prebuilt and passed by reference | ||
| 13 | + var dateMenu = new Ext.menu.DateMenu({ | ||
| 14 | + handler : function(dp, date){ | ||
| 15 | + Ext.example.msg('Date Selected', 'You chose {0}.', date.format('M j, Y')); | ||
| 16 | + } | ||
| 17 | + }); | ||
| 18 | + | ||
| 19 | + // Menus can be prebuilt and passed by reference | ||
| 20 | + var colorMenu = new Ext.menu.ColorMenu({ | ||
| 21 | + handler : function(cm, color){ | ||
| 22 | + Ext.example.msg('Color Selected', 'You chose {0}.', color); | ||
| 23 | + } | ||
| 24 | + }); | ||
| 25 | + | ||
| 26 | + var menu = new Ext.menu.Menu({ | ||
| 27 | + id: 'mainMenu', | ||
| 28 | + items: [ | ||
| 29 | + new Ext.menu.CheckItem({ | ||
| 30 | + text: 'I like Ext', | ||
| 31 | + checked: true, | ||
| 32 | + checkHandler: onItemCheck | ||
| 33 | + }), | ||
| 34 | + new Ext.menu.CheckItem({ | ||
| 35 | + text: 'Ext for jQuery', | ||
| 36 | + checked: true, | ||
| 37 | + checkHandler: onItemCheck | ||
| 38 | + }), | ||
| 39 | + new Ext.menu.CheckItem({ | ||
| 40 | + text: 'I donated!', | ||
| 41 | + checked:false, | ||
| 42 | + checkHandler: onItemCheck | ||
| 43 | + }), '-', { | ||
| 44 | + text: 'Radio Options', | ||
| 45 | + menu: { // <-- submenu by nested config object | ||
| 46 | + items: [ | ||
| 47 | + // stick any markup in a menu | ||
| 48 | + '<b class="menu-title">Choose a Theme</b>', | ||
| 49 | + new Ext.menu.CheckItem({ | ||
| 50 | + text: 'Aero Glass', | ||
| 51 | + checked: true, | ||
| 52 | + group: 'theme', | ||
| 53 | + checkHandler: onItemCheck | ||
| 54 | + }), | ||
| 55 | + new Ext.menu.CheckItem({ | ||
| 56 | + text: 'Vista Black', | ||
| 57 | + group: 'theme', | ||
| 58 | + checkHandler: onItemCheck | ||
| 59 | + }), | ||
| 60 | + new Ext.menu.CheckItem({ | ||
| 61 | + text: 'Gray Theme', | ||
| 62 | + group: 'theme', | ||
| 63 | + checkHandler: onItemCheck | ||
| 64 | + }), | ||
| 65 | + new Ext.menu.CheckItem({ | ||
| 66 | + text: 'Default Theme', | ||
| 67 | + group: 'theme', | ||
| 68 | + checkHandler: onItemCheck | ||
| 69 | + }) | ||
| 70 | + ] | ||
| 71 | + } | ||
| 72 | + },{ | ||
| 73 | + text: 'Choose a Date', | ||
| 74 | + cls: 'calendar', | ||
| 75 | + menu: dateMenu // <-- submenu by reference | ||
| 76 | + },{ | ||
| 77 | + text: 'Choose a Color', | ||
| 78 | + menu: colorMenu // <-- submenu by reference | ||
| 79 | + } | ||
| 80 | + ] | ||
| 81 | + }); | ||
| 82 | + | ||
| 83 | + var tb = new Ext.Toolbar('toolbar'); | ||
| 84 | + tb.add({ | ||
| 85 | + cls: 'x-btn-text-icon bmenu', // icon and text class | ||
| 86 | + text:'Button w/ Menu', | ||
| 87 | + menu: menu // assign menu by instance | ||
| 88 | + }, | ||
| 89 | + new Ext.Toolbar.MenuButton({ | ||
| 90 | + text: 'Split Button', | ||
| 91 | + handler: onButtonClick, | ||
| 92 | + tooltip: {text:'This is a QuickTip with autoHide set to false and a title', title:'Tip Title', autoHide:false}, | ||
| 93 | + cls: 'x-btn-text-icon blist', | ||
| 94 | + // Menus can be built/referenced by using nested menu config objects | ||
| 95 | + menu : {items: [ | ||
| 96 | + {text: '<b>Bold</b>', handler: onItemClick}, | ||
| 97 | + {text: '<i>Italic</i>', handler: onItemClick}, | ||
| 98 | + {text: '<u>Underline</u>', handler: onItemClick}, '-',{ | ||
| 99 | + text: 'Pick a Color', handler: onItemClick, menu: { | ||
| 100 | + items: [ | ||
| 101 | + new Ext.menu.ColorItem({selectHandler:function(cp, color){ | ||
| 102 | + Ext.example.msg('Color Selected', 'You chose {0}.', color); | ||
| 103 | + }}), '-', | ||
| 104 | + {text:'More Colors...', handler:onItemClick} | ||
| 105 | + ] | ||
| 106 | + }}, | ||
| 107 | + {text: 'Extellent!', handler: onItemClick} | ||
| 108 | + ]} | ||
| 109 | + }), '-', { | ||
| 110 | + text: 'Toggle Me', | ||
| 111 | + enableToggle: true, | ||
| 112 | + toggleHandler: onItemToggle, | ||
| 113 | + pressed: true | ||
| 114 | + }); | ||
| 115 | + | ||
| 116 | + menu.addSeparator(); | ||
| 117 | + // Menus have a rich api for | ||
| 118 | + // adding and removing elements dynamically | ||
| 119 | + var item = menu.add({ | ||
| 120 | + text: 'Dynamically added Item' | ||
| 121 | + }); | ||
| 122 | + // items support full Observable API | ||
| 123 | + item.on('click', onItemClick); | ||
| 124 | + | ||
| 125 | + // items can easily be looked up | ||
| 126 | + menu.add({ | ||
| 127 | + text: 'Disabled Item', | ||
| 128 | + id: 'disableMe' // <-- Items can also have an id for easy lookup | ||
| 129 | + // disabled: true <-- allowed but for sake of example we use long way below | ||
| 130 | + }); | ||
| 131 | + // access items by id or index | ||
| 132 | + menu.items.get('disableMe').disable(); | ||
| 133 | + | ||
| 134 | + // They can also be referenced by id in or components | ||
| 135 | + tb.add('-', { | ||
| 136 | + icon: 'list-items.gif', // icons can also be specified inline | ||
| 137 | + cls: 'x-btn-icon', | ||
| 138 | + tooltip: '<b>Quick Tips</b><br/>Icon only button with tooltip' | ||
| 139 | + }, '-'); | ||
| 140 | + | ||
| 141 | + // add a combobox to the toolbar | ||
| 142 | + var store = new Ext.data.SimpleStore({ | ||
| 143 | + fields: ['abbr', 'state'], | ||
| 144 | + data : Ext.exampledata.states // from states.js | ||
| 145 | + }); | ||
| 146 | + var combo = new Ext.form.ComboBox({ | ||
| 147 | + store: store, | ||
| 148 | + displayField:'state', | ||
| 149 | + typeAhead: true, | ||
| 150 | + mode: 'local', | ||
| 151 | + triggerAction: 'all', | ||
| 152 | + emptyText:'Select a state...', | ||
| 153 | + selectOnFocus:true, | ||
| 154 | + width:135 | ||
| 155 | + }); | ||
| 156 | + tb.addField(combo); | ||
| 157 | + | ||
| 158 | + // functions to display feedback | ||
| 159 | + function onButtonClick(btn){ | ||
| 160 | + Ext.example.msg('Button Click','You clicked the "{0}" button.', btn.text); | ||
| 161 | + } | ||
| 162 | + | ||
| 163 | + function onItemClick(item){ | ||
| 164 | + Ext.example.msg('Menu Click', 'You clicked the "{0}" menu item.', item.text); | ||
| 165 | + } | ||
| 166 | + | ||
| 167 | + function onItemCheck(item, checked){ | ||
| 168 | + Ext.example.msg('Item Check', 'You {1} the "{0}" menu item.', item.text, checked ? 'checked' : 'unchecked'); | ||
| 169 | + } | ||
| 170 | + | ||
| 171 | + function onItemToggle(item, pressed){ | ||
| 172 | + Ext.example.msg('Button Toggled', 'Button "{0}" was toggled to {1}.', item.text, pressed); | ||
| 173 | + } | ||
| 174 | +}); | ||
| 0 | \ No newline at end of file | 175 | \ No newline at end of file |
thirdpartyjs/extjs/examples/resizable/basic.css
0 → 100644
| 1 | +/* | ||
| 2 | + * Ext JS Library 1.1 Beta 1 | ||
| 3 | + * Copyright(c) 2006-2007, Ext JS, LLC. | ||
| 4 | + * licensing@extjs.com | ||
| 5 | + * | ||
| 6 | + * http://www.extjs.com/license | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +#basic, #animated { | ||
| 10 | + border:1px solid #c3daf9; | ||
| 11 | + color:#1e4e8f; | ||
| 12 | + font:bold 14px tahoma,verdana,helvetica; | ||
| 13 | + text-align:center; | ||
| 14 | + padding-top:20px; | ||
| 15 | + width:200px; | ||
| 16 | + height:80px; | ||
| 17 | +} | ||
| 18 | +#snap { | ||
| 19 | + border:1px solid #c3daf9; | ||
| 20 | + overflow:hidden; | ||
| 21 | +} | ||
| 22 | +#custom { | ||
| 23 | + cursor:move; | ||
| 24 | +} | ||
| 25 | +#custom-rzwrap{ | ||
| 26 | + z-index: 10000; | ||
| 27 | +} | ||
| 28 | +#custom-rzwrap .x-resizable-handle{ | ||
| 29 | + width:11px; | ||
| 30 | + height:11px; | ||
| 31 | + background:transparent url(../../resources/images/sizer/square.gif) no-repeat; | ||
| 32 | + margin:0px; | ||
| 33 | + line-height:11px; | ||
| 34 | +} | ||
| 35 | +#custom-rzwrap .x-resizable-handle-east, #custom-rzwrap .x-resizable-handle-west{ | ||
| 36 | + top:45%; | ||
| 37 | +} | ||
| 38 | +#custom-rzwrap .x-resizable-handle-north, #custom-rzwrap .x-resizable-handle-south{ | ||
| 39 | + left:45%; | ||
| 40 | +} | ||
| 0 | \ No newline at end of file | 41 | \ No newline at end of file |
thirdpartyjs/extjs/examples/resizable/basic.html
0 → 100644
| 1 | +<html> | ||
| 2 | +<head> | ||
| 3 | +<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> | ||
| 4 | +<title>Resizable Examples</title> | ||
| 5 | +<link rel="stylesheet" type="text/css" href="../../resources/css/ext-all.css" /> | ||
| 6 | + | ||
| 7 | + <!-- GC --> <!-- LIBS --> <script type="text/javascript" src="../../adapter/ext/ext-base.js"></script> <!-- ENDLIBS --> | ||
| 8 | + <script type="text/javascript" src="../../ext-all.js"></script> | ||
| 9 | +<script language="javascript" src="basic.js"></script> | ||
| 10 | + | ||
| 11 | +<!-- Common Styles for the examples --> | ||
| 12 | +<link rel="stylesheet" type="text/css" href="../examples.css" /> | ||
| 13 | +<style type="text/css"> | ||
| 14 | +#basic, #animated { | ||
| 15 | + border:1px solid #c3daf9; | ||
| 16 | + color:#1e4e8f; | ||
| 17 | + font:bold 14px tahoma,verdana,helvetica; | ||
| 18 | + text-align:center; | ||
| 19 | + padding-top:20px; | ||
| 20 | +} | ||
| 21 | +#snap { | ||
| 22 | + border:1px solid #c3daf9; | ||
| 23 | + overflow:hidden; | ||
| 24 | +} | ||
| 25 | +#custom { | ||
| 26 | + cursor:move; | ||
| 27 | +} | ||
| 28 | +#custom-rzwrap{ | ||
| 29 | + z-index: 100; | ||
| 30 | +} | ||
| 31 | +#custom-rzwrap .x-resizable-handle{ | ||
| 32 | + width:11px; | ||
| 33 | + height:11px; | ||
| 34 | + background:transparent url(../../resources/images/default/sizer/square.gif) no-repeat; | ||
| 35 | + margin:0px; | ||
| 36 | +} | ||
| 37 | +#custom-rzwrap .x-resizable-handle-east, #custom-rzwrap .x-resizable-handle-west{ | ||
| 38 | + top:45%; | ||
| 39 | +} | ||
| 40 | +#custom-rzwrap .x-resizable-handle-north, #custom-rzwrap .x-resizable-handle-south{ | ||
| 41 | + left:45%; | ||
| 42 | +} | ||
| 43 | +</style> | ||
| 44 | +</head> | ||
| 45 | + | ||
| 46 | +<body> | ||
| 47 | +<script type="text/javascript" src="../examples.js"></script><!-- EXAMPLES --> | ||
| 48 | +<h1>Resizable Examples</h1> | ||
| 49 | +<p>These examples show how to apply a floating (default) and pinned Resizable component to a standard element.</p> | ||
| 50 | +<p>Note that the js is not minified so it is readable. See <a href="basic.js">basic.js</a> for the full source code.</p> | ||
| 51 | + | ||
| 52 | +<p> | ||
| 53 | + <b>Basic Example</b><br /> | ||
| 54 | + This is a basic as you get. To resize the box, position your mouse anywhere near the bottom, | ||
| 55 | + right or border right edge of the box. This example uses the default "floating" handles. | ||
| 56 | +</p> | ||
| 57 | +<div id="basic">Resize Me!</div> | ||
| 58 | +<pre class="code"><code>var basic = new Ext.Resizable('basic', { | ||
| 59 | + width: 200, | ||
| 60 | + height: 100, | ||
| 61 | + minWidth:100, | ||
| 62 | + minHeight:50 | ||
| 63 | +});</code></pre> | ||
| 64 | +<hr> | ||
| 65 | +<p> | ||
| 66 | + <b>Wrapped Elements</b><br /> | ||
| 67 | + Some elements such as images and textareas don't allow child elements. In the past, you had | ||
| 68 | + to wrap these elements and set up a Resizable with resize child. As of yui-ext .33 RC2, Resizable will | ||
| 69 | + wrap the element, calculate adjustments for borders/padding and offset the handles for you. All you have to | ||
| 70 | + do is set "wrap:true". The manual way of specifying a "resizeChild" is still supported as well. | ||
| 71 | +</p><p> | ||
| 72 | + <b>Pinned Handles</b><br /> | ||
| 73 | + Notice this example has the resize handles "pinned". This is done by setting "pinned:true". | ||
| 74 | +</p><p> | ||
| 75 | + <b>Dynamic Sizing</b><br /> | ||
| 76 | + If you don't like the proxy resizing, you can also turn on dynamic sizing. Just set "dynamic:true". | ||
| 77 | +</p> | ||
| 78 | +<p> | ||
| 79 | + Here's a textarea that is wrapped, has pinned handles and has dynamic sizing turned on. | ||
| 80 | +</p> | ||
| 81 | +<textarea id="dwrapped"> | ||
| 82 | +Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed metus nibh, sodales a, porta at, vulputate eget, dui. Pellentesque ut nisl. Maecenas tortor turpis, interdum non, sodales non, iaculis ac, lacus. Vestibulum auctor, tortor quis iaculis malesuada, libero lectus bibendum purus, sit amet tincidunt quam turpis vel lacus. In pellentesque nisl non sem. Suspendisse nunc sem, pretium eget, cursus a, fringilla vel, urna. Aliquam commodo ullamcorper erat. Nullam vel justo in neque porttitor laoreet. Aenean lacus dui, consequat eu, adipiscing eget, nonummy non, nisi. Morbi nunc est, dignissim non, ornare sed, luctus eu, massa. | ||
| 83 | +Vivamus eget quam. Vivamus tincidunt diam nec urna. Curabitur velit. Quisque dolor magna, ornare sed, elementum porta, luctus in, leo. | ||
| 84 | +</textarea><br /><br /> | ||
| 85 | +And look how simple the code is, even my grandma could write it. | ||
| 86 | +<pre class="code"><code>var dwrapped = new Ext.Resizable('dwrapped', { | ||
| 87 | + wrap:true, | ||
| 88 | + pinned:true, | ||
| 89 | + width:450, | ||
| 90 | + height:150, | ||
| 91 | + minWidth:200, | ||
| 92 | + minHeight: 50, | ||
| 93 | + dynamic: true | ||
| 94 | +});</code></pre> | ||
| 95 | +<hr> | ||
| 96 | +<p> | ||
| 97 | +<b>Preserve Ratio</b><br /> | ||
| 98 | + For some things like images, you will probably want to preserve the ratio of width to height. Just set preserveRatio:true. | ||
| 99 | +</p> | ||
| 100 | +<img id="wrapped" src="sara.jpg" width="200" height="250"/> | ||
| 101 | +<pre class="code"><code>var wrapped = new Ext.Resizable('wrapped', { | ||
| 102 | + wrap:true, | ||
| 103 | + pinned:true, | ||
| 104 | + minWidth:50, | ||
| 105 | + minHeight: 50, | ||
| 106 | + preserveRatio: true | ||
| 107 | +});</code></pre> | ||
| 108 | +<hr> | ||
| 109 | +<p> | ||
| 110 | +<b>Transparent Handles</b><br /> | ||
| 111 | + If you just want the element to be resizable without any fancy handles, set transparent to true. | ||
| 112 | +</p> | ||
| 113 | +<img id="transparent" src="zack.jpg" width="100" height="176"/> | ||
| 114 | +<pre class="code"><code>var transparent = new Ext.Resizable('transparent', { | ||
| 115 | + wrap:true, | ||
| 116 | + minWidth:50, | ||
| 117 | + minHeight: 50, | ||
| 118 | + preserveRatio: true, | ||
| 119 | + transparent:true | ||
| 120 | +});</code></pre> | ||
| 121 | +<hr> | ||
| 122 | +<p> | ||
| 123 | + <b>Customizable Handles</b><br /> | ||
| 124 | + Resizable elements are resizable 8 ways. 8 way resizing for a static positioned element will cause the element to be positioned relative and taken out of the document flow. For resizing which adjusts the | ||
| 125 | + x and y of the element, the element should be positioned absolute. You can also control which handles are displayed by setting the "handles" attribute. | ||
| 126 | + The handles are styled using CSS so they can be customized to look however you would like them to. | ||
| 127 | +</p> | ||
| 128 | +<p> | ||
| 129 | + This image has 8 way resizing, custom handles, is draggable and 8 way preserved ratio (that wasn't easy!).<br /> | ||
| 130 | + <b>Double click anywhere on the image to hide it when you are done.</b> | ||
| 131 | +</p> | ||
| 132 | +<img id="custom" src="sara_and_zack.jpg" width="200" height="152" style="position:absolute;left:0;top:0;"/> | ||
| 133 | +<div style="padding:8px;border:1px solid #c3daf9;background:#d9e8fb;width:150px;text-align:center;"><button id="showMe">Show Me</button></div> | ||
| 134 | +<pre class="code"><code>var custom = new Ext.Resizable('custom', { | ||
| 135 | + wrap:true, | ||
| 136 | + pinned:true, | ||
| 137 | + minWidth:50, | ||
| 138 | + minHeight: 50, | ||
| 139 | + preserveRatio: true, | ||
| 140 | + dynamic:true, | ||
| 141 | + handles: 'all', // shorthand for 'n s e w ne nw se sw' | ||
| 142 | + draggable:true | ||
| 143 | +});</code></pre> | ||
| 144 | +<hr> | ||
| 145 | +<p> | ||
| 146 | + <b>Snapping</b><br /> | ||
| 147 | + Resizable also supports basic snapping in increments. | ||
| 148 | +</p> | ||
| 149 | +<div id="snap"></div> | ||
| 150 | +<pre class="code"><code>var snap = new Ext.Resizable('snap', { | ||
| 151 | + pinned:true, | ||
| 152 | + width:250, | ||
| 153 | + height:100, | ||
| 154 | + handles: 'e', | ||
| 155 | + widthIncrement:50, | ||
| 156 | + minWidth: 50, | ||
| 157 | + dynamic: true | ||
| 158 | +}); | ||
| 159 | +</code></pre> | ||
| 160 | +Warning: Snapping and preserveRatio conflict and can not be used together. | ||
| 161 | +<hr> | ||
| 162 | +<p> | ||
| 163 | + <b>Animated Transitions</b><br /> | ||
| 164 | + Resize operations can also be animated. Animations support configurable easing and duration. | ||
| 165 | + Here's a very basic clone of the first element, but with animation turned on. I used a "backIn" | ||
| 166 | + easing and made it a little slower than default. | ||
| 167 | +</p> | ||
| 168 | +<div id="animated">Animate Me!</div> | ||
| 169 | +<pre class="code"><code>var animated = new Ext.Resizable('animated', { | ||
| 170 | + width: 200, | ||
| 171 | + height: 100, | ||
| 172 | + minWidth:100, | ||
| 173 | + minHeight:50, | ||
| 174 | + animate:true, | ||
| 175 | + easing: 'backIn', | ||
| 176 | + duration:.6 | ||
| 177 | +});</code></pre> | ||
| 178 | +Warning: for obvious reasons animate and dynamic resizing can not be used together. | ||
| 179 | +</body> | ||
| 180 | +</html> |
thirdpartyjs/extjs/examples/resizable/basic.js
0 → 100644
| 1 | +/* | ||
| 2 | + * Ext JS Library 1.1 Beta 1 | ||
| 3 | + * Copyright(c) 2006-2007, Ext JS, LLC. | ||
| 4 | + * licensing@extjs.com | ||
| 5 | + * | ||
| 6 | + * http://www.extjs.com/license | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +var ResizableExample = { | ||
| 10 | + init : function(){ | ||
| 11 | + | ||
| 12 | + var basic = new Ext.Resizable('basic', { | ||
| 13 | + width: 200, | ||
| 14 | + height: 100, | ||
| 15 | + minWidth:100, | ||
| 16 | + minHeight:50 | ||
| 17 | + }); | ||
| 18 | + | ||
| 19 | + var animated = new Ext.Resizable('animated', { | ||
| 20 | + width: 200, | ||
| 21 | + pinned: true, | ||
| 22 | + height: 100, | ||
| 23 | + minWidth:100, | ||
| 24 | + minHeight:50, | ||
| 25 | + animate:true, | ||
| 26 | + easing: 'backIn', | ||
| 27 | + duration:.6 | ||
| 28 | + }); | ||
| 29 | + | ||
| 30 | + var wrapped = new Ext.Resizable('wrapped', { | ||
| 31 | + wrap:true, | ||
| 32 | + pinned:true, | ||
| 33 | + minWidth:50, | ||
| 34 | + minHeight: 50, | ||
| 35 | + preserveRatio: true | ||
| 36 | + }); | ||
| 37 | + | ||
| 38 | + var transparent = new Ext.Resizable('transparent', { | ||
| 39 | + wrap:true, | ||
| 40 | + minWidth:50, | ||
| 41 | + minHeight: 50, | ||
| 42 | + preserveRatio: true, | ||
| 43 | + transparent:true | ||
| 44 | + }); | ||
| 45 | + | ||
| 46 | + var custom = new Ext.Resizable('custom', { | ||
| 47 | + wrap:true, | ||
| 48 | + pinned:true, | ||
| 49 | + minWidth:50, | ||
| 50 | + minHeight: 50, | ||
| 51 | + preserveRatio: true, | ||
| 52 | + handles: 'all', | ||
| 53 | + draggable:true, | ||
| 54 | + dynamic:true | ||
| 55 | + }); | ||
| 56 | + var customEl = custom.getEl(); | ||
| 57 | + // move to the body to prevent overlap on my blog | ||
| 58 | + document.body.insertBefore(customEl.dom, document.body.firstChild); | ||
| 59 | + | ||
| 60 | + customEl.on('dblclick', function(){ | ||
| 61 | + customEl.hide(true); | ||
| 62 | + }); | ||
| 63 | + customEl.hide(); | ||
| 64 | + | ||
| 65 | + Ext.get('showMe').on('click', function(){ | ||
| 66 | + customEl.center(); | ||
| 67 | + customEl.show(true); | ||
| 68 | + }); | ||
| 69 | + | ||
| 70 | + var dwrapped = new Ext.Resizable('dwrapped', { | ||
| 71 | + wrap:true, | ||
| 72 | + pinned:true, | ||
| 73 | + width:450, | ||
| 74 | + height:150, | ||
| 75 | + minWidth:200, | ||
| 76 | + minHeight: 50, | ||
| 77 | + dynamic: true | ||
| 78 | + }); | ||
| 79 | + | ||
| 80 | + var snap = new Ext.Resizable('snap', { | ||
| 81 | + pinned:true, | ||
| 82 | + width:250, | ||
| 83 | + height:100, | ||
| 84 | + handles: 'e', | ||
| 85 | + widthIncrement:50, | ||
| 86 | + minWidth: 50, | ||
| 87 | + dynamic: true | ||
| 88 | + }); | ||
| 89 | + } | ||
| 90 | +}; | ||
| 91 | + | ||
| 92 | +Ext.EventManager.onDocumentReady(ResizableExample.init, ResizableExample, true); | ||
| 0 | \ No newline at end of file | 93 | \ No newline at end of file |
thirdpartyjs/extjs/examples/resizable/sara.jpg
0 → 100644
120 KB
thirdpartyjs/extjs/examples/resizable/sara_and_zack.jpg
0 → 100644
106 KB
thirdpartyjs/extjs/examples/resizable/zack.jpg
0 → 100644
118 KB
thirdpartyjs/extjs/examples/shared/icons/arrow-down.gif
0 → 100644
881 Bytes
thirdpartyjs/extjs/examples/shared/icons/arrow-up.gif
0 → 100644
881 Bytes
thirdpartyjs/extjs/examples/shared/icons/fam/SILK.txt
0 → 100644
thirdpartyjs/extjs/examples/shared/icons/fam/add.gif
0 → 100644
994 Bytes
thirdpartyjs/extjs/examples/shared/icons/fam/connect.png
0 → 100644
748 Bytes
thirdpartyjs/extjs/examples/shared/icons/fam/cross.gif
0 → 100644
944 Bytes
thirdpartyjs/extjs/examples/shared/icons/fam/delete.gif
0 → 100644
989 Bytes
thirdpartyjs/extjs/examples/shared/icons/fam/grid.png
0 → 100644
513 Bytes
thirdpartyjs/extjs/examples/shared/icons/fam/plugin.gif
0 → 100644
988 Bytes
thirdpartyjs/extjs/examples/shared/icons/fam/plugin_add.gif
0 → 100644
1010 Bytes
thirdpartyjs/extjs/examples/shared/icons/fam/user.png
0 → 100644
741 Bytes
thirdpartyjs/extjs/examples/shared/icons/fam/user_add.png
0 → 100644
746 Bytes
thirdpartyjs/extjs/examples/shared/icons/fam/user_comment.png
0 → 100644
743 Bytes
thirdpartyjs/extjs/examples/shared/icons/fam/user_delete.png
0 → 100644
767 Bytes
thirdpartyjs/extjs/examples/shared/icons/fam/user_edit.png
0 → 100644
833 Bytes
thirdpartyjs/extjs/examples/shared/icons/fam/user_female.png
0 → 100644
663 Bytes
thirdpartyjs/extjs/examples/shared/icons/fam/user_gray.png
0 → 100644
706 Bytes
thirdpartyjs/extjs/examples/shared/icons/fam/user_green.png
0 → 100644
722 Bytes
thirdpartyjs/extjs/examples/shared/icons/fam/user_orange.png
0 → 100644
723 Bytes
thirdpartyjs/extjs/examples/shared/icons/fam/user_red.png
0 → 100644
717 Bytes
thirdpartyjs/extjs/examples/shared/icons/fam/user_suit.png
0 → 100644
748 Bytes
thirdpartyjs/extjs/examples/shared/icons/save.gif
0 → 100644
1014 Bytes
thirdpartyjs/extjs/examples/tabs/ajax1.htm
0 → 100644
| 1 | +<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.</p><p>Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure.</p> | ||
| 2 | +<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.</p><p>Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure.</p> | ||
| 3 | +<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.</p><p>Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure.</p> |
thirdpartyjs/extjs/examples/tabs/ajax2.htm
0 → 100644
| 1 | +I'm am content loaded via AJAX. I was set up using the setUrl() method on my Ext.TabPanelItem object: | ||
| 2 | +<div style="padding:10px;background:#f1f1f1;"><pre><code>var tab3 = jtabs.addTab('jtabs-3', "Ajax Tab 2"); | ||
| 3 | +tab3.setUrl('ajax2.htm', null, true); | ||
| 4 | +</code></pre></div> | ||
| 5 | +Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure. | ||
| 6 | +Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure. | ||
| 7 | +Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure. |
thirdpartyjs/extjs/examples/tabs/tabs-adv.html
0 → 100644
| 1 | +<html> | ||
| 2 | +<head> | ||
| 3 | +<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> | ||
| 4 | +<title>Tabs Example</title> | ||
| 5 | +<link rel="stylesheet" type="text/css" href="../../resources/css/ext-all.css" /> | ||
| 6 | + | ||
| 7 | + <!-- GC --> <!-- LIBS --> <script type="text/javascript" src="../../adapter/ext/ext-base.js"></script> <!-- ENDLIBS --> | ||
| 8 | + <script type="text/javascript" src="../../ext-all.js"></script> | ||
| 9 | + | ||
| 10 | +<link rel="stylesheet" type="text/css" href="tabs-example.css" /> | ||
| 11 | +<script type="text/javascript" src="tabs-adv.js"></script> | ||
| 12 | + | ||
| 13 | +<!-- Common Styles for the examples --> | ||
| 14 | +<link rel="stylesheet" type="text/css" href="../examples.css" /> | ||
| 15 | + </head> | ||
| 16 | +<body> | ||
| 17 | +<script type="text/javascript" src="../examples.js"></script><!-- EXAMPLES --> | ||
| 18 | +<h1>Tab Panel Example 2</h1> | ||
| 19 | +<p>Note that the js and css is not minified so it is readable. See <a href="tabs-adv.js">tabs-adv.js</a> for the tab creation code | ||
| 20 | +and <a href="tabs-example.css">tabs-example.css</a> for the css.</p> | ||
| 21 | + | ||
| 22 | + <h3>Closable tabs with auto tab resize turned on.</h3><br /><br /> | ||
| 23 | + <div id="tab-panel1" style="width:800px;height:300px;"> | ||
| 24 | + <div id="root-tab"> | ||
| 25 | + <a href="#" id="add-link">Add a new Tab</a> | ||
| 26 | + <div id="content"> | ||
| 27 | + <hr /> | ||
| 28 | + <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed metus nibh, sodales a, porta at, vulputate eget, dui. Pellentesque ut nisl. Maecenas tortor turpis, interdum non, sodales non, iaculis ac, lacus. Vestibulum auctor, tortor quis iaculis malesuada, libero lectus bibendum purus, sit amet tincidunt quam turpis vel lacus. In pellentesque nisl non sem. Suspendisse nunc sem, pretium eget, cursus a, fringilla vel, urna. Aliquam commodo ullamcorper erat. Nullam vel justo in neque porttitor laoreet. Aenean lacus dui, consequat eu, adipiscing eget, nonummy non, nisi. Morbi nunc est, dignissim non, ornare sed, luctus eu, massa. Vivamus eget quam. Vivamus tincidunt diam nec urna. Curabitur velit. Quisque dolor magna, ornare sed, elementum porta, luctus in, leo.</p> | ||
| 29 | + <p>Donec quis dui. Sed imperdiet. Nunc consequat, est eu sollicitudin gravida, mauris ligula lacinia mauris, eu porta dui nisl in velit. Nam congue, odio id auctor nonummy, augue lectus euismod nunc, in tristique turpis dolor sed urna. Donec sit amet quam eget diam fermentum pharetra. Integer tincidunt arcu ut purus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla blandit malesuada odio. Nam augue. Aenean molestie sapien in mi. Suspendisse tincidunt. Pellentesque tempus dui vitae sapien. Donec aliquam ipsum sit amet pede. Sed scelerisque mi a erat. Curabitur rutrum ullamcorper risus. Maecenas et lorem ut felis dictum viverra. Fusce sem. Donec pharetra nibh sit amet sapien.</p> | ||
| 30 | + <p>Aenean ut orci sed ligula consectetuer pretium. Aliquam odio. Nam pellentesque enim. Nam tincidunt condimentum nisi. Maecenas convallis luctus ligula. Donec accumsan ornare risus. Vestibulum id magna a nunc posuere laoreet. Integer iaculis leo vitae nibh. Nam vulputate, mauris vitae luctus pharetra, pede neque bibendum tellus, facilisis commodo diam nisi eget lacus. Duis consectetuer pulvinar nisi. Cras interdum ultricies sem. Nullam tristique. Suspendisse elementum purus eu nisl. Nulla facilisi. Phasellus ultricies ullamcorper lorem. Sed euismod ante vitae lacus. Nam nunc leo, congue vehicula, luctus ac, tempus non, ante. Morbi suscipit purus a nulla. Sed eu diam.</p> | ||
| 31 | + </div> | ||
| 32 | + </div> | ||
| 33 | + </div> | ||
| 34 | +</body> | ||
| 35 | +</html> | ||
| 0 | \ No newline at end of file | 36 | \ No newline at end of file |
thirdpartyjs/extjs/examples/tabs/tabs-adv.js
0 → 100644
| 1 | +/* | ||
| 2 | + * Ext JS Library 1.1 Beta 1 | ||
| 3 | + * Copyright(c) 2006-2007, Ext JS, LLC. | ||
| 4 | + * licensing@extjs.com | ||
| 5 | + * | ||
| 6 | + * http://www.extjs.com/license | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +Ext.onReady(function(){ | ||
| 10 | + var tabs = new Ext.TabPanel('tab-panel1', { | ||
| 11 | + resizeTabs:true, // turn on tab resizing | ||
| 12 | + minTabWidth: 20, | ||
| 13 | + preferredTabWidth:150 | ||
| 14 | + }); | ||
| 15 | + | ||
| 16 | + tabs.addTab('root-tab', 'Home Tab'); | ||
| 17 | + tabs.activate(0); | ||
| 18 | + | ||
| 19 | + var content = Ext.getDom('content').innerHTML; // bogus markup for tabs | ||
| 20 | + var index = 0; | ||
| 21 | + Ext.get('add-link').on('click', function(){ | ||
| 22 | + tabs.addTab( | ||
| 23 | + Ext.id(), | ||
| 24 | + 'New Tab ' + (++index), | ||
| 25 | + 'Tab Body ' + index + content, | ||
| 26 | + true | ||
| 27 | + ); | ||
| 28 | + }); | ||
| 29 | +}); | ||
| 0 | \ No newline at end of file | 30 | \ No newline at end of file |
thirdpartyjs/extjs/examples/tabs/tabs-example.css
0 → 100644
| 1 | +/* | ||
| 2 | + * Ext JS Library 1.1 Beta 1 | ||
| 3 | + * Copyright(c) 2006-2007, Ext JS, LLC. | ||
| 4 | + * licensing@extjs.com | ||
| 5 | + * | ||
| 6 | + * http://www.extjs.com/license | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +.list {list-style:square;width:500px;padding-left:16px;} | ||
| 10 | +.list li{padding:2px;font-size:8pt;} | ||
| 11 | + | ||
| 12 | +/* hide the tab content while loading */ | ||
| 13 | +.tab-content{display:none;} | ||
| 14 | + | ||
| 15 | +pre { | ||
| 16 | + font-size:11px; | ||
| 17 | +} | ||
| 18 | + | ||
| 19 | +#tabs1 {width:400px;} | ||
| 20 | +#tabs1 .x-tabs-item-body {display:none;padding:10px;} | ||
| 21 | + | ||
| 22 | +#jtabs {width:600px;} | ||
| 23 | +#jtabs .x-tabs-body {height:200px;overflow:auto;} | ||
| 24 | +#jtabs .x-tabs-item-body {display:none;padding:10px;font-size:11px;} | ||
| 25 | + | ||
| 26 | +/* default loading indicator for ajax calls */ | ||
| 27 | +.loading-indicator { | ||
| 28 | + font-size:8pt; | ||
| 29 | + background-image:url('../../resources/images/grid/loading.gif'); | ||
| 30 | + background-repeat: no-repeat; | ||
| 31 | + background-position: left; | ||
| 32 | + padding-left:20px; | ||
| 33 | +} | ||
| 34 | + | ||
| 35 | +#tab-panel1 .x-tabs-body {height:300px;overflow:auto;} | ||
| 36 | +#tab-panel1 .x-tabs-item-body {padding:10px;} | ||
| 0 | \ No newline at end of file | 37 | \ No newline at end of file |
thirdpartyjs/extjs/examples/tabs/tabs-example.js
0 → 100644
| 1 | +/* | ||
| 2 | + * Ext JS Library 1.1 Beta 1 | ||
| 3 | + * Copyright(c) 2006-2007, Ext JS, LLC. | ||
| 4 | + * licensing@extjs.com | ||
| 5 | + * | ||
| 6 | + * http://www.extjs.com/license | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +var TabsExample = { | ||
| 10 | + init : function(){ | ||
| 11 | + // basic tabs 1, built from existing content | ||
| 12 | + var tabs = new Ext.TabPanel('tabs1'); | ||
| 13 | + tabs.addTab('script', "View Script"); | ||
| 14 | + tabs.addTab('markup', "View Markup"); | ||
| 15 | + tabs.activate('script'); | ||
| 16 | + | ||
| 17 | + // second tabs built from JS | ||
| 18 | + var jtabs = new Ext.TabPanel('jtabs'); | ||
| 19 | + jtabs.addTab('jtabs-1', "Normal Tab", "My content was added during construction."); | ||
| 20 | + | ||
| 21 | + var tab2 = jtabs.addTab('jtabs-2', "Ajax Tab 1"); | ||
| 22 | + var updater = tab2.getUpdateManager(); | ||
| 23 | + updater.setDefaultUrl('ajax1.htm'); | ||
| 24 | + tab2.on('activate', updater.refresh, updater, true); | ||
| 25 | + | ||
| 26 | + var tab3 = jtabs.addTab('jtabs-3', "Ajax Tab 2"); | ||
| 27 | + tab3.setUrl('ajax2.htm', null, true); | ||
| 28 | + | ||
| 29 | + var tab4 = jtabs.addTab('jtabs-4', "Event Tab"); | ||
| 30 | + tab4.setContent("I am tab 4's content. My content was set with setContent() after I was created. I also have an event listener attached."); | ||
| 31 | + tab4.on('activate', function(){ | ||
| 32 | + alert('Tab 4 was activated.'); | ||
| 33 | + }); | ||
| 34 | + | ||
| 35 | + jtabs.addTab('tabs1-5', "Disabled Tab", "Can't see me cause I'm disabled"); | ||
| 36 | + jtabs.disableTab('tabs1-5'); | ||
| 37 | + | ||
| 38 | + jtabs.activate('jtabs-1'); | ||
| 39 | + } | ||
| 40 | +} | ||
| 41 | +Ext.EventManager.onDocumentReady(TabsExample.init, TabsExample, true); | ||
| 0 | \ No newline at end of file | 42 | \ No newline at end of file |
thirdpartyjs/extjs/examples/tabs/tabs.html
0 → 100644
| 1 | +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> | ||
| 2 | +<html> | ||
| 3 | +<head> | ||
| 4 | + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> | ||
| 5 | + <title>Tabs Example</title> | ||
| 6 | + <link rel="stylesheet" type="text/css" href="../../resources/css/ext-all.css" /> | ||
| 7 | + | ||
| 8 | + <!-- GC --> <!-- LIBS --> <script type="text/javascript" src="../../adapter/ext/ext-base.js"></script> <!-- ENDLIBS --> | ||
| 9 | + | ||
| 10 | + <script type="text/javascript" src="../../ext-core.js"></script> | ||
| 11 | + <script type="text/javascript" src="../../package/util.js"></script> | ||
| 12 | + <script type="text/javascript" src="../../package/tabs/tabs.js"></script> | ||
| 13 | + | ||
| 14 | + <!-- Tabs Example Files --> | ||
| 15 | + <link rel="stylesheet" type="text/css" href="tabs-example.css" /> | ||
| 16 | + <script type="text/javascript" src="tabs-example.js"></script> | ||
| 17 | + | ||
| 18 | + <!-- Common Styles for the examples --> | ||
| 19 | + <link rel="stylesheet" type="text/css" href="../examples.css" /> | ||
| 20 | +</head> | ||
| 21 | +<body> | ||
| 22 | +<script type="text/javascript" src="../examples.js"></script><!-- EXAMPLES --> | ||
| 23 | + | ||
| 24 | +<h1>Tab Panel Examples</h1> | ||
| 25 | +<p>Note that the js and css is not minified so it is readable. See <a href="tabs-example.js">tabs-example.js</a> for the tab creation code | ||
| 26 | +and <a href="tabs-example.css">tabs-example.css</a> for the css.</p> | ||
| 27 | + | ||
| 28 | + <h3>Tabs without fixed height that resize to the content. Built from existing markup.</h3><br> | ||
| 29 | + <!-- container for the existing markup tabs --> | ||
| 30 | + <div id="tabs1"> | ||
| 31 | + <div id="script" class="tab-content"> | ||
| 32 | + <b>Here's my script:</b> | ||
| 33 | + | ||
| 34 | +<!-- pre sections lookup hideous --> | ||
| 35 | +<pre> | ||
| 36 | +var tabs = new Ext.TabPanel('tabs1'); | ||
| 37 | +tabs.addTab('script', "View Script"); | ||
| 38 | +tabs.addTab('markup', "View Markup"); | ||
| 39 | +tabs.activate('script');</pre> | ||
| 40 | + <!-- end pre --> | ||
| 41 | + | ||
| 42 | + </div> | ||
| 43 | + <div id="markup" class="tab-content"> | ||
| 44 | + | ||
| 45 | +<!-- pre sections lookup hideous --> | ||
| 46 | +<pre> | ||
| 47 | +<div id="tabs1"> | ||
| 48 | + <div id="script" class="tab-content"> | ||
| 49 | + (Content goes here) | ||
| 50 | + </div> | ||
| 51 | + <div id="markup" class="tab-content"> | ||
| 52 | + (Content goes here) | ||
| 53 | + </div> | ||
| 54 | +</div></pre> | ||
| 55 | +<!-- end pre --> | ||
| 56 | + | ||
| 57 | + </div> | ||
| 58 | + </div> | ||
| 59 | + | ||
| 60 | + <br> | ||
| 61 | + <h3>Tabs with fixed height that scroll the content. Built entirely with javascript.</h3> | ||
| 62 | + <ul class="list"> | ||
| 63 | + <li>Tab 1 is a normal tab with content passed when adding it.</li> | ||
| 64 | + <li>Tab 2 is loaded via Ajax. It was set up using the standard UpdateManager functionality. It reloads it's content every time it's activated.</li> | ||
| 65 | + <li>Tab 3 is loaded via Ajax too. It was set up using setUrl() a convenience method that will do everything done on tab 2 and also has the ability to set it to load only once.</li> | ||
| 66 | + <li>Tab 4 has an event listener attached.</li> | ||
| 67 | + <li>Tab 5 is disabled.</li> | ||
| 68 | + </ul><br> | ||
| 69 | + | ||
| 70 | + <!-- container for the pure JS tabs --> | ||
| 71 | + <div id="jtabs" class="xp"> | ||
| 72 | + </div> | ||
| 73 | + | ||
| 74 | +</body> | ||
| 75 | +</html> | ||
| 0 | \ No newline at end of file | 76 | \ No newline at end of file |
thirdpartyjs/extjs/examples/tree/Thumbs.db
0 → 100644
No preview for this file type
thirdpartyjs/extjs/examples/tree/album.gif
0 → 100644
1.01 KB
thirdpartyjs/extjs/examples/tree/center-bg.gif
0 → 100644
811 Bytes
thirdpartyjs/extjs/examples/tree/dep-tree.json
0 → 100644
| 1 | +[{"text":"Ext Core (Required)","id":"c-1176543742240","options":[],"files":[{"allowDelete":true,"text":"DomHelper.js","id":"source/core/DomHelper.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 4:51 am<br />Size: 14 KB","qtipTitle":"DomHelper.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"Template.js","id":"source/core/Template.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 4:51 am<br />Size: 13 KB","qtipTitle":"Template.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"DomQuery.js","id":"source/core/DomQuery.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 4:51 am<br />Size: 24 KB","qtipTitle":"DomQuery.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"Observable.js","id":"source/util/Observable.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 4:51 am<br />Size: 9.4 KB","qtipTitle":"Observable.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"EventManager.js","id":"source/core/EventManager.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 4:51 am<br />Size: 24 KB","qtipTitle":"EventManager.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"Element.js","id":"source/core/Element.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 4:51 am<br />Size: 101 KB","qtipTitle":"Element.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"Fx.js","id":"source/core/Fx.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 4:51 am<br />Size: 33 KB","qtipTitle":"Fx.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"CompositeElement.js","id":"source/core/CompositeElement.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 4:51 am<br />Size: 7.1 KB","qtipTitle":"CompositeElement.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"UpdateManager.js","id":"source/core/UpdateManager.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 4:51 am<br />Size: 19 KB","qtipTitle":"UpdateManager.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"DelayedTask.js","id":"source/util/DelayedTask.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 4:51 am<br />Size: 2 KB","qtipTitle":"DelayedTask.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}],"dep":[]},{"text":"Core - Utilities","id":"c-1176547092092","options":[],"files":[{"allowDelete":true,"text":"ClickRepeater.js","id":"source/util/ClickRepeater.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:31 am<br />Size: 4.9 KB","qtipTitle":"ClickRepeater.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"CSS.js","id":"source/util/CSS.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:31 am<br />Size: 5 KB","qtipTitle":"CSS.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"Format.js","id":"source/util/Format.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:31 am<br />Size: 5.4 KB","qtipTitle":"Format.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"JSON.js","id":"source/util/JSON.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:31 am<br />Size: 4.3 KB","qtipTitle":"JSON.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"KeyMap.js","id":"source/util/KeyMap.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:31 am<br />Size: 5.9 KB","qtipTitle":"KeyMap.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"KeyNav.js","id":"source/util/KeyNav.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:31 am<br />Size: 3 KB","qtipTitle":"KeyNav.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"MixedCollection.js","id":"source/util/MixedCollection.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:31 am<br />Size: 17 KB","qtipTitle":"MixedCollection.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"TaskMgr.js","id":"source/util/TaskMgr.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:31 am<br />Size: 2.3 KB","qtipTitle":"TaskMgr.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"TextMetrics.js","id":"source/util/TextMetrics.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:31 am<br />Size: 1.8 KB","qtipTitle":"TextMetrics.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}],"dep":[]},{"text":"Core - Date Parsing and Formatting","id":"c-1176614560128","options":[],"files":[{"allowDelete":true,"expanded":true,"text":"Date.js","id":"source/util/Date.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 11:01 pm<br />Size: 23 KB","qtipTitle":"Date.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","dataUrl":"dependency.php","events":{"beforeload":true,"load":true,"loadexception":true},"transId":false}}],"dep":[]},{"text":"Core - Layers","id":"c-1176548288067","options":[],"files":[{"allowDelete":true,"text":"Component.js","id":"source/widgets/Component.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:56 am<br />Size: 9 KB","qtipTitle":"Component.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"Layer.js","id":"source/widgets/Layer.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:56 am<br />Size: 9.9 KB","qtipTitle":"Layer.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"Shadow.js","id":"source/widgets/Shadow.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:56 am<br />Size: 3.4 KB","qtipTitle":"Shadow.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}],"dep":[]},{"text":"Core - Drag and Drop","id":"c-1176548288338","options":[{"text":"Overflow Scrolling Support","cmpId":"c-1176548288338","iconCls":"folder","type":"fileCt","allowDelete":true,"allowEdit":true,"id":"o-1176599383444","children":[{"allowDelete":true,"text":"ScrollManager.js","id":"source/dd/ScrollManager.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 9:02 pm<br />Size: 5.5 KB","qtipTitle":"ScrollManager.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","dataUrl":"dependency.php","events":{"beforeload":true,"load":true,"loadexception":true},"transId":false}}],"loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}],"files":[{"allowDelete":true,"text":"DDCore.js","id":"source/dd/DDCore.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:56 am<br />Size: 95 KB","qtipTitle":"DDCore.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"StatusProxy.js","id":"source/dd/StatusProxy.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:56 am<br />Size: 3.1 KB","qtipTitle":"StatusProxy.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"Registry.js","id":"source/dd/Registry.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:56 am<br />Size: 2.3 KB","qtipTitle":"Registry.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"DragSource.js","id":"source/dd/DragSource.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:56 am<br />Size: 6.3 KB","qtipTitle":"DragSource.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"DropTarget.js","id":"source/dd/DropTarget.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:56 am<br />Size: 1.2 KB","qtipTitle":"DropTarget.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"DragZone.js","id":"source/dd/DragZone.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:56 am<br />Size: 2.6 KB","qtipTitle":"DragZone.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"DropZone.js","id":"source/dd/DropZone.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:56 am<br />Size: 2.3 KB","qtipTitle":"DropZone.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}],"dep":[{"allowDelete":true,"text":"Layer.js","id":"source/widgets/Layer.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:56 am<br />Size: 9.9 KB","qtipTitle":"Layer.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"Shadow.js","id":"source/widgets/Shadow.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:56 am<br />Size: 3.4 KB","qtipTitle":"Shadow.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}]},{"text":"Core - State Management","id":"c-1176681140293","options":[],"files":[{"allowDelete":true,"expanded":true,"text":"State.js","id":"source/state/State.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 15, 2007, 5:18 pm<br />Size: 9.8 KB","qtipTitle":"State.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","dataUrl":"dependency.php","events":{"beforeload":true,"load":true,"loadexception":true},"transId":false}}],"dep":[]},{"text":"Resizable","id":"c-1176548288611","options":[],"files":[{"allowDelete":true,"text":"Resizable.js","id":"source/widgets/Resizable.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:56 am<br />Size: 21 KB","qtipTitle":"Resizable.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}],"dep":[]},{"text":"QuickTips - Tooltip Widget","id":"c-1176548289178","options":[],"files":[{"allowDelete":true,"text":"QuickTips.js","id":"source/widgets/QuickTips.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:56 am<br />Size: 9.1 KB","qtipTitle":"QuickTips.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}],"dep":[{"allowDelete":true,"text":"Shadow.js","id":"source/widgets/Shadow.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:56 am<br />Size: 3.4 KB","qtipTitle":"Shadow.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"Layer.js","id":"source/widgets/Layer.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:56 am<br />Size: 9.9 KB","qtipTitle":"Layer.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}]},{"text":"Button Widget","id":"c-1176548288907","options":[{"text":"Button QuickTips","cmpId":"c-1176548288907","iconCls":"folder","type":"fileCt","allowDelete":true,"allowEdit":true,"id":"o-1176590302846","children":[{"allowDelete":true,"text":"QuickTips.js","id":"source/widgets/QuickTips.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 9:02 pm<br />Size: 9.1 KB","qtipTitle":"QuickTips.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","dataUrl":"dependency.php","events":{"beforeload":true,"load":true,"loadexception":true},"transId":false}}],"loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}],"files":[{"allowDelete":true,"text":"Button.js","id":"source/widgets/Button.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:56 am<br />Size: 13 KB","qtipTitle":"Button.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"MenuButton.js","id":"source/widgets/MenuButton.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:04 pm<br />Size: 6.3 KB","qtipTitle":"MenuButton.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}],"dep":[{"allowDelete":true,"text":"TextMetrics.js","id":"source/util/TextMetrics.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:56 am<br />Size: 1.8 KB","qtipTitle":"TextMetrics.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}]},{"text":"Tabs Widget","id":"c-1176590622815","options":[],"files":[{"allowDelete":true,"text":"TabPanel.js","id":"source/widgets/TabPanel.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:04 pm<br />Size: 25 KB","qtipTitle":"TabPanel.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}],"dep":[]},{"text":"SplitBar Widget","id":"c-1176548289426","options":[],"files":[{"allowDelete":true,"text":"SplitBar.js","id":"source/widgets/SplitBar.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:04 pm<br />Size: 14 KB","qtipTitle":"SplitBar.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}],"dep":[{"allowDelete":true,"text":"DDCore.js","id":"source/dd/DDCore.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:04 pm<br />Size: 95 KB","qtipTitle":"DDCore.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}]},{"text":"Menu Widget","id":"c-1176548289698","options":[{"text":"Color Palette Item","cmpId":"c-1176548289698","iconCls":"folder","type":"fileCt","allowDelete":true,"allowEdit":true,"id":"o-1176600135917","children":[{"allowDelete":true,"text":"ColorPalette.js","id":"source/widgets/ColorPalette.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 9:02 pm<br />Size: 4.5 KB","qtipTitle":"ColorPalette.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}],"loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"text":"Date Picker Item","cmpId":"c-1176548289698","iconCls":"folder","type":"fileCt","allowDelete":true,"allowEdit":true,"id":"o-1176600141997","children":[{"allowDelete":true,"text":"DatePicker.js","id":"source/widgets/DatePicker.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 9:02 pm<br />Size: 16 KB","qtipTitle":"DatePicker.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}],"loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}],"files":[{"allowDelete":true,"text":"Adapter.js","id":"source/widgets/menu/Adapter.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:04 pm<br />Size: 1.5 KB","qtipTitle":"Adapter.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"BaseItem.js","id":"source/widgets/menu/BaseItem.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:04 pm<br />Size: 3.7 KB","qtipTitle":"BaseItem.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"CheckItem.js","id":"source/widgets/menu/CheckItem.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:04 pm<br />Size: 3.7 KB","qtipTitle":"CheckItem.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"Item.js","id":"source/widgets/menu/Item.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:04 pm<br />Size: 3.8 KB","qtipTitle":"Item.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"Menu.js","id":"source/widgets/menu/Menu.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:04 pm<br />Size: 16 KB","qtipTitle":"Menu.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"MenuMgr.js","id":"source/widgets/menu/MenuMgr.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:04 pm<br />Size: 4.7 KB","qtipTitle":"MenuMgr.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"Separator.js","id":"source/widgets/menu/Separator.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:04 pm<br />Size: 1.2 KB","qtipTitle":"Separator.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"TextItem.js","id":"source/widgets/menu/TextItem.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:04 pm<br />Size: 1.1 KB","qtipTitle":"TextItem.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}],"dep":[{"allowDelete":true,"text":"MixedCollection.js","id":"source/util/MixedCollection.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:04 pm<br />Size: 17 KB","qtipTitle":"MixedCollection.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"Shadow.js","id":"source/widgets/Shadow.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:04 pm<br />Size: 3.4 KB","qtipTitle":"Shadow.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"Layer.js","id":"source/widgets/Layer.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:04 pm<br />Size: 9.9 KB","qtipTitle":"Layer.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"Component.js","id":"source/widgets/Component.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:04 pm<br />Size: 9 KB","qtipTitle":"Component.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"KeyNav.js","id":"source/util/KeyNav.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 3 KB","qtipTitle":"KeyNav.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}]},{"text":"Loading Mask Widget","id":"c-1176682522794","options":[],"files":[{"allowDelete":true,"expanded":true,"text":"LoadMask.js","id":"source/widgets/LoadMask.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 15, 2007, 5:18 pm<br />Size: 3.1 KB","qtipTitle":"LoadMask.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","dataUrl":"dependency.php","events":{"beforeload":true,"load":true,"loadexception":true},"transId":false}}],"dep":[]},{"text":"Date Picker Popup (DateMenu)","id":"c-1176548289970","options":[],"files":[{"allowDelete":true,"text":"DateMenu.js","id":"source/widgets/menu/DateMenu.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:04 pm<br />Size: 888 B","qtipTitle":"DateMenu.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"DatePicker.js","id":"source/widgets/DatePicker.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:04 pm<br />Size: 16 KB","qtipTitle":"DatePicker.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"DateItem.js","id":"source/widgets/menu/DateItem.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:04 pm<br />Size: 1.1 KB","qtipTitle":"DateItem.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}],"dep":[{"allowDelete":true,"text":"Date.js","id":"source/util/Date.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:04 pm<br />Size: 23 KB","qtipTitle":"Date.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"Layer.js","id":"source/widgets/Layer.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:04 pm<br />Size: 9.9 KB","qtipTitle":"Layer.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"Shadow.js","id":"source/widgets/Shadow.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:04 pm<br />Size: 3.4 KB","qtipTitle":"Shadow.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"MenuMgr.js","id":"source/widgets/menu/MenuMgr.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:04 pm<br />Size: 4.7 KB","qtipTitle":"MenuMgr.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"Menu.js","id":"source/widgets/menu/Menu.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:04 pm<br />Size: 16 KB","qtipTitle":"Menu.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"BaseItem.js","id":"source/widgets/menu/BaseItem.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:04 pm<br />Size: 3.7 KB","qtipTitle":"BaseItem.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"Adapter.js","id":"source/widgets/menu/Adapter.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:04 pm<br />Size: 1.5 KB","qtipTitle":"Adapter.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"Component.js","id":"source/widgets/Component.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:04 pm<br />Size: 9 KB","qtipTitle":"Component.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"KeyNav.js","id":"source/util/KeyNav.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 3 KB","qtipTitle":"KeyNav.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"ClickRepeater.js","id":"source/util/ClickRepeater.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 4.9 KB","qtipTitle":"ClickRepeater.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}]},{"text":"Color Picker Popup (ColorMenu)","id":"c-1176548290251","options":[],"files":[{"allowDelete":true,"text":"ColorMenu.js","id":"source/widgets/menu/ColorMenu.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:04 pm<br />Size: 915 B","qtipTitle":"ColorMenu.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"ColorItem.js","id":"source/widgets/menu/ColorItem.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:04 pm<br />Size: 792 B","qtipTitle":"ColorItem.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"ColorPalette.js","id":"source/widgets/ColorPalette.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:04 pm<br />Size: 4.5 KB","qtipTitle":"ColorPalette.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}],"dep":[{"allowDelete":true,"text":"Layer.js","id":"source/widgets/Layer.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:04 pm<br />Size: 9.9 KB","qtipTitle":"Layer.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"Shadow.js","id":"source/widgets/Shadow.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:04 pm<br />Size: 3.4 KB","qtipTitle":"Shadow.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"MenuMgr.js","id":"source/widgets/menu/MenuMgr.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:04 pm<br />Size: 4.7 KB","qtipTitle":"MenuMgr.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"Menu.js","id":"source/widgets/menu/Menu.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:04 pm<br />Size: 16 KB","qtipTitle":"Menu.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"BaseItem.js","id":"source/widgets/menu/BaseItem.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:04 pm<br />Size: 3.7 KB","qtipTitle":"BaseItem.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"Adapter.js","id":"source/widgets/menu/Adapter.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:04 pm<br />Size: 1.5 KB","qtipTitle":"Adapter.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"Component.js","id":"source/widgets/Component.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:04 pm<br />Size: 9 KB","qtipTitle":"Component.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}]},{"text":"Border Layout Widget","id":"c-1176590622527","options":[{"text":"Preconfigured Outlook Style Layout","cmpId":"c-1176590622527","iconCls":"folder","type":"fileCt","allowDelete":true,"allowEdit":true,"id":"o-1176600285242","children":[{"allowDelete":true,"text":"ReaderLayout.js","id":"source/widgets/layout/ReaderLayout.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 9:02 pm<br />Size: 2.4 KB","qtipTitle":"ReaderLayout.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}],"loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}],"files":[{"allowDelete":true,"text":"BasicLayoutRegion.js","id":"source/widgets/layout/BasicLayoutRegion.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:04 pm<br />Size: 9.5 KB","qtipTitle":"BasicLayoutRegion.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"BorderLayout.js","id":"source/widgets/layout/BorderLayout.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:04 pm<br />Size: 11 KB","qtipTitle":"BorderLayout.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"BorderLayoutRegions.js","id":"source/widgets/layout/BorderLayoutRegions.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:04 pm<br />Size: 6.2 KB","qtipTitle":"BorderLayoutRegions.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"ContentPanels.js","id":"source/widgets/layout/ContentPanels.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:04 pm<br />Size: 17 KB","qtipTitle":"ContentPanels.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"LayoutManager.js","id":"source/widgets/layout/LayoutManager.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:04 pm<br />Size: 4.2 KB","qtipTitle":"LayoutManager.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"LayoutRegion.js","id":"source/widgets/layout/LayoutRegion.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:04 pm<br />Size: 21 KB","qtipTitle":"LayoutRegion.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"LayoutStateManager.js","id":"source/widgets/layout/LayoutStateManager.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:04 pm<br />Size: 2.3 KB","qtipTitle":"LayoutStateManager.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"SplitLayoutRegion.js","id":"source/widgets/layout/SplitLayoutRegion.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:04 pm<br />Size: 10 KB","qtipTitle":"SplitLayoutRegion.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}],"dep":[{"allowDelete":true,"text":"MixedCollection.js","id":"source/util/MixedCollection.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:04 pm<br />Size: 17 KB","qtipTitle":"MixedCollection.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"SplitBar.js","id":"source/widgets/SplitBar.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:04 pm<br />Size: 14 KB","qtipTitle":"SplitBar.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"DDCore.js","id":"source/dd/DDCore.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:04 pm<br />Size: 95 KB","qtipTitle":"DDCore.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"TabPanel.js","id":"source/widgets/TabPanel.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:04 pm<br />Size: 25 KB","qtipTitle":"TabPanel.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}]},{"text":"Toolbar Widget","id":"c-1176590623103","options":[{"text":"Menu Buttons","cmpId":"c-1176590623103","iconCls":"folder","type":"fileCt","allowDelete":true,"allowEdit":true,"id":"o-1176600354384","children":[{"allowDelete":true,"text":"MenuButton.js","id":"source/widgets/MenuButton.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 9:02 pm<br />Size: 6.3 KB","qtipTitle":"MenuButton.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}],"loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"text":"Paging Toolbar","cmpId":"c-1176590623103","iconCls":"folder","type":"fileCt","allowDelete":true,"allowEdit":true,"id":"o-1176683220697","children":[{"allowDelete":true,"expanded":true,"text":"PagingToolbar.js","id":"source/widgets/PagingToolbar.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 15, 2007, 5:18 pm<br />Size: 9.2 KB","qtipTitle":"PagingToolbar.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","dataUrl":"dependency.php","events":{"beforeload":true,"load":true,"loadexception":true},"transId":false}}]}],"files":[{"allowDelete":true,"text":"Toolbar.js","id":"source/widgets/Toolbar.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:04 pm<br />Size: 12 KB","qtipTitle":"Toolbar.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}],"dep":[{"allowDelete":true,"text":"MixedCollection.js","id":"source/util/MixedCollection.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:04 pm<br />Size: 17 KB","qtipTitle":"MixedCollection.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"Button.js","id":"source/widgets/Button.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:56 am<br />Size: 13 KB","qtipTitle":"Button.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"TextMetrics.js","id":"source/util/TextMetrics.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:56 am<br />Size: 1.8 KB","qtipTitle":"TextMetrics.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}]},{"text":"Dialog - Basic Widget","id":"c-1176590621920","options":[{"text":"Dialog Resize Support","cmpId":"c-1176590621920","iconCls":"folder","type":"fileCt","allowDelete":true,"allowEdit":true,"id":"o-1176591083447","children":[{"allowDelete":true,"text":"Resizable.js","id":"source/widgets/Resizable.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 9:02 pm<br />Size: 21 KB","qtipTitle":"Resizable.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}],"loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"text":"Dialog Drag and Drop Support","cmpId":"c-1176590621920","iconCls":"folder","type":"fileCt","allowDelete":true,"allowEdit":true,"id":"o-1176591106528","children":[{"allowDelete":true,"text":"DDCore.js","id":"source/dd/DDCore.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 9:02 pm<br />Size: 95 KB","qtipTitle":"DDCore.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}],"loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"text":"Tabs Support","cmpId":"c-1176590621920","iconCls":"folder","type":"fileCt","allowDelete":true,"allowEdit":true,"id":"o-1176593460681","children":[{"allowDelete":true,"text":"TabPanel.js","id":"source/widgets/TabPanel.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 9:02 pm<br />Size: 25 KB","qtipTitle":"TabPanel.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}],"loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}],"files":[{"allowDelete":true,"text":"BasicDialog.js","id":"source/widgets/BasicDialog.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:04 pm<br />Size: 41 KB","qtipTitle":"BasicDialog.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}],"dep":[{"allowDelete":true,"text":"Shadow.js","id":"source/widgets/Shadow.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:04 pm<br />Size: 3.4 KB","qtipTitle":"Shadow.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}]},{"text":"Dialog - MessageBox","id":"c-1176590623375","options":[],"files":[{"allowDelete":true,"text":"MessageBox.js","id":"source/widgets/MessageBox.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:04 pm<br />Size: 20 KB","qtipTitle":"MessageBox.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}],"dep":[{"allowDelete":true,"text":"BasicDialog.js","id":"source/widgets/BasicDialog.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:04 pm<br />Size: 41 KB","qtipTitle":"BasicDialog.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"Shadow.js","id":"source/widgets/Shadow.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:04 pm<br />Size: 3.4 KB","qtipTitle":"Shadow.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}]},{"text":"Data - Core","id":"c-1176590623903","options":[],"files":[{"allowDelete":true,"text":"Connection.js","id":"source/data/Connection.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 2.6 KB","qtipTitle":"Connection.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"DataField.js","id":"source/data/DataField.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 3 KB","qtipTitle":"DataField.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"DataProxy.js","id":"source/data/DataProxy.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 1.7 KB","qtipTitle":"DataProxy.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"DataReader.js","id":"source/data/DataReader.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 379 B","qtipTitle":"DataReader.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"Record.js","id":"source/data/Record.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 7.5 KB","qtipTitle":"Record.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"SortTypes.js","id":"source/data/SortTypes.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 2.4 KB","qtipTitle":"SortTypes.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"Store.js","id":"source/data/Store.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 20 KB","qtipTitle":"Store.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"HttpProxy.js","id":"source/data/HttpProxy.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 3.7 KB","qtipTitle":"HttpProxy.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"ScriptTagProxy.js","id":"source/data/ScriptTagProxy.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 6.2 KB","qtipTitle":"ScriptTagProxy.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"MemoryProxy.js","id":"source/data/MemoryProxy.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 2.1 KB","qtipTitle":"MemoryProxy.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}],"dep":[{"allowDelete":true,"text":"MixedCollection.js","id":"source/util/MixedCollection.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 17 KB","qtipTitle":"MixedCollection.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}]},{"text":"Data - JSON Support","id":"c-1176590624144","options":[],"files":[{"allowDelete":true,"text":"JsonReader.js","id":"source/data/JsonReader.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 6 KB","qtipTitle":"JsonReader.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"ArrayReader.js","id":"source/data/ArrayReader.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 3.4 KB","qtipTitle":"ArrayReader.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}],"dep":[{"allowDelete":true,"text":"JSON.js","id":"source/util/JSON.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 4.3 KB","qtipTitle":"JSON.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"Connection.js","id":"source/data/Connection.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 2.6 KB","qtipTitle":"Connection.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"DataField.js","id":"source/data/DataField.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 3 KB","qtipTitle":"DataField.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"DataProxy.js","id":"source/data/DataProxy.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 1.7 KB","qtipTitle":"DataProxy.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"DataReader.js","id":"source/data/DataReader.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 379 B","qtipTitle":"DataReader.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"Record.js","id":"source/data/Record.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 7.5 KB","qtipTitle":"Record.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"SortTypes.js","id":"source/data/SortTypes.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 2.4 KB","qtipTitle":"SortTypes.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"Store.js","id":"source/data/Store.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 20 KB","qtipTitle":"Store.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"HttpProxy.js","id":"source/data/HttpProxy.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 3.7 KB","qtipTitle":"HttpProxy.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"ScriptTagProxy.js","id":"source/data/ScriptTagProxy.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 6.2 KB","qtipTitle":"ScriptTagProxy.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"MemoryProxy.js","id":"source/data/MemoryProxy.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 2.1 KB","qtipTitle":"MemoryProxy.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"MixedCollection.js","id":"source/util/MixedCollection.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 17 KB","qtipTitle":"MixedCollection.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}]},{"text":"Data - XML Support","id":"c-1176594563024","options":[],"files":[{"allowDelete":true,"text":"XmlReader.js","id":"source/data/XmlReader.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 4.7 KB","qtipTitle":"XmlReader.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}],"dep":[{"allowDelete":true,"text":"Connection.js","id":"source/data/Connection.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 2.6 KB","qtipTitle":"Connection.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"DataField.js","id":"source/data/DataField.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 3 KB","qtipTitle":"DataField.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"DataProxy.js","id":"source/data/DataProxy.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 1.7 KB","qtipTitle":"DataProxy.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"DataReader.js","id":"source/data/DataReader.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 379 B","qtipTitle":"DataReader.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"Record.js","id":"source/data/Record.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 7.5 KB","qtipTitle":"Record.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"SortTypes.js","id":"source/data/SortTypes.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 2.4 KB","qtipTitle":"SortTypes.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"Store.js","id":"source/data/Store.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 20 KB","qtipTitle":"Store.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"HttpProxy.js","id":"source/data/HttpProxy.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 3.7 KB","qtipTitle":"HttpProxy.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"ScriptTagProxy.js","id":"source/data/ScriptTagProxy.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 6.2 KB","qtipTitle":"ScriptTagProxy.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"MemoryProxy.js","id":"source/data/MemoryProxy.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 2.1 KB","qtipTitle":"MemoryProxy.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"MixedCollection.js","id":"source/util/MixedCollection.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 17 KB","qtipTitle":"MixedCollection.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}]},{"text":"Data - Simple Store","id":"c-1176594562552","options":[],"files":[{"allowDelete":true,"text":"SimpleStore.js","id":"source/data/SimpleStore.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 976 B","qtipTitle":"SimpleStore.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}],"dep":[{"allowDelete":true,"text":"JsonReader.js","id":"source/data/JsonReader.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 6 KB","qtipTitle":"JsonReader.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"ArrayReader.js","id":"source/data/ArrayReader.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 3.4 KB","qtipTitle":"ArrayReader.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"Connection.js","id":"source/data/Connection.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 2.6 KB","qtipTitle":"Connection.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"DataField.js","id":"source/data/DataField.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 3 KB","qtipTitle":"DataField.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"DataReader.js","id":"source/data/DataReader.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 379 B","qtipTitle":"DataReader.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"Record.js","id":"source/data/Record.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 7.5 KB","qtipTitle":"Record.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"SortTypes.js","id":"source/data/SortTypes.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 2.4 KB","qtipTitle":"SortTypes.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"Store.js","id":"source/data/Store.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 20 KB","qtipTitle":"Store.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"MixedCollection.js","id":"source/util/MixedCollection.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 17 KB","qtipTitle":"MixedCollection.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}]},{"text":"Views - Data Bound Views","id":"c-1176590623664","options":[{"text":"JSON Support","cmpId":"c-1176590623664","iconCls":"folder","type":"fileCt","allowDelete":true,"allowEdit":true,"id":"o-1176594452492","children":[{"allowDelete":true,"expanded":true,"text":"JSON.js","id":"source/util/JSON.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 11:01 pm<br />Size: 4.3 KB","qtipTitle":"JSON.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","dataUrl":"dependency.php","events":{"beforeload":true,"load":true,"loadexception":true},"transId":false}}],"loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}],"files":[{"allowDelete":true,"text":"View.js","id":"source/widgets/View.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:04 pm<br />Size: 24 KB","qtipTitle":"View.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"JsonView.js","id":"source/widgets/JsonView.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 9.9 KB","qtipTitle":"JsonView.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}],"dep":[]},{"text":"Form - Basic Fields","id":"c-1176596007536","options":[{"text":"Custom Validations","cmpId":"c-1176596007536","iconCls":"folder","type":"fileCt","allowDelete":true,"allowEdit":true,"id":"o-1176596661900","children":[{"allowDelete":true,"text":"VTypes.js","id":"source/widgets/form/VTypes.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 9:02 pm<br />Size: 2.9 KB","qtipTitle":"VTypes.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}],"loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}],"files":[{"allowDelete":true,"text":"Field.js","id":"source/widgets/form/Field.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 15 KB","qtipTitle":"Field.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"Checkbox.js","id":"source/widgets/form/Checkbox.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 3.6 KB","qtipTitle":"Checkbox.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"NumberField.js","id":"source/widgets/form/NumberField.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 4.8 KB","qtipTitle":"NumberField.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"Radio.js","id":"source/widgets/form/Radio.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 489 B","qtipTitle":"Radio.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"TextArea.js","id":"source/widgets/form/TextArea.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 3.2 KB","qtipTitle":"TextArea.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"TextField.js","id":"source/widgets/form/TextField.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 11 KB","qtipTitle":"TextField.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}],"dep":[{"allowDelete":true,"text":"Component.js","id":"source/widgets/Component.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 9 KB","qtipTitle":"Component.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}]},{"text":"Form - ComboBox Widget","id":"c-1176594563568","options":[{"text":"Custom Validations","cmpId":"c-1176594563568","iconCls":"folder","type":"fileCt","allowDelete":true,"allowEdit":true,"id":"o-1176596097474","children":[{"allowDelete":true,"text":"VTypes.js","id":"source/widgets/form/VTypes.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 9:02 pm<br />Size: 2.9 KB","qtipTitle":"VTypes.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}],"loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}],"files":[{"allowDelete":true,"text":"Combo.js","id":"source/widgets/form/Combo.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 28 KB","qtipTitle":"Combo.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}],"dep":[{"allowDelete":true,"text":"Component.js","id":"source/widgets/Component.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 9 KB","qtipTitle":"Component.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"Field.js","id":"source/widgets/form/Field.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 15 KB","qtipTitle":"Field.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"TextField.js","id":"source/widgets/form/TextField.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 11 KB","qtipTitle":"TextField.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"TriggerField.js","id":"source/widgets/form/TriggerField.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 6 KB","qtipTitle":"TriggerField.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"View.js","id":"source/widgets/View.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:04 pm<br />Size: 24 KB","qtipTitle":"View.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"KeyNav.js","id":"source/util/KeyNav.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 3 KB","qtipTitle":"KeyNav.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}]},{"text":"Form - Date Field","id":"c-1176596008487","options":[],"files":[{"allowDelete":true,"text":"DateField.js","id":"source/widgets/form/DateField.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 9 KB","qtipTitle":"DateField.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}],"dep":[{"allowDelete":true,"text":"TriggerField.js","id":"source/widgets/form/TriggerField.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 6 KB","qtipTitle":"TriggerField.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"Field.js","id":"source/widgets/form/Field.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 15 KB","qtipTitle":"Field.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"TextField.js","id":"source/widgets/form/TextField.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 11 KB","qtipTitle":"TextField.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"Component.js","id":"source/widgets/Component.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 9 KB","qtipTitle":"Component.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"DateMenu.js","id":"source/widgets/menu/DateMenu.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:04 pm<br />Size: 888 B","qtipTitle":"DateMenu.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"DatePicker.js","id":"source/widgets/DatePicker.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:04 pm<br />Size: 16 KB","qtipTitle":"DatePicker.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"DateItem.js","id":"source/widgets/menu/DateItem.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:04 pm<br />Size: 1.1 KB","qtipTitle":"DateItem.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"Date.js","id":"source/util/Date.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:04 pm<br />Size: 23 KB","qtipTitle":"Date.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"Layer.js","id":"source/widgets/Layer.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:04 pm<br />Size: 9.9 KB","qtipTitle":"Layer.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"Shadow.js","id":"source/widgets/Shadow.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:04 pm<br />Size: 3.4 KB","qtipTitle":"Shadow.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"MenuMgr.js","id":"source/widgets/menu/MenuMgr.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:04 pm<br />Size: 4.7 KB","qtipTitle":"MenuMgr.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"Menu.js","id":"source/widgets/menu/Menu.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:04 pm<br />Size: 16 KB","qtipTitle":"Menu.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"BaseItem.js","id":"source/widgets/menu/BaseItem.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:04 pm<br />Size: 3.7 KB","qtipTitle":"BaseItem.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"Adapter.js","id":"source/widgets/menu/Adapter.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 6:04 pm<br />Size: 1.5 KB","qtipTitle":"Adapter.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"KeyNav.js","id":"source/util/KeyNav.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 3 KB","qtipTitle":"KeyNav.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"ClickRepeater.js","id":"source/util/ClickRepeater.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 4.9 KB","qtipTitle":"ClickRepeater.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}]},{"text":"Form - Ajax and Loading Support","id":"c-1176596009103","options":[{"text":"XML Loading Support","cmpId":"c-1176596009103","iconCls":"folder","type":"fileCt","allowDelete":true,"allowEdit":true,"id":"o-1176596755855","children":[{"allowDelete":true,"text":"XmlReader.js","id":"source/data/XmlReader.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 9:02 pm<br />Size: 4.7 KB","qtipTitle":"XmlReader.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}],"loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}],"files":[{"allowDelete":true,"text":"BasicForm.js","id":"source/widgets/form/BasicForm.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 9.9 KB","qtipTitle":"BasicForm.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"Action.js","id":"source/widgets/form/Action.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 5.6 KB","qtipTitle":"Action.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}],"dep":[]},{"text":"Form - Dynamic Rendering","id":"c-1176596009599","options":[],"files":[{"allowDelete":true,"text":"Form.js","id":"source/widgets/form/Form.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 7.7 KB","qtipTitle":"Form.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"Layout.js","id":"source/widgets/form/Layout.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 4.3 KB","qtipTitle":"Layout.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}],"dep":[{"allowDelete":true,"text":"BasicForm.js","id":"source/widgets/form/BasicForm.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 9.9 KB","qtipTitle":"BasicForm.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"Action.js","id":"source/widgets/form/Action.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 5.6 KB","qtipTitle":"Action.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}]},{"text":"Form - Floating Editor","id":"c-1176596675069","options":[],"files":[{"allowDelete":true,"text":"Editor.js","id":"source/widgets/Editor.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 4.5 KB","qtipTitle":"Editor.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}],"dep":[{"allowDelete":true,"text":"Layer.js","id":"source/widgets/Layer.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 9.9 KB","qtipTitle":"Layer.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"Shadow.js","id":"source/widgets/Shadow.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 3.4 KB","qtipTitle":"Shadow.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"Component.js","id":"source/widgets/Component.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 9 KB","qtipTitle":"Component.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}]},{"text":"Grid - Core","id":"c-1176596674270","options":[{"text":"CellSelectionModel.js","cmpId":"c-1176596674270","iconCls":"folder","type":"fileCt","allowDelete":true,"allowEdit":true,"id":"o-1176598193101","children":[{"allowDelete":true,"text":"CellSelectionModel.js","id":"source/widgets/grid/CellSelectionModel.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 9:02 pm<br />Size: 6.7 KB","qtipTitle":"CellSelectionModel.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","dataUrl":"dependency.php","events":{"beforeload":true,"load":true,"loadexception":true},"transId":false}}],"loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"text":"Drag and Drop Column Reorder","cmpId":"c-1176596674270","iconCls":"folder","type":"fileCt","allowDelete":true,"allowEdit":true,"id":"o-1176598971151","children":[{"allowDelete":true,"text":"ColumnDD.js","id":"source/widgets/grid/ColumnDD.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 9:02 pm<br />Size: 5.7 KB","qtipTitle":"ColumnDD.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}],"loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"text":"Column Resizing","cmpId":"c-1176596674270","iconCls":"folder","type":"fileCt","allowDelete":true,"allowEdit":true,"id":"o-1176598974743","children":[{"allowDelete":true,"text":"ColumnSplitDD.js","id":"source/widgets/grid/ColumnSplitDD.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 9:02 pm<br />Size: 2 KB","qtipTitle":"ColumnSplitDD.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}],"loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"text":"Drag Grid Rows","cmpId":"c-1176596674270","iconCls":"folder","type":"fileCt","allowDelete":true,"allowEdit":true,"id":"o-1176598980335","children":[{"allowDelete":true,"text":"GridDD.js","id":"source/widgets/grid/GridDD.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 9:02 pm<br />Size: 1.7 KB","qtipTitle":"GridDD.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}],"loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"text":"Loading Mask","cmpId":"c-1176596674270","iconCls":"folder","type":"fileCt","allowDelete":true,"allowEdit":true,"id":"o-1176682774459","children":[{"allowDelete":true,"expanded":true,"text":"LoadMask.js","id":"source/widgets/LoadMask.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 15, 2007, 5:18 pm<br />Size: 3.1 KB","qtipTitle":"LoadMask.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","dataUrl":"dependency.php","events":{"beforeload":true,"load":true,"loadexception":true},"transId":false}}]},{"text":"Paging Toolbar","cmpId":"c-1176596674270","iconCls":"folder","type":"fileCt","allowDelete":true,"allowEdit":true,"id":"o-1176683284876","children":[{"allowDelete":true,"expanded":true,"text":"PagingToolbar.js","id":"source/widgets/PagingToolbar.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 15, 2007, 5:18 pm<br />Size: 9.2 KB","qtipTitle":"PagingToolbar.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","dataUrl":"dependency.php","events":{"beforeload":true,"load":true,"loadexception":true},"transId":false}},{"allowDelete":true,"expanded":true,"text":"Toolbar.js","id":"source/widgets/Toolbar.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 15, 2007, 5:18 pm<br />Size: 12 KB","qtipTitle":"Toolbar.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","dataUrl":"dependency.php","events":{"beforeload":true,"load":true,"loadexception":true},"transId":false}},{"allowDelete":true,"expanded":true,"text":"Button.js","id":"source/widgets/Button.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 15, 2007, 5:18 pm<br />Size: 14 KB","qtipTitle":"Button.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","dataUrl":"dependency.php","events":{"beforeload":true,"load":true,"loadexception":true},"transId":false}},{"allowDelete":true,"expanded":true,"text":"TextMetrics.js","id":"source/util/TextMetrics.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 15, 2007, 5:18 pm<br />Size: 1.8 KB","qtipTitle":"TextMetrics.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","dataUrl":"dependency.php","events":{"beforeload":true,"load":true,"loadexception":true},"transId":false}},{"allowDelete":true,"expanded":true,"text":"MixedCollection.js","id":"source/util/MixedCollection.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 15, 2007, 5:18 pm<br />Size: 17 KB","qtipTitle":"MixedCollection.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","dataUrl":"dependency.php","events":{"beforeload":true,"load":true,"loadexception":true},"transId":false}}]}],"files":[{"allowDelete":true,"text":"AbstractGridView.js","id":"source/widgets/grid/AbstractGridView.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 3.1 KB","qtipTitle":"AbstractGridView.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"AbstractSelectionModel.js","id":"source/widgets/grid/AbstractSelectionModel.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 1 KB","qtipTitle":"AbstractSelectionModel.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"RowSelectionModel.js","id":"source/widgets/grid/RowSelectionModel.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 13 KB","qtipTitle":"RowSelectionModel.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"Grid.js","id":"source/widgets/grid/Grid.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 18 KB","qtipTitle":"Grid.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"ColumnModel.js","id":"source/widgets/grid/ColumnModel.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 12 KB","qtipTitle":"ColumnModel.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"GridView.js","id":"source/widgets/grid/GridView.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 58 KB","qtipTitle":"GridView.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}],"dep":[{"allowDelete":true,"expanded":true,"text":"CSS.js","id":"source/util/CSS.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 11:01 pm<br />Size: 5 KB","qtipTitle":"CSS.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}]},{"text":"Grid - Editing Support","id":"c-1176596839124","options":[],"files":[{"allowDelete":true,"text":"GridEditor.js","id":"source/widgets/grid/GridEditor.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 461 B","qtipTitle":"GridEditor.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"EditorGrid.js","id":"source/widgets/grid/EditorGrid.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 6.2 KB","qtipTitle":"EditorGrid.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}],"dep":[{"allowDelete":true,"text":"Editor.js","id":"source/widgets/Editor.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 4.5 KB","qtipTitle":"Editor.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"Layer.js","id":"source/widgets/Layer.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 9.9 KB","qtipTitle":"Layer.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"Shadow.js","id":"source/widgets/Shadow.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 3.4 KB","qtipTitle":"Shadow.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"Component.js","id":"source/widgets/Component.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 9 KB","qtipTitle":"Component.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}]},{"text":"Grid - Property Grid","id":"c-1176596839827","options":[],"files":[{"allowDelete":true,"text":"PropertyGrid.js","id":"source/widgets/grid/PropertyGrid.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 6.3 KB","qtipTitle":"PropertyGrid.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}],"dep":[{"allowDelete":true,"text":"GridEditor.js","id":"source/widgets/grid/GridEditor.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 461 B","qtipTitle":"GridEditor.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"EditorGrid.js","id":"source/widgets/grid/EditorGrid.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 6.2 KB","qtipTitle":"EditorGrid.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"Editor.js","id":"source/widgets/Editor.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 4.5 KB","qtipTitle":"Editor.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"Layer.js","id":"source/widgets/Layer.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 9.9 KB","qtipTitle":"Layer.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"Shadow.js","id":"source/widgets/Shadow.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 3.4 KB","qtipTitle":"Shadow.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"Component.js","id":"source/widgets/Component.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 9 KB","qtipTitle":"Component.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}]},{"text":"Tree - Core","id":"c-1176596840547","options":[{"text":"Sorting Support","cmpId":"c-1176596840547","iconCls":"folder","type":"fileCt","allowDelete":true,"allowEdit":true,"id":"o-1176599045969","children":[{"allowDelete":true,"text":"TreeSorter.js","id":"source/widgets/tree/TreeSorter.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 9:02 pm<br />Size: 2.3 KB","qtipTitle":"TreeSorter.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","dataUrl":"dependency.php","events":{"beforeload":true,"load":true,"loadexception":true},"transId":false}}],"loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"text":"Filtering Support","cmpId":"c-1176596840547","iconCls":"folder","type":"fileCt","allowDelete":true,"allowEdit":true,"id":"o-1176599073554","children":[{"allowDelete":true,"text":"TreeFilter.js","id":"source/widgets/tree/TreeFilter.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 9:02 pm<br />Size: 3.6 KB","qtipTitle":"TreeFilter.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","dataUrl":"dependency.php","events":{"beforeload":true,"load":true,"loadexception":true},"transId":false}}],"loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"text":"Drag and Drop Support","cmpId":"c-1176596840547","iconCls":"folder","type":"fileCt","allowDelete":true,"allowEdit":true,"id":"o-1176599245706","children":[{"allowDelete":true,"text":"TreeDragZone.js","id":"source/widgets/tree/TreeDragZone.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 9:02 pm<br />Size: 1.5 KB","qtipTitle":"TreeDragZone.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","dataUrl":"dependency.php","events":{"beforeload":true,"load":true,"loadexception":true},"transId":false}},{"allowDelete":true,"text":"TreeDropZone.js","id":"source/widgets/tree/TreeDropZone.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 9:02 pm<br />Size: 7.9 KB","qtipTitle":"TreeDropZone.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","dataUrl":"dependency.php","events":{"beforeload":true,"load":true,"loadexception":true},"transId":false}}],"loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}],"files":[{"allowDelete":true,"text":"Tree.js","id":"source/data/Tree.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 7:44 pm<br />Size: 25 KB","qtipTitle":"Tree.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"TreePanel.js","id":"source/widgets/tree/TreePanel.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 9:02 pm<br />Size: 14 KB","qtipTitle":"TreePanel.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"TreeSelectionModel.js","id":"source/widgets/tree/TreeSelectionModel.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 9:02 pm<br />Size: 9.1 KB","qtipTitle":"TreeSelectionModel.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"TreeNode.js","id":"source/widgets/tree/TreeNode.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 9:02 pm<br />Size: 15 KB","qtipTitle":"TreeNode.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"TreeNodeUI.js","id":"source/widgets/tree/TreeNodeUI.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 9:02 pm<br />Size: 14 KB","qtipTitle":"TreeNodeUI.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}],"dep":[]},{"text":"Tree - Ajax Loading Support","id":"c-1176598286138","options":[],"files":[{"allowDelete":true,"text":"AsyncTreeNode.js","id":"source/widgets/tree/AsyncTreeNode.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 9:02 pm<br />Size: 3.5 KB","qtipTitle":"AsyncTreeNode.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}},{"allowDelete":true,"text":"TreeLoader.js","id":"source/widgets/tree/TreeLoader.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 9:02 pm<br />Size: 4.1 KB","qtipTitle":"TreeLoader.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}],"dep":[{"allowDelete":true,"text":"JSON.js","id":"source/util/JSON.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 14, 2007, 9:02 pm<br />Size: 4.3 KB","qtipTitle":"JSON.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","events":{"beforeload":true,"load":true,"loadexception":true}}}]},{"text":"Tree - Editing Support","id":"c-1176682872198","options":[],"files":[{"allowDelete":true,"expanded":true,"text":"TreeEditor.js","id":"source/widgets/tree/TreeEditor.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 15, 2007, 5:18 pm<br />Size: 2.2 KB","qtipTitle":"TreeEditor.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","dataUrl":"dependency.php","events":{"beforeload":true,"load":true,"loadexception":true},"transId":false}}],"dep":[{"allowDelete":true,"expanded":true,"text":"Editor.js","id":"source/widgets/Editor.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 15, 2007, 5:18 pm<br />Size: 8.7 KB","qtipTitle":"Editor.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","dataUrl":"dependency.php","events":{"beforeload":true,"load":true,"loadexception":true},"transId":false}},{"allowDelete":true,"expanded":true,"text":"Shadow.js","id":"source/widgets/Shadow.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 15, 2007, 5:18 pm<br />Size: 5 KB","qtipTitle":"Shadow.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","dataUrl":"dependency.php","events":{"beforeload":true,"load":true,"loadexception":true},"transId":false}},{"allowDelete":true,"expanded":true,"text":"Layer.js","id":"source/widgets/Layer.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 15, 2007, 5:18 pm<br />Size: 11 KB","qtipTitle":"Layer.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","dataUrl":"dependency.php","events":{"beforeload":true,"load":true,"loadexception":true},"transId":false}},{"allowDelete":true,"expanded":true,"text":"Component.js","id":"source/widgets/Component.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 15, 2007, 5:18 pm<br />Size: 9 KB","qtipTitle":"Component.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","dataUrl":"dependency.php","events":{"beforeload":true,"load":true,"loadexception":true},"transId":false}},{"allowDelete":true,"expanded":true,"text":"Field.js","id":"source/widgets/form/Field.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 15, 2007, 5:18 pm<br />Size: 15 KB","qtipTitle":"Field.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","dataUrl":"dependency.php","events":{"beforeload":true,"load":true,"loadexception":true},"transId":false}},{"allowDelete":true,"expanded":true,"text":"TextField.js","id":"source/widgets/form/TextField.js","leaf":true,"qtip":"Type: JavaScript File<br />Last Modified: Apr 15, 2007, 5:18 pm<br />Size: 11 KB","qtipTitle":"TextField.js","cls":"file","loader":{"baseParams":{},"requestMethod":"POST","dataUrl":"dependency.php","events":{"beforeload":true,"load":true,"loadexception":true},"transId":false}}]}] | ||
| 0 | \ No newline at end of file | 2 | \ No newline at end of file |
thirdpartyjs/extjs/examples/tree/dependency.css
0 → 100644
| 1 | +/* | ||
| 2 | + * Ext JS Library 1.1 Beta 1 | ||
| 3 | + * Copyright(c) 2006-2007, Ext JS, LLC. | ||
| 4 | + * licensing@extjs.com | ||
| 5 | + * | ||
| 6 | + * http://www.extjs.com/license | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +.x-tree-node img.folder, .x-tree-node-collapsed img.folder{ | ||
| 10 | + background-image:url(../../resources/images/default/tree/folder.gif); | ||
| 11 | +} | ||
| 12 | + | ||
| 13 | +.x-tree-node-expanded img.folder { | ||
| 14 | + background-image:url(../../resources/images/default/tree/folder-open.gif); | ||
| 15 | +} | ||
| 16 | + | ||
| 17 | +.x-tree-node .croot{ | ||
| 18 | + background:#c3daf9; | ||
| 19 | +} | ||
| 20 | +.x-tree-node div.cmp{ | ||
| 21 | + background:#eee url(images/cmp-bg.gif) repeat-x; | ||
| 22 | + margin-top:1px; | ||
| 23 | + border-top:1px solid #ddd; | ||
| 24 | + border-bottom:1px solid #ccc; | ||
| 25 | + padding-top:2px; | ||
| 26 | + padding-bottom:1px; | ||
| 27 | +} | ||
| 28 | +.add-cmp .x-btn-text { | ||
| 29 | + background-image:url(../shared/icons/fam/plugin_add.gif); | ||
| 30 | +} | ||
| 31 | + | ||
| 32 | +.add-opt .x-btn-text { | ||
| 33 | + background-image:url(../shared/icons/fam/add.gif); | ||
| 34 | +} | ||
| 35 | + | ||
| 36 | +.remove .x-btn-text, .remove-mi .x-menu-item-icon { | ||
| 37 | + background-image:url(../shared/icons/fam/delete.gif); | ||
| 38 | +} | ||
| 39 | + | ||
| 40 | +.save .x-btn-text { | ||
| 41 | + background-image:url(../shared/icons/save.gif); | ||
| 42 | +} | ||
| 43 | +.expand-all .x-menu-item-icon { | ||
| 44 | + background-image:url(../shared/icons/arrow-down.gif); | ||
| 45 | +} | ||
| 46 | +.collapse-all .x-menu-item-icon { | ||
| 47 | + background-image:url(../shared/icons/arrow-up.gif); | ||
| 48 | +} | ||
| 49 | + | ||
| 50 | +.x-tree-node img.cmp, .menu-cmp .x-menu-item-icon{ | ||
| 51 | + background-image:url(../shared/icons/fam/plugin.gif); | ||
| 52 | +} | ||
| 0 | \ No newline at end of file | 53 | \ No newline at end of file |
thirdpartyjs/extjs/examples/tree/dependency.html
0 → 100644
| 1 | +<html> | ||
| 2 | +<head> | ||
| 3 | +<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> | ||
| 4 | +<title>Ext Dependency Builder</title> | ||
| 5 | +<link rel="stylesheet" type="text/css" href="../../resources/css/ext-all.css" /> | ||
| 6 | + | ||
| 7 | + <!-- GC --> <!-- LIBS --> <script type="text/javascript" src="../../adapter/ext/ext-base.js"></script> <!-- ENDLIBS --> | ||
| 8 | + <script type="text/javascript" src="../../ext-all.js"></script> | ||
| 9 | + | ||
| 10 | + <link rel="stylesheet" type="text/css" href="dependency.css" /> | ||
| 11 | + <script type="text/javascript" src="dependency.js"></script> | ||
| 12 | + | ||
| 13 | + <!-- Common Styles for the examples --> | ||
| 14 | + <link rel="stylesheet" type="text/css" href="../examples.css" /> | ||
| 15 | +</head> | ||
| 16 | +<body> | ||
| 17 | +<script type="text/javascript" src="../examples.js"></script><!-- EXAMPLES --> | ||
| 18 | +<h1>Ext Dependency Builder</h1> | ||
| 19 | +<p>This is a piece of the application we use to build the Ext dependency tree.<br /> | ||
| 20 | + Key features it demonstrates:<br/> | ||
| 21 | + * Restrictive drag and drop of nodes from tree to tree<br/> | ||
| 22 | + * Restrictive reordering of nodes<br/> | ||
| 23 | + * Loading and saving to/from different structures<br/> | ||
| 24 | + * Dynamic tree context menu<br/> | ||
| 25 | + * Inline editing of tree nodes<br/> | ||
| 26 | + * Custom tree styles with CSS | ||
| 27 | +</p> | ||
| 28 | +<p>The js is not minified so it is readable. See <a href="dependency.js">dependency.js</a>.</p> | ||
| 29 | + | ||
| 30 | +<div id="main-ct" style="width:700px;height:500px;"></div> | ||
| 31 | + | ||
| 32 | +</body> | ||
| 33 | +</html> |
thirdpartyjs/extjs/examples/tree/dependency.js
0 → 100644
| 1 | +/* | ||
| 2 | + * Ext JS Library 1.1 Beta 1 | ||
| 3 | + * Copyright(c) 2006-2007, Ext JS, LLC. | ||
| 4 | + * licensing@extjs.com | ||
| 5 | + * | ||
| 6 | + * http://www.extjs.com/license | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +Ext.onReady(function(){ | ||
| 10 | + var xt = Ext.tree; | ||
| 11 | + // seeds for the new node suffix | ||
| 12 | + var cseed = 0, oseed = 0; | ||
| 13 | + | ||
| 14 | + // turn on quick tips | ||
| 15 | + Ext.QuickTips.init(); | ||
| 16 | + | ||
| 17 | + var cview = Ext.DomHelper.append('main-ct', | ||
| 18 | + {cn:[{id:'main-tb'},{id:'cbody'}]} | ||
| 19 | + ); | ||
| 20 | + | ||
| 21 | + | ||
| 22 | + // create the primary toolbar | ||
| 23 | + var tb = new Ext.Toolbar('main-tb'); | ||
| 24 | + tb.add({ | ||
| 25 | + id:'save', | ||
| 26 | + text:'Save', | ||
| 27 | + disabled:true, | ||
| 28 | + handler:save, | ||
| 29 | + cls:'x-btn-text-icon save', | ||
| 30 | + tooltip:'Saves all components to the server' | ||
| 31 | + },'-', { | ||
| 32 | + id:'add', | ||
| 33 | + text:'Component', | ||
| 34 | + handler:addComponent, | ||
| 35 | + cls:'x-btn-text-icon add-cmp', | ||
| 36 | + tooltip:'Add a new Component to the dependency builder' | ||
| 37 | + }, { | ||
| 38 | + id:'option', | ||
| 39 | + text:'Option', | ||
| 40 | + disabled:true, | ||
| 41 | + handler:addOption, | ||
| 42 | + cls:'x-btn-text-icon add-opt', | ||
| 43 | + tooltip:'Add a new optional dependency to the selected component' | ||
| 44 | + },'-',{ | ||
| 45 | + id:'remove', | ||
| 46 | + text:'Remove', | ||
| 47 | + disabled:true, | ||
| 48 | + handler:removeNode, | ||
| 49 | + cls:'x-btn-text-icon remove', | ||
| 50 | + tooltip:'Remove the selected item' | ||
| 51 | + }); | ||
| 52 | + // for enabling and disabling | ||
| 53 | + var btns = tb.items.map; | ||
| 54 | + | ||
| 55 | + | ||
| 56 | + | ||
| 57 | + // create our layout | ||
| 58 | + var layout = new Ext.BorderLayout('main-ct', { | ||
| 59 | + west: { | ||
| 60 | + split:true, | ||
| 61 | + initialSize: 200, | ||
| 62 | + minSize: 175, | ||
| 63 | + maxSize: 400, | ||
| 64 | + titlebar: true, | ||
| 65 | + margins:{left:5,right:0,bottom:5,top:5} | ||
| 66 | + }, | ||
| 67 | + center: { | ||
| 68 | + title:'Components', | ||
| 69 | + margins:{left:0,right:5,bottom:5,top:5} | ||
| 70 | + } | ||
| 71 | + }, 'main-ct'); | ||
| 72 | + | ||
| 73 | + layout.batchAdd({ | ||
| 74 | + west: { | ||
| 75 | + id: 'source-files', | ||
| 76 | + autoCreate:true, | ||
| 77 | + title:'Ext Source Files', | ||
| 78 | + autoScroll:true, | ||
| 79 | + fitToFrame:true | ||
| 80 | + }, | ||
| 81 | + center : { | ||
| 82 | + el: cview, | ||
| 83 | + autoScroll:true, | ||
| 84 | + fitToFrame:true, | ||
| 85 | + toolbar: tb, | ||
| 86 | + resizeEl:'cbody' | ||
| 87 | + } | ||
| 88 | + }); | ||
| 89 | + | ||
| 90 | + | ||
| 91 | + | ||
| 92 | + // this is the source code tree | ||
| 93 | + var stree = new xt.TreePanel('source-files', { | ||
| 94 | + animate:true, | ||
| 95 | + loader: new xt.TreeLoader({dataUrl:'dependency.php'}), | ||
| 96 | + enableDrag:true, | ||
| 97 | + containerScroll: true | ||
| 98 | + }); | ||
| 99 | + | ||
| 100 | + new xt.TreeSorter(stree, {folderSort:true}); | ||
| 101 | + | ||
| 102 | + var sroot = new xt.AsyncTreeNode({ | ||
| 103 | + text: 'Ext JS', | ||
| 104 | + draggable:false, | ||
| 105 | + id:'source' | ||
| 106 | + }); | ||
| 107 | + stree.setRootNode(sroot); | ||
| 108 | + stree.render(); | ||
| 109 | + sroot.expand(false, false); | ||
| 110 | + | ||
| 111 | + | ||
| 112 | + // the component tree | ||
| 113 | + var ctree = new xt.TreePanel('cbody', { | ||
| 114 | + animate:true, | ||
| 115 | + enableDD:true, | ||
| 116 | + containerScroll: true, | ||
| 117 | + lines:false, | ||
| 118 | + rootVisible:false, | ||
| 119 | + loader: new Ext.tree.TreeLoader() | ||
| 120 | + }); | ||
| 121 | + | ||
| 122 | + ctree.el.addKeyListener(Ext.EventObject.DELETE, removeNode); | ||
| 123 | + | ||
| 124 | + var croot = new xt.AsyncTreeNode({ | ||
| 125 | + allowDrag:false, | ||
| 126 | + allowDrop:true, | ||
| 127 | + id:'croot', | ||
| 128 | + text:'Packages and Components', | ||
| 129 | + cls:'croot', | ||
| 130 | + loader:new Ext.tree.TreeLoader({ | ||
| 131 | + dataUrl:'dep-tree.json', | ||
| 132 | + createNode: readNode | ||
| 133 | + }) | ||
| 134 | + }); | ||
| 135 | + ctree.setRootNode(croot); | ||
| 136 | + ctree.render(); | ||
| 137 | + croot.expand(); | ||
| 138 | + | ||
| 139 | + // some functions to determine whether is not the drop is allowed | ||
| 140 | + function hasNode(t, n){ | ||
| 141 | + return (t.attributes.type == 'fileCt' && t.findChild('id', n.id)) || | ||
| 142 | + (t.leaf === true && t.parentNode.findChild('id', n.id)); | ||
| 143 | + }; | ||
| 144 | + | ||
| 145 | + function isSourceCopy(e, n){ | ||
| 146 | + var a = e.target.attributes; | ||
| 147 | + return n.getOwnerTree() == stree && !hasNode(e.target, n) && | ||
| 148 | + ((e.point == 'append' && a.type == 'fileCt') || a.leaf === true); | ||
| 149 | + }; | ||
| 150 | + | ||
| 151 | + function isReorder(e, n){ | ||
| 152 | + return n.parentNode == e.target.parentNode && e.point != 'append'; | ||
| 153 | + }; | ||
| 154 | + | ||
| 155 | + // handle drag over and drag drop | ||
| 156 | + ctree.on('nodedragover', function(e){ | ||
| 157 | + var n = e.dropNode; | ||
| 158 | + return isSourceCopy(e, n) || isReorder(e, n); | ||
| 159 | + }); | ||
| 160 | + | ||
| 161 | + ctree.on('beforenodedrop', function(e){ | ||
| 162 | + var n = e.dropNode; | ||
| 163 | + | ||
| 164 | + // copy node from source tree | ||
| 165 | + if(isSourceCopy(e, n)){ | ||
| 166 | + var copy = new xt.TreeNode( | ||
| 167 | + Ext.apply({allowDelete:true,expanded:true}, n.attributes) | ||
| 168 | + ); | ||
| 169 | + copy.loader = undefined; | ||
| 170 | + if(e.target.attributes.options){ | ||
| 171 | + e.target = createOption(e.target, copy.text); | ||
| 172 | + //return false; | ||
| 173 | + } | ||
| 174 | + e.dropNode = copy; | ||
| 175 | + return true; | ||
| 176 | + } | ||
| 177 | + | ||
| 178 | + return isReorder(e, n); | ||
| 179 | + }); | ||
| 180 | + | ||
| 181 | + ctree.on('contextmenu', prepareCtx); | ||
| 182 | + | ||
| 183 | + // track whether save is allowed | ||
| 184 | + ctree.on('append', trackSave); | ||
| 185 | + ctree.on('remove', trackSave); | ||
| 186 | + ctree.el.swallowEvent('contextmenu', true); | ||
| 187 | + ctree.el.on('keypress', function(e){ | ||
| 188 | + if(e.isNavKeyPress()){ | ||
| 189 | + e.stopEvent(); | ||
| 190 | + } | ||
| 191 | + }); | ||
| 192 | + // when the tree selection changes, enable/disable the toolbar buttons | ||
| 193 | + var sm = ctree.getSelectionModel(); | ||
| 194 | + sm.on('selectionchange', function(){ | ||
| 195 | + var n = sm.getSelectedNode(); | ||
| 196 | + if(!n){ | ||
| 197 | + btns.remove.disable(); | ||
| 198 | + btns.option.disable(); | ||
| 199 | + return; | ||
| 200 | + } | ||
| 201 | + var a = n.attributes; | ||
| 202 | + btns.remove.setDisabled(!a.allowDelete); | ||
| 203 | + btns.option.setDisabled(!a.cmpId); | ||
| 204 | + }); | ||
| 205 | + | ||
| 206 | + | ||
| 207 | + | ||
| 208 | + // create the editor for the component tree | ||
| 209 | + var ge = new xt.TreeEditor(ctree, { | ||
| 210 | + allowBlank:false, | ||
| 211 | + blankText:'A name is required', | ||
| 212 | + selectOnFocus:true | ||
| 213 | + }); | ||
| 214 | + | ||
| 215 | + ge.on('beforestartedit', function(){ | ||
| 216 | + if(!ge.editNode.attributes.allowEdit){ | ||
| 217 | + return false; | ||
| 218 | + } | ||
| 219 | + }); | ||
| 220 | + | ||
| 221 | + | ||
| 222 | + // add component handler | ||
| 223 | + function addComponent(){ | ||
| 224 | + var id = guid('c-'); | ||
| 225 | + var text = 'Component '+(++cseed); | ||
| 226 | + var node = createComponent(id, text); | ||
| 227 | + node.expand(false, false); | ||
| 228 | + node.select(); | ||
| 229 | + node.lastChild.ensureVisible(); | ||
| 230 | + ge.triggerEdit(node); | ||
| 231 | + } | ||
| 232 | + | ||
| 233 | + function createComponent(id, text, cfiles, cdep, coptions){ | ||
| 234 | + var node = new xt.TreeNode({ | ||
| 235 | + text: text, | ||
| 236 | + iconCls:'cmp', | ||
| 237 | + cls:'cmp', | ||
| 238 | + type:'cmp', | ||
| 239 | + id: id, | ||
| 240 | + cmpId:id, | ||
| 241 | + allowDelete:true, | ||
| 242 | + allowEdit:true | ||
| 243 | + }); | ||
| 244 | + croot.appendChild(node); | ||
| 245 | + | ||
| 246 | + var files = new xt.AsyncTreeNode({ | ||
| 247 | + text: 'Files', | ||
| 248 | + allowDrag:false, | ||
| 249 | + allowDrop:true, | ||
| 250 | + iconCls:'folder', | ||
| 251 | + type:'fileCt', | ||
| 252 | + cmpId:id, | ||
| 253 | + allowDelete:false, | ||
| 254 | + children:cfiles||[], | ||
| 255 | + expanded:true | ||
| 256 | + }); | ||
| 257 | + | ||
| 258 | + var dep = new xt.AsyncTreeNode({ | ||
| 259 | + text: 'Dependencies', | ||
| 260 | + allowDrag:false, | ||
| 261 | + allowDrop:true, | ||
| 262 | + iconCls:'folder', | ||
| 263 | + type:'fileCt', | ||
| 264 | + cmpId:id, | ||
| 265 | + allowDelete:false, | ||
| 266 | + children:cdep||[], | ||
| 267 | + expanded:true, | ||
| 268 | + allowCopy:true | ||
| 269 | + }); | ||
| 270 | + | ||
| 271 | + var options = new xt.AsyncTreeNode({ | ||
| 272 | + text: 'Optional Dependencies', | ||
| 273 | + allowDrag:false, | ||
| 274 | + allowDrop:true, | ||
| 275 | + iconCls:'folder', | ||
| 276 | + type:'fileCt', | ||
| 277 | + options:true, | ||
| 278 | + cmpId:id, | ||
| 279 | + allowDelete:false, | ||
| 280 | + children:coptions||[], | ||
| 281 | + expanded:true, | ||
| 282 | + allowCopy:true | ||
| 283 | + }); | ||
| 284 | + | ||
| 285 | + node.appendChild(files); | ||
| 286 | + node.appendChild(dep); | ||
| 287 | + node.appendChild(options); | ||
| 288 | + | ||
| 289 | + return node; | ||
| 290 | + } | ||
| 291 | + | ||
| 292 | + // remove handler | ||
| 293 | + function removeNode(){ | ||
| 294 | + var n = sm.getSelectedNode(); | ||
| 295 | + if(n && n.attributes.allowDelete){ | ||
| 296 | + ctree.getSelectionModel().selectPrevious(); | ||
| 297 | + n.parentNode.removeChild(n); | ||
| 298 | + } | ||
| 299 | + } | ||
| 300 | + | ||
| 301 | + | ||
| 302 | + // add option handler | ||
| 303 | + function addOption(){ | ||
| 304 | + var n = sm.getSelectedNode(); | ||
| 305 | + if(n){ | ||
| 306 | + var node = createOption(n, 'Option'+(++oseed)); | ||
| 307 | + node.select(); | ||
| 308 | + ge.triggerEdit(node); | ||
| 309 | + } | ||
| 310 | + } | ||
| 311 | + | ||
| 312 | + function createOption(n, text){ | ||
| 313 | + var cnode = ctree.getNodeById(n.attributes.cmpId); | ||
| 314 | + | ||
| 315 | + var node = new xt.TreeNode({ | ||
| 316 | + text: text, | ||
| 317 | + cmpId:cnode.id, | ||
| 318 | + iconCls:'folder', | ||
| 319 | + type:'fileCt', | ||
| 320 | + allowDelete:true, | ||
| 321 | + allowEdit:true, | ||
| 322 | + id:guid('o-') | ||
| 323 | + }); | ||
| 324 | + cnode.childNodes[2].appendChild(node); | ||
| 325 | + cnode.childNodes[2].expand(false, false); | ||
| 326 | + | ||
| 327 | + return node; | ||
| 328 | + } | ||
| 329 | + | ||
| 330 | + // semi unique ids across edits | ||
| 331 | + function guid(prefix){ | ||
| 332 | + return prefix+(new Date().getTime()); | ||
| 333 | + } | ||
| 334 | + | ||
| 335 | + | ||
| 336 | + function trackSave(){ | ||
| 337 | + btns.save.setDisabled(!croot.hasChildNodes()); | ||
| 338 | + } | ||
| 339 | + | ||
| 340 | + function storeChildren(cmp, n, name){ | ||
| 341 | + if(n.childrenRendered){ | ||
| 342 | + cmp[name] = []; | ||
| 343 | + n.eachChild(function(f){ | ||
| 344 | + cmp[name].push(f.attributes); | ||
| 345 | + }); | ||
| 346 | + }else{ | ||
| 347 | + cmp[name] = n.attributes.children || []; | ||
| 348 | + } | ||
| 349 | + } | ||
| 350 | + | ||
| 351 | + // save to the server in a format usable in PHP | ||
| 352 | + function save(){ | ||
| 353 | + var ch = []; | ||
| 354 | + croot.eachChild(function(c){ | ||
| 355 | + var cmp = { | ||
| 356 | + text:c.text, | ||
| 357 | + id: c.id, | ||
| 358 | + options:[] | ||
| 359 | + }; | ||
| 360 | + | ||
| 361 | + storeChildren(cmp, c.childNodes[0], 'files'); | ||
| 362 | + storeChildren(cmp, c.childNodes[1], 'dep'); | ||
| 363 | + | ||
| 364 | + var onode = c.childNodes[2]; | ||
| 365 | + if(!onode.childrenRendered){ | ||
| 366 | + cmp.options = onode.attributes.children || []; | ||
| 367 | + }else{ | ||
| 368 | + onode.eachChild(function(o){ | ||
| 369 | + var opt = Ext.apply({}, o.attributes); | ||
| 370 | + storeChildren(opt, o, 'children'); | ||
| 371 | + cmp.options.push(opt); | ||
| 372 | + }); | ||
| 373 | + } | ||
| 374 | + ch.push(cmp); | ||
| 375 | + }); | ||
| 376 | + | ||
| 377 | + layout.el.mask('Sending data to server...', 'x-mask-loading'); | ||
| 378 | + var hide = layout.el.unmask.createDelegate(layout.el); | ||
| 379 | + Ext.lib.Ajax.request( | ||
| 380 | + 'POST', | ||
| 381 | + 'save-dep.php', | ||
| 382 | + {success:hide,failure:hide}, | ||
| 383 | + 'data='+encodeURIComponent(Ext.encode(ch)) | ||
| 384 | + ); | ||
| 385 | + } | ||
| 386 | + | ||
| 387 | + function readNode(o){ | ||
| 388 | + createComponent(o.id, o.text, o.files, o.dep, o.options); | ||
| 389 | + } | ||
| 390 | + | ||
| 391 | + // context menus | ||
| 392 | + | ||
| 393 | + var ctxMenu = new Ext.menu.Menu({ | ||
| 394 | + id:'copyCtx', | ||
| 395 | + items: [{ | ||
| 396 | + id:'expand', | ||
| 397 | + handler:expandAll, | ||
| 398 | + cls:'expand-all', | ||
| 399 | + text:'Expand All' | ||
| 400 | + },{ | ||
| 401 | + id:'collapse', | ||
| 402 | + handler:collapseAll, | ||
| 403 | + cls:'collapse-all', | ||
| 404 | + text:'Collapse All' | ||
| 405 | + },'-',{ | ||
| 406 | + id:'remove', | ||
| 407 | + handler:removeNode, | ||
| 408 | + cls:'remove-mi', | ||
| 409 | + text: 'Remove Item' | ||
| 410 | + }] | ||
| 411 | + }); | ||
| 412 | + | ||
| 413 | + function prepareCtx(node, e){ | ||
| 414 | + node.select(); | ||
| 415 | + ctxMenu.items.get('remove')[node.attributes.allowDelete ? 'enable' : 'disable'](); | ||
| 416 | + ctxMenu.showAt(e.getXY()); | ||
| 417 | + } | ||
| 418 | + | ||
| 419 | + function collapseAll(){ | ||
| 420 | + ctxMenu.hide(); | ||
| 421 | + setTimeout(function(){ | ||
| 422 | + croot.eachChild(function(n){ | ||
| 423 | + n.collapse(false, false); | ||
| 424 | + }); | ||
| 425 | + }, 10); | ||
| 426 | + } | ||
| 427 | + | ||
| 428 | + function expandAll(){ | ||
| 429 | + ctxMenu.hide(); | ||
| 430 | + setTimeout(function(){ | ||
| 431 | + croot.eachChild(function(n){ | ||
| 432 | + n.expand(false, false); | ||
| 433 | + }); | ||
| 434 | + }, 10); | ||
| 435 | + } | ||
| 436 | +}); | ||
| 0 | \ No newline at end of file | 437 | \ No newline at end of file |
thirdpartyjs/extjs/examples/tree/dependency.php
0 → 100644
| 1 | +<? | ||
| 2 | +// from php manual page | ||
| 3 | +function formatBytes($val, $digits = 3, $mode = "SI", $bB = "B"){ //$mode == "SI"|"IEC", $bB == "b"|"B" | ||
| 4 | + $si = array("", "K", "M", "G", "T", "P", "E", "Z", "Y"); | ||
| 5 | + $iec = array("", "Ki", "Mi", "Gi", "Ti", "Pi", "Ei", "Zi", "Yi"); | ||
| 6 | + switch(strtoupper($mode)) { | ||
| 7 | + case "SI" : $factor = 1000; $symbols = $si; break; | ||
| 8 | + case "IEC" : $factor = 1024; $symbols = $iec; break; | ||
| 9 | + default : $factor = 1000; $symbols = $si; break; | ||
| 10 | + } | ||
| 11 | + switch($bB) { | ||
| 12 | + case "b" : $val *= 8; break; | ||
| 13 | + default : $bB = "B"; break; | ||
| 14 | + } | ||
| 15 | + for($i=0;$i<count($symbols)-1 && $val>=$factor;$i++) | ||
| 16 | + $val /= $factor; | ||
| 17 | + $p = strpos($val, "."); | ||
| 18 | + if($p !== false && $p > $digits) $val = round($val); | ||
| 19 | + elseif($p !== false) $val = round($val, $digits-$p); | ||
| 20 | + return round($val, $digits) . " " . $symbols[$i] . $bB; | ||
| 21 | +} | ||
| 22 | + | ||
| 23 | + | ||
| 24 | +$dir = $_REQUEST['lib'] == 'yui' ? '../../../' : '../../'; | ||
| 25 | +$node = $_REQUEST['node']; | ||
| 26 | +if(strpos($node, '..') !== false){ | ||
| 27 | + die('Nice try buddy.'); | ||
| 28 | +} | ||
| 29 | + | ||
| 30 | +$nodes = array(); | ||
| 31 | +$d = dir($dir.$node); | ||
| 32 | +while($f = $d->read()){ | ||
| 33 | + if($f == '.' || $f == '..' || substr($f, 0, 1) == '.')continue; | ||
| 34 | + $lastmod = date('M j, Y, g:i a',filemtime($dir.$node.'/'.$f)); | ||
| 35 | + if(is_dir($dir.$node.'/'.$f)){ | ||
| 36 | + $qtip = 'Type: Folder<br />Last Modified: '.$lastmod; | ||
| 37 | + $nodes[] = array('text'=>$f, id=>$node.'/'.$f, qtip=>$qtip, iconCls=>'folder', allowDrag=>false); | ||
| 38 | + }else{ | ||
| 39 | + $size = formatBytes(filesize($dir.$node.'/'.$f), 2); | ||
| 40 | + $qtip = 'Type: JavaScript File<br />Last Modified: '.$lastmod.'<br />Size: '.$size; | ||
| 41 | + $nodes[] = array('text'=>$f, id=>$node.'/'.$f, leaf=>true, qtip=>$qtip, qtipTitle=>$f, cls=>'file'); | ||
| 42 | + } | ||
| 43 | +} | ||
| 44 | +$d->close(); | ||
| 45 | +echo json_encode($nodes); | ||
| 46 | +?> | ||
| 0 | \ No newline at end of file | 47 | \ No newline at end of file |
thirdpartyjs/extjs/examples/tree/get-nodes.php
0 → 100644
| 1 | +<? | ||
| 2 | +// from php manual page | ||
| 3 | +function formatBytes($val, $digits = 3, $mode = "SI", $bB = "B"){ //$mode == "SI"|"IEC", $bB == "b"|"B" | ||
| 4 | + $si = array("", "K", "M", "G", "T", "P", "E", "Z", "Y"); | ||
| 5 | + $iec = array("", "Ki", "Mi", "Gi", "Ti", "Pi", "Ei", "Zi", "Yi"); | ||
| 6 | + switch(strtoupper($mode)) { | ||
| 7 | + case "SI" : $factor = 1000; $symbols = $si; break; | ||
| 8 | + case "IEC" : $factor = 1024; $symbols = $iec; break; | ||
| 9 | + default : $factor = 1000; $symbols = $si; break; | ||
| 10 | + } | ||
| 11 | + switch($bB) { | ||
| 12 | + case "b" : $val *= 8; break; | ||
| 13 | + default : $bB = "B"; break; | ||
| 14 | + } | ||
| 15 | + for($i=0;$i<count($symbols)-1 && $val>=$factor;$i++) | ||
| 16 | + $val /= $factor; | ||
| 17 | + $p = strpos($val, "."); | ||
| 18 | + if($p !== false && $p > $digits) $val = round($val); | ||
| 19 | + elseif($p !== false) $val = round($val, $digits-$p); | ||
| 20 | + return round($val, $digits) . " " . $symbols[$i] . $bB; | ||
| 21 | +} | ||
| 22 | +$dir = $_REQUEST['lib'] == 'yui' ? '../../../' : '../../'; | ||
| 23 | +$node = $_REQUEST['node']; | ||
| 24 | +if(strpos($node, '..') !== false){ | ||
| 25 | + die('Nice try buddy.'); | ||
| 26 | +} | ||
| 27 | +$nodes = array(); | ||
| 28 | +$d = dir($dir.$node); | ||
| 29 | +while($f = $d->read()){ | ||
| 30 | + if($f == '.' || $f == '..' || substr($f, 0, 1) == '.')continue; | ||
| 31 | + $lastmod = date('M j, Y, g:i a',filemtime($dir.$node.'/'.$f)); | ||
| 32 | + if(is_dir($dir.$node.'/'.$f)){ | ||
| 33 | + $qtip = 'Type: Folder<br />Last Modified: '.$lastmod; | ||
| 34 | + $nodes[] = array('text'=>$f, id=>$node.'/'.$f/*, qtip=>$qtip*/, cls=>'folder'); | ||
| 35 | + }else{ | ||
| 36 | + $size = formatBytes(filesize($dir.$node.'/'.$f), 2); | ||
| 37 | + $qtip = 'Type: JavaScript File<br />Last Modified: '.$lastmod.'<br />Size: '.$size; | ||
| 38 | + $nodes[] = array('text'=>$f, id=>$node.'/'.$f, leaf=>true/*, qtip=>$qtip, qtipTitle=>$f */, cls=>'file'); | ||
| 39 | + } | ||
| 40 | +} | ||
| 41 | +$d->close(); | ||
| 42 | +echo json_encode($nodes); | ||
| 43 | +?> | ||
| 0 | \ No newline at end of file | 44 | \ No newline at end of file |
thirdpartyjs/extjs/examples/tree/images/cmp-bg.gif
0 → 100644
830 Bytes
thirdpartyjs/extjs/examples/tree/images/thumbs/dance_fever.jpg
0 → 100644
2.02 KB
thirdpartyjs/extjs/examples/tree/images/thumbs/gangster_zack.jpg
0 → 100644
2.07 KB
thirdpartyjs/extjs/examples/tree/images/thumbs/kids_hug.jpg
0 → 100644
2.42 KB
thirdpartyjs/extjs/examples/tree/images/thumbs/kids_hug2.jpg
0 → 100644
2.42 KB
thirdpartyjs/extjs/examples/tree/images/thumbs/sara_pink.jpg
0 → 100644
2.1 KB
thirdpartyjs/extjs/examples/tree/images/thumbs/sara_pumpkin.jpg
0 → 100644
2.53 KB
thirdpartyjs/extjs/examples/tree/images/thumbs/sara_smile.jpg
0 → 100644
2.35 KB
thirdpartyjs/extjs/examples/tree/images/thumbs/up_to_something.jpg
0 → 100644
2.07 KB
thirdpartyjs/extjs/examples/tree/images/thumbs/zack.jpg
0 → 100644
2.83 KB
thirdpartyjs/extjs/examples/tree/images/thumbs/zack_dress.jpg
0 → 100644
2.58 KB
thirdpartyjs/extjs/examples/tree/images/thumbs/zack_hat.jpg
0 → 100644
2.27 KB
thirdpartyjs/extjs/examples/tree/images/thumbs/zack_sink.jpg
0 → 100644
2.25 KB
thirdpartyjs/extjs/examples/tree/images/thumbs/zacks_grill.jpg
0 → 100644
2.76 KB
thirdpartyjs/extjs/examples/tree/organizer.css
0 → 100644
| 1 | +/* | ||
| 2 | + * Ext JS Library 1.1 Beta 1 | ||
| 3 | + * Copyright(c) 2006-2007, Ext JS, LLC. | ||
| 4 | + * licensing@extjs.com | ||
| 5 | + * | ||
| 6 | + * http://www.extjs.com/license | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +select{ | ||
| 10 | + font-size:11px; | ||
| 11 | +} | ||
| 12 | +.image-tip{ | ||
| 13 | + padding:4px; | ||
| 14 | + height:98px; | ||
| 15 | + white-space:nowrap; | ||
| 16 | +} | ||
| 17 | +.image-tip img { | ||
| 18 | + margin-right:10px; | ||
| 19 | + border:2px solid #083772; | ||
| 20 | +} | ||
| 21 | +.image-tip b{ | ||
| 22 | + color: #083772; | ||
| 23 | + display: block; | ||
| 24 | + margin-bottom: 4px; | ||
| 25 | +} | ||
| 26 | +.image-tip span{ | ||
| 27 | + display: block; | ||
| 28 | + margin-bottom: 5px; | ||
| 29 | + margin-left: 5px; | ||
| 30 | +} | ||
| 31 | +#images{ | ||
| 32 | + background: #fff url(center-bg.gif) repeat-x top left; | ||
| 33 | + font: 11px Arial, Helvetica, sans-serif; | ||
| 34 | + overflow: auto; | ||
| 35 | +} | ||
| 36 | +#images .thumb{ | ||
| 37 | + background: #dddddd; | ||
| 38 | + padding:3px; | ||
| 39 | +} | ||
| 40 | +#images .thumb img{ | ||
| 41 | + border:1px solid white; | ||
| 42 | + height: 60px; | ||
| 43 | + width: 80px; | ||
| 44 | +} | ||
| 45 | +#images .thumb-wrap{ | ||
| 46 | + float: left; | ||
| 47 | + margin: 4px; | ||
| 48 | + margin-right: 0; | ||
| 49 | + padding: 5px; | ||
| 50 | +} | ||
| 51 | +#images .thumb-wrap span{ | ||
| 52 | + display: block; | ||
| 53 | + overflow: hidden; | ||
| 54 | + text-align: center; | ||
| 55 | +} | ||
| 56 | +#images .x-view-selected .thumb{ | ||
| 57 | + background:#8db2e3; | ||
| 58 | +} | ||
| 59 | +#images .loading-indicator { | ||
| 60 | + font-size:8pt; | ||
| 61 | + background-image:url(../../resources/images/default/grid/loading.gif); | ||
| 62 | + background-repeat: no-repeat; | ||
| 63 | + background-position: left; | ||
| 64 | + padding-left:20px; | ||
| 65 | + margin:10px; | ||
| 66 | +} | ||
| 67 | +.x-dd-drag-proxy .multi-proxy .thumb-img{ | ||
| 68 | + height: 20px; | ||
| 69 | + width: 30px; | ||
| 70 | + margin:1px; | ||
| 71 | +} | ||
| 72 | +.x-dd-drag-proxy .thumb-img{ | ||
| 73 | + height: 60px; | ||
| 74 | + width: 80px; | ||
| 75 | +} | ||
| 76 | +.image-node .x-tree-node-icon{ | ||
| 77 | + margin-bottom:1px; | ||
| 78 | + height:15px; | ||
| 79 | +} | ||
| 80 | +.album-node .x-tree-node-icon, .album-btn .x-btn-text{ | ||
| 81 | + background-image:url(album.gif); | ||
| 82 | +} | ||
| 83 | +#layout{ | ||
| 84 | + height:350px; | ||
| 85 | + width:650px; | ||
| 86 | + overflow:hidden; | ||
| 87 | + position:relative; | ||
| 88 | +} | ||
| 89 | +#layout-rzwrap{ | ||
| 90 | + background-color:#deecfd; | ||
| 91 | +} | ||
| 92 | +#folders{ | ||
| 93 | + position:relative; | ||
| 94 | +} | ||
| 0 | \ No newline at end of file | 95 | \ No newline at end of file |
thirdpartyjs/extjs/examples/tree/organizer.html
0 → 100644
| 1 | +<html> | ||
| 2 | +<head> | ||
| 3 | +<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> | ||
| 4 | +<title>Organizing Images into Albums</title> | ||
| 5 | +<link rel="stylesheet" type="text/css" href="../../resources/css/ext-all.css" /> | ||
| 6 | + | ||
| 7 | + <!-- GC --> <!-- LIBS --> <script type="text/javascript" src="../../adapter/ext/ext-base.js"></script> <!-- ENDLIBS --> | ||
| 8 | + <script type="text/javascript" src="../../ext-all.js"></script> | ||
| 9 | + | ||
| 10 | +<script type="text/javascript" src="organizer.js"></script> | ||
| 11 | + | ||
| 12 | +<!-- Common Styles for the examples --> | ||
| 13 | +<link rel="stylesheet" type="text/css" href="../examples.css" /> | ||
| 14 | + | ||
| 15 | +<link rel="stylesheet" type="text/css" href="organizer.css" /> | ||
| 16 | +</head> | ||
| 17 | +<body> | ||
| 18 | +<script type="text/javascript" src="../examples.js"></script><!-- EXAMPLES --> | ||
| 19 | +<h1>Organizing Images into Albums</h1> | ||
| 20 | +<p>This example shows demonstrates how you can drop anything into the tree.</p> | ||
| 21 | +<p>This example also shows how a customized DragZone can be | ||
| 22 | +applied to a JsonView to get automatic lightweight drag and drop of asynchronously loaded data.</p> | ||
| 23 | +<p>The js is not minified so it is readable. See <a href="organizer.js">organizer.js</a>. The multi image drag drop added a little complexity to the code, but hopefully it is still easy to follow. | ||
| 24 | +<p>For simplicity, there is no validation on the names you enter in the tree node editor and you can drag the same picture | ||
| 25 | +into an album as many times as you want.</p> | ||
| 26 | +<p>Hold shift/control to select multiple images in the main images view. You can drag those images into the tree.</b> | ||
| 27 | + | ||
| 28 | +<div id="layout"></div> | ||
| 29 | +<br /><br /><br /><br /><br /> | ||
| 30 | +</body> | ||
| 31 | +</html> |
thirdpartyjs/extjs/examples/tree/organizer.js
0 → 100644
| 1 | +/* | ||
| 2 | + * Ext JS Library 1.1 Beta 1 | ||
| 3 | + * Copyright(c) 2006-2007, Ext JS, LLC. | ||
| 4 | + * licensing@extjs.com | ||
| 5 | + * | ||
| 6 | + * http://www.extjs.com/license | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +Ext.tree.TreeNodeUI.prototype.initEvents = | ||
| 10 | +Ext.tree.TreeNodeUI.prototype.initEvents.createSequence(function(){ | ||
| 11 | + if(this.node.attributes.tipCfg){ | ||
| 12 | + var o = this.node.attributes.tipCfg; | ||
| 13 | + o.target = Ext.id(this.textNode); | ||
| 14 | + Ext.QuickTips.register(o); | ||
| 15 | + } | ||
| 16 | +}); | ||
| 17 | + | ||
| 18 | +var TreeTest = function(){ | ||
| 19 | + // shorthand | ||
| 20 | + var Tree = Ext.tree; | ||
| 21 | + var newIndex = 3; | ||
| 22 | + | ||
| 23 | + return { | ||
| 24 | + init : function(){ | ||
| 25 | + Ext.QuickTips.init(); | ||
| 26 | + var layout = new Ext.BorderLayout('layout', { | ||
| 27 | + west: { | ||
| 28 | + initialSize:200, | ||
| 29 | + split:true, | ||
| 30 | + titlebar:true | ||
| 31 | + }, | ||
| 32 | + center: { | ||
| 33 | + alwaysShowTabs:true, | ||
| 34 | + tabPosition:'top' | ||
| 35 | + } | ||
| 36 | + }); | ||
| 37 | + | ||
| 38 | + var albums = layout.getEl().createChild({tag:'div', id:'albums'}); | ||
| 39 | + var tb = new Ext.Toolbar(albums.createChild({tag:'div'})); | ||
| 40 | + tb.addButton({ | ||
| 41 | + text: 'New Album', | ||
| 42 | + cls: 'x-btn-text-icon album-btn', | ||
| 43 | + handler: function(){ | ||
| 44 | + var node = root.appendChild(new Tree.TreeNode({ | ||
| 45 | + text:'Album ' + (++newIndex), | ||
| 46 | + cls:'album-node', | ||
| 47 | + allowDrag:false | ||
| 48 | + })); | ||
| 49 | + tree.getSelectionModel().select(node); | ||
| 50 | + setTimeout(function(){ | ||
| 51 | + ge.editNode = node; | ||
| 52 | + ge.startEdit(node.ui.textNode); | ||
| 53 | + }, 10); | ||
| 54 | + } | ||
| 55 | + }); | ||
| 56 | + var viewEl = albums.createChild({tag:'div', id:'folders'}); | ||
| 57 | + | ||
| 58 | + var folders = layout.add('west', new Ext.ContentPanel(albums, { | ||
| 59 | + title:'My Albums', | ||
| 60 | + fitToFrame:true, | ||
| 61 | + autoScroll:true, | ||
| 62 | + autoCreate:true, | ||
| 63 | + toolbar: tb, | ||
| 64 | + resizeEl:viewEl | ||
| 65 | + })); | ||
| 66 | + | ||
| 67 | + var images = layout.add('center', new Ext.ContentPanel('images', { | ||
| 68 | + title:'My Images', | ||
| 69 | + fitToFrame:true, | ||
| 70 | + autoScroll:true, | ||
| 71 | + autoCreate:true | ||
| 72 | + })); | ||
| 73 | + var imgBody = images.getEl(); | ||
| 74 | + | ||
| 75 | + var tree = new Tree.TreePanel(viewEl, { | ||
| 76 | + animate:true, | ||
| 77 | + enableDD:true, | ||
| 78 | + containerScroll: true, | ||
| 79 | + ddGroup: 'organizerDD', | ||
| 80 | + rootVisible:false | ||
| 81 | + }); | ||
| 82 | + var root = new Tree.TreeNode({ | ||
| 83 | + text: 'Albums', | ||
| 84 | + allowDrag:false, | ||
| 85 | + allowDrop:false | ||
| 86 | + }); | ||
| 87 | + tree.setRootNode(root); | ||
| 88 | + | ||
| 89 | + root.appendChild( | ||
| 90 | + new Tree.TreeNode({text:'Album 1', cls:'album-node', allowDrag:false}), | ||
| 91 | + new Tree.TreeNode({text:'Album 2', cls:'album-node', allowDrag:false}), | ||
| 92 | + new Tree.TreeNode({text:'Album 3', cls:'album-node', allowDrag:false}) | ||
| 93 | + ); | ||
| 94 | + | ||
| 95 | + tree.render(); | ||
| 96 | + root.expand(); | ||
| 97 | + | ||
| 98 | + // add an inline editor for the nodes | ||
| 99 | + var ge = new Ext.tree.TreeEditor(tree, { | ||
| 100 | + allowBlank:false, | ||
| 101 | + blankText:'A name is required', | ||
| 102 | + selectOnFocus:true | ||
| 103 | + }); | ||
| 104 | + | ||
| 105 | + // create the required templates | ||
| 106 | + var tpl = new Ext.Template( | ||
| 107 | + '<div class="thumb-wrap" id="{name}">' + | ||
| 108 | + '<div class="thumb"><img src="{url}" class="thumb-img"></div>' + | ||
| 109 | + '<span>{shortName}</span></div>' | ||
| 110 | + ); | ||
| 111 | + | ||
| 112 | + var qtipTpl = new Ext.Template( | ||
| 113 | + '<div class="image-tip"><img src="{url}" align="left">'+ | ||
| 114 | + '<b>Image Name:</b>' + | ||
| 115 | + '<span>{name}</span>' + | ||
| 116 | + '<b>Size:</b>' + | ||
| 117 | + '<span>{sizeString}</span></div>' | ||
| 118 | + ); | ||
| 119 | + qtipTpl.compile(); | ||
| 120 | + | ||
| 121 | + // initialize the View | ||
| 122 | + var view = new Ext.JsonView(imgBody, tpl, { | ||
| 123 | + multiSelect: true, | ||
| 124 | + jsonRoot: 'images' | ||
| 125 | + }); | ||
| 126 | + | ||
| 127 | + var lookup = {}; | ||
| 128 | + | ||
| 129 | + view.prepareData = function(data){ | ||
| 130 | + data.shortName = data.name.ellipse(15); | ||
| 131 | + data.sizeString = (Math.round(((data.size*10) / 1024))/10) + " KB"; | ||
| 132 | + //data.dateString = new Date(data.lastmod).format("m/d/Y g:i a"); | ||
| 133 | + data.qtip = new String(qtipTpl.applyTemplate(data)); | ||
| 134 | + lookup[data.name] = data; | ||
| 135 | + return data; | ||
| 136 | + }; | ||
| 137 | + | ||
| 138 | + var dragZone = new ImageDragZone(view, {containerScroll:true, | ||
| 139 | + ddGroup: 'organizerDD'}); | ||
| 140 | + | ||
| 141 | + view.load({ | ||
| 142 | + url: '../view/get-images.php' | ||
| 143 | + }); | ||
| 144 | + | ||
| 145 | + var rz = new Ext.Resizable('layout', { | ||
| 146 | + wrap:true, | ||
| 147 | + pinned:true, | ||
| 148 | + adjustments:[-6,-6], | ||
| 149 | + minWidth:300 | ||
| 150 | + }); | ||
| 151 | + rz.on('resize', function(){ | ||
| 152 | + layout.layout(); | ||
| 153 | + }); | ||
| 154 | + rz.resizeTo(650, 350); | ||
| 155 | + } | ||
| 156 | + }; | ||
| 157 | +}(); | ||
| 158 | + | ||
| 159 | +Ext.EventManager.onDocumentReady(TreeTest.init, TreeTest, true); | ||
| 160 | + | ||
| 161 | +/** | ||
| 162 | + * Create a DragZone instance for our JsonView | ||
| 163 | + */ | ||
| 164 | +ImageDragZone = function(view, config){ | ||
| 165 | + this.view = view; | ||
| 166 | + ImageDragZone.superclass.constructor.call(this, view.getEl(), config); | ||
| 167 | +}; | ||
| 168 | +Ext.extend(ImageDragZone, Ext.dd.DragZone, { | ||
| 169 | + // We don't want to register our image elements, so let's | ||
| 170 | + // override the default registry lookup to fetch the image | ||
| 171 | + // from the event instead | ||
| 172 | + getDragData : function(e){ | ||
| 173 | + e = Ext.EventObject.setEvent(e); | ||
| 174 | + var target = e.getTarget('.thumb-wrap'); | ||
| 175 | + if(target){ | ||
| 176 | + var view = this.view; | ||
| 177 | + if(!view.isSelected(target)){ | ||
| 178 | + view.select(target, e.ctrlKey); | ||
| 179 | + } | ||
| 180 | + var selNodes = view.getSelectedNodes(); | ||
| 181 | + var dragData = { | ||
| 182 | + nodes: selNodes | ||
| 183 | + }; | ||
| 184 | + if(selNodes.length == 1){ | ||
| 185 | + dragData.ddel = target.firstChild.firstChild; // the img element | ||
| 186 | + dragData.single = true; | ||
| 187 | + }else{ | ||
| 188 | + var div = document.createElement('div'); // create the multi element drag "ghost" | ||
| 189 | + div.className = 'multi-proxy'; | ||
| 190 | + for(var i = 0, len = selNodes.length; i < len; i++){ | ||
| 191 | + div.appendChild(selNodes[i].firstChild.firstChild.cloneNode(true)); | ||
| 192 | + if((i+1) % 3 == 0){ | ||
| 193 | + div.appendChild(document.createElement('br')); | ||
| 194 | + } | ||
| 195 | + } | ||
| 196 | + dragData.ddel = div; | ||
| 197 | + dragData.multi = true; | ||
| 198 | + } | ||
| 199 | + return dragData; | ||
| 200 | + } | ||
| 201 | + return false; | ||
| 202 | + }, | ||
| 203 | + | ||
| 204 | + // this method is called by the TreeDropZone after a node drop | ||
| 205 | + // to get the new tree node (there are also other way, but this is easiest) | ||
| 206 | + getTreeNode : function(){ | ||
| 207 | + var treeNodes = []; | ||
| 208 | + var nodeData = this.view.getNodeData(this.dragData.nodes); | ||
| 209 | + for(var i = 0, len = nodeData.length; i < len; i++){ | ||
| 210 | + var data = nodeData[i]; | ||
| 211 | + treeNodes.push(new Ext.tree.TreeNode({ | ||
| 212 | + text: data.name, | ||
| 213 | + icon: data.url, | ||
| 214 | + data: data, | ||
| 215 | + leaf:true, | ||
| 216 | + cls: 'image-node', | ||
| 217 | + qtip: data.qtip | ||
| 218 | + })); | ||
| 219 | + } | ||
| 220 | + return treeNodes; | ||
| 221 | + }, | ||
| 222 | + | ||
| 223 | + // the default action is to "highlight" after a bad drop | ||
| 224 | + // but since an image can't be highlighted, let's frame it | ||
| 225 | + afterRepair:function(){ | ||
| 226 | + for(var i = 0, len = this.dragData.nodes.length; i < len; i++){ | ||
| 227 | + Ext.fly(this.dragData.nodes[i]).frame('#8db2e3', 1); | ||
| 228 | + } | ||
| 229 | + this.dragging = false; | ||
| 230 | + }, | ||
| 231 | + | ||
| 232 | + // override the default repairXY with one offset for the margins and padding | ||
| 233 | + getRepairXY : function(e){ | ||
| 234 | + if(!this.dragData.multi){ | ||
| 235 | + var xy = Ext.Element.fly(this.dragData.ddel).getXY(); | ||
| 236 | + xy[0]+=3;xy[1]+=3; | ||
| 237 | + return xy; | ||
| 238 | + } | ||
| 239 | + return false; | ||
| 240 | + } | ||
| 241 | +}); | ||
| 242 | + | ||
| 243 | +// Utility functions | ||
| 244 | + | ||
| 245 | +String.prototype.ellipse = function(maxLength){ | ||
| 246 | + if(this.length > maxLength){ | ||
| 247 | + return this.substr(0, maxLength-3) + '...'; | ||
| 248 | + } | ||
| 249 | + return this; | ||
| 250 | +}; | ||
| 0 | \ No newline at end of file | 251 | \ No newline at end of file |
thirdpartyjs/extjs/examples/tree/reorder.html
0 → 100644
| 1 | +<html> | ||
| 2 | +<head> | ||
| 3 | +<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> | ||
| 4 | +<title>Reorder TreePanel</title> | ||
| 5 | +<link rel="stylesheet" type="text/css" href="../../resources/css/ext-all.css" /> | ||
| 6 | + | ||
| 7 | + <!-- GC --> <!-- LIBS --> <script type="text/javascript" src="../../adapter/ext/ext-base.js"></script> <!-- ENDLIBS --> | ||
| 8 | + <script type="text/javascript" src="../../ext-all.js"></script> | ||
| 9 | +<script type="text/javascript" src="reorder.js"></script> | ||
| 10 | + | ||
| 11 | +<!-- Common Styles for the examples --> | ||
| 12 | +<link rel="stylesheet" type="text/css" href="../examples.css" /> | ||
| 13 | +</head> | ||
| 14 | +<body> | ||
| 15 | +<script type="text/javascript" src="../examples.js"></script><!-- EXAMPLES --> | ||
| 16 | +<h1>Drag and Drop ordering in a TreePanel</h1> | ||
| 17 | +<p>This example shows basic drag and drop node moving in a tree. In this implementation there are no restrictions and | ||
| 18 | +anything can be dropped anywhere except appending to nodes marked "leaf" (the files).</p> | ||
| 19 | +<p>Drag along the edge of the tree to trigger auto scrolling while performing a drag and drop.</p> | ||
| 20 | +<p>In order to demonstrate drag and drop insertion points, sorting was <b>not</b> enabled.</p> | ||
| 21 | +<p>The data for this tree is asynchronously loaded with a JSON TreeLoader.</p> | ||
| 22 | +<p>The js is not minified so it is readable. See <a href="reorder.js">reorder.js</a>.</p> | ||
| 23 | + | ||
| 24 | +<div id="tree-div" style="overflow:auto; height:300px;width:250px;border:1px solid #c3daf9;"></div> | ||
| 25 | + | ||
| 26 | +</body> | ||
| 27 | +</html> |
thirdpartyjs/extjs/examples/tree/reorder.js
0 → 100644
| 1 | +/* | ||
| 2 | + * Ext JS Library 1.1 Beta 1 | ||
| 3 | + * Copyright(c) 2006-2007, Ext JS, LLC. | ||
| 4 | + * licensing@extjs.com | ||
| 5 | + * | ||
| 6 | + * http://www.extjs.com/license | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +Ext.onReady(function(){ | ||
| 10 | + // shorthand | ||
| 11 | + var Tree = Ext.tree; | ||
| 12 | + | ||
| 13 | + var tree = new Tree.TreePanel('tree-div', { | ||
| 14 | + animate:true, | ||
| 15 | + loader: new Tree.TreeLoader({dataUrl:'get-nodes.php'}), | ||
| 16 | + enableDD:true, | ||
| 17 | + containerScroll: true | ||
| 18 | + }); | ||
| 19 | + | ||
| 20 | + // set the root node | ||
| 21 | + var root = new Tree.AsyncTreeNode({ | ||
| 22 | + text: 'Ext JS', | ||
| 23 | + draggable:false, | ||
| 24 | + id:'source' | ||
| 25 | + }); | ||
| 26 | + tree.setRootNode(root); | ||
| 27 | + | ||
| 28 | + // render the tree | ||
| 29 | + tree.render(); | ||
| 30 | + root.expand(); | ||
| 31 | +}); | ||
| 0 | \ No newline at end of file | 32 | \ No newline at end of file |
thirdpartyjs/extjs/examples/tree/save-dep.php
0 → 100644
thirdpartyjs/extjs/examples/tree/two-trees.html
0 → 100644
| 1 | +<html> | ||
| 2 | +<head> | ||
| 3 | +<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> | ||
| 4 | +<title>Drag and Drop between 2 TreePanels</title> | ||
| 5 | +<link rel="stylesheet" type="text/css" href="../../resources/css/ext-all.css" /> | ||
| 6 | + | ||
| 7 | + <!-- GC --> <!-- LIBS --> <script type="text/javascript" src="../../adapter/ext/ext-base.js"></script> <!-- ENDLIBS --> | ||
| 8 | + <script type="text/javascript" src="../../ext-all.js"></script> | ||
| 9 | +<script type="text/javascript" src="two-trees.js"></script> | ||
| 10 | + | ||
| 11 | +<!-- Common Styles for the examples --> | ||
| 12 | +<link rel="stylesheet" type="text/css" href="../examples.css" /> | ||
| 13 | +<style type="text/css"> | ||
| 14 | + #tree, #tree2 { | ||
| 15 | + float:left; | ||
| 16 | + margin:20px; | ||
| 17 | + border:1px solid #c3daf9; | ||
| 18 | + width:250px; | ||
| 19 | + height:300px; | ||
| 20 | + overflow:auto; | ||
| 21 | + } | ||
| 22 | + .folder .x-tree-node-icon{ | ||
| 23 | + background:transparent url(../../resources/images/default/tree/folder.gif); | ||
| 24 | + } | ||
| 25 | + .x-tree-node-expanded .x-tree-node-icon{ | ||
| 26 | + background:transparent url(../../resources/images/default/tree/folder-open.gif); | ||
| 27 | + } | ||
| 28 | + </style> | ||
| 29 | +</head> | ||
| 30 | +<body> | ||
| 31 | +<script type="text/javascript" src="../examples.js"></script><!-- EXAMPLES --> | ||
| 32 | +<h1>Drag and Drop betweens two TreePanels</h1> | ||
| 33 | +<p>The TreePanels have a TreeSorter applied in "folderSort" mode.</p> | ||
| 34 | +<p>Both TreePanels are in "appendOnly" drop mode since they are sorted.</p> | ||
| 35 | +<p>Drag along the edge of the tree to trigger auto scrolling while performing a drag and drop.</p> | ||
| 36 | +<p>The data for this tree is asynchronously loaded with a JSON TreeLoader.</p> | ||
| 37 | +<p>The js is not minified so it is readable. See <a href="two-trees.js">two-trees.js</a>.</p> | ||
| 38 | + | ||
| 39 | +<div id="tree"></div> | ||
| 40 | +<div id="tree2"></div> | ||
| 41 | + | ||
| 42 | +</body> | ||
| 43 | +</html> |
thirdpartyjs/extjs/examples/tree/two-trees.js
0 → 100644
| 1 | +/* | ||
| 2 | + * Ext JS Library 1.1 Beta 1 | ||
| 3 | + * Copyright(c) 2006-2007, Ext JS, LLC. | ||
| 4 | + * licensing@extjs.com | ||
| 5 | + * | ||
| 6 | + * http://www.extjs.com/license | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +var TreeTest = function(){ | ||
| 10 | + // shorthand | ||
| 11 | + var Tree = Ext.tree; | ||
| 12 | + | ||
| 13 | + return { | ||
| 14 | + init : function(){ | ||
| 15 | + // yui-ext tree | ||
| 16 | + var tree = new Tree.TreePanel('tree', { | ||
| 17 | + animate:true, | ||
| 18 | + loader: new Tree.TreeLoader({dataUrl:'get-nodes.php'}), | ||
| 19 | + enableDD:true, | ||
| 20 | + containerScroll: true, | ||
| 21 | + dropConfig: {appendOnly:true} | ||
| 22 | + }); | ||
| 23 | + | ||
| 24 | + // add a tree sorter in folder mode | ||
| 25 | + new Tree.TreeSorter(tree, {folderSort:true}); | ||
| 26 | + | ||
| 27 | + // set the root node | ||
| 28 | + var root = new Tree.AsyncTreeNode({ | ||
| 29 | + text: 'Ext JS', | ||
| 30 | + draggable:false, // disable root node dragging | ||
| 31 | + id:'source' | ||
| 32 | + }); | ||
| 33 | + tree.setRootNode(root); | ||
| 34 | + | ||
| 35 | + // render the tree | ||
| 36 | + tree.render(); | ||
| 37 | + | ||
| 38 | + root.expand(false, /*no anim*/ false); | ||
| 39 | + | ||
| 40 | + //------------------------------------------------------------- | ||
| 41 | + | ||
| 42 | + // YUI tree | ||
| 43 | + var tree2 = new Tree.TreePanel('tree2', { | ||
| 44 | + animate:true, | ||
| 45 | + //rootVisible: false, | ||
| 46 | + loader: new Ext.tree.TreeLoader({ | ||
| 47 | + dataUrl:'get-nodes.php', | ||
| 48 | + baseParams: {lib:'yui'} // custom http params | ||
| 49 | + }), | ||
| 50 | + containerScroll: true, | ||
| 51 | + enableDD:true, | ||
| 52 | + dropConfig: {appendOnly:true} | ||
| 53 | + }); | ||
| 54 | + | ||
| 55 | + // add a tree sorter in folder mode | ||
| 56 | + new Tree.TreeSorter(tree2, {folderSort:true}); | ||
| 57 | + | ||
| 58 | + // add the root node | ||
| 59 | + var root2 = new Tree.AsyncTreeNode({ | ||
| 60 | + text: 'Yahoo! UI Source', | ||
| 61 | + draggable:false, | ||
| 62 | + id:'yui' | ||
| 63 | + }); | ||
| 64 | + tree2.setRootNode(root2); | ||
| 65 | + tree2.render(); | ||
| 66 | + | ||
| 67 | + root2.expand(false, /*no anim*/ false); | ||
| 68 | + } | ||
| 69 | + }; | ||
| 70 | +}(); | ||
| 71 | + | ||
| 72 | +Ext.EventManager.onDocumentReady(TreeTest.init, TreeTest, true); | ||
| 0 | \ No newline at end of file | 73 | \ No newline at end of file |
thirdpartyjs/extjs/examples/view/chooser-example.js
0 → 100644
| 1 | +/* | ||
| 2 | + * Ext JS Library 1.1 Beta 1 | ||
| 3 | + * Copyright(c) 2006-2007, Ext JS, LLC. | ||
| 4 | + * licensing@extjs.com | ||
| 5 | + * | ||
| 6 | + * http://www.extjs.com/license | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +Ext.onReady(function(){ | ||
| 10 | + var chooser, btn; | ||
| 11 | + | ||
| 12 | + function insertImage(data){ | ||
| 13 | + Ext.DomHelper.append('images', { | ||
| 14 | + tag: 'img', src: data.url, style:'margin:10px;visibility:hidden;' | ||
| 15 | + }, true).show(true); | ||
| 16 | + btn.getEl().focus(); | ||
| 17 | + }; | ||
| 18 | + | ||
| 19 | + function choose(btn){ | ||
| 20 | + if(!chooser){ | ||
| 21 | + chooser = new ImageChooser({ | ||
| 22 | + url:'get-images.php', | ||
| 23 | + width:515, | ||
| 24 | + height:400 | ||
| 25 | + }); | ||
| 26 | + } | ||
| 27 | + chooser.show(btn.getEl(), insertImage); | ||
| 28 | + }; | ||
| 29 | + | ||
| 30 | + btn = new Ext.Button('buttons', { | ||
| 31 | + text: "Insert Image", | ||
| 32 | + handler: choose | ||
| 33 | + }); | ||
| 34 | +}); |
thirdpartyjs/extjs/examples/view/chooser.css
0 → 100644
| 1 | +/* | ||
| 2 | + * Ext JS Library 1.1 Beta 1 | ||
| 3 | + * Copyright(c) 2006-2007, Ext JS, LLC. | ||
| 4 | + * licensing@extjs.com | ||
| 5 | + * | ||
| 6 | + * http://www.extjs.com/license | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +.details{ | ||
| 10 | + padding: 10px; | ||
| 11 | + text-align: center; | ||
| 12 | +} | ||
| 13 | +.details-info{ | ||
| 14 | + border-top: 1px solid #cccccc; | ||
| 15 | + font: 11px Arial, Helvetica, sans-serif; | ||
| 16 | + margin-top: 5px; | ||
| 17 | + padding-top: 5px; | ||
| 18 | + text-align: left; | ||
| 19 | +} | ||
| 20 | +.details-info b{ | ||
| 21 | + color: #555555; | ||
| 22 | + display: block; | ||
| 23 | + margin-bottom: 4px; | ||
| 24 | +} | ||
| 25 | +.details-info span{ | ||
| 26 | + display: block; | ||
| 27 | + margin-bottom: 5px; | ||
| 28 | + margin-left: 5px; | ||
| 29 | +} | ||
| 30 | +.ychooser-dlg select{ | ||
| 31 | + font-size: 12px; | ||
| 32 | +} | ||
| 33 | +.ychooser-view{ | ||
| 34 | + background: white; | ||
| 35 | + font: 11px Arial, Helvetica, sans-serif; | ||
| 36 | + overflow: auto; | ||
| 37 | +} | ||
| 38 | +.ychooser-view .thumb{ | ||
| 39 | + background: #dddddd; | ||
| 40 | + padding: 3px; | ||
| 41 | +} | ||
| 42 | +.ychooser-view .thumb img{ | ||
| 43 | + height: 60px; | ||
| 44 | + width: 80px; | ||
| 45 | +} | ||
| 46 | +.ychooser-view .thumb-wrap{ | ||
| 47 | + float: left; | ||
| 48 | + margin: 4px; | ||
| 49 | + margin-right: 0; | ||
| 50 | + padding: 5px; | ||
| 51 | +} | ||
| 52 | +.ychooser-view .thumb-wrap span{ | ||
| 53 | + display: block; | ||
| 54 | + overflow: hidden; | ||
| 55 | + text-align: center; | ||
| 56 | +} | ||
| 57 | +.ychooser-view .x-view-selected{ | ||
| 58 | + background: #c3daf9; | ||
| 59 | + border: 2px solid #6593cf; | ||
| 60 | + padding: 3px; | ||
| 61 | +} | ||
| 62 | +.ychooser-view .x-view-selected .thumb{ | ||
| 63 | + background:transparent; | ||
| 64 | +} | ||
| 65 | +.ychooser-view .loading-indicator { | ||
| 66 | + font-size:11px; | ||
| 67 | + background-image:url('../../resources/images/grid/loading.gif'); | ||
| 68 | + background-repeat: no-repeat; | ||
| 69 | + background-position: left; | ||
| 70 | + padding-left:20px; | ||
| 71 | + margin:10px; | ||
| 72 | +} |
thirdpartyjs/extjs/examples/view/chooser.html
0 → 100644
| 1 | +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> | ||
| 2 | +<html> | ||
| 3 | +<head> | ||
| 4 | + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> | ||
| 5 | + <title>JsonView Example</title> | ||
| 6 | + <link rel="stylesheet" type="text/css" href="../../resources/css/ext-all.css" /> | ||
| 7 | + | ||
| 8 | + <!-- GC --> <!-- LIBS --> <script type="text/javascript" src="../../adapter/ext/ext-base.js"></script> <!-- ENDLIBS --> | ||
| 9 | + <script type="text/javascript" src="../../ext-all.js"></script> | ||
| 10 | + | ||
| 11 | + <link rel="stylesheet" type="text/css" href="chooser.css" /> | ||
| 12 | + <script type="text/javascript" src="chooser.js"></script> | ||
| 13 | + <script type="text/javascript" src="chooser-example.js"></script> | ||
| 14 | + | ||
| 15 | + <!-- Common Styles for the examples --> | ||
| 16 | + <link rel="stylesheet" type="text/css" href="../examples.css" /> | ||
| 17 | +</head> | ||
| 18 | +<body class="xtheme-gray"> | ||
| 19 | + <script type="text/javascript" src="../examples.js"></script><!-- EXAMPLES --> | ||
| 20 | + <h1>JsonView Example</h1> | ||
| 21 | + <p>This example demonstrates how to use some of the advanced features of a JsonView. It also shows how | ||
| 22 | + to use the LayoutDialog and DomHelper.Template classes.</p> | ||
| 23 | + <div id="buttons" style="margin:20px;"></div> | ||
| 24 | + <div id="images" style="margin:20px;width:400px;"></div> | ||
| 25 | +</body> | ||
| 26 | +</html> | ||
| 0 | \ No newline at end of file | 27 | \ No newline at end of file |
thirdpartyjs/extjs/examples/view/chooser.js
0 → 100644
| 1 | +/* | ||
| 2 | + * Ext JS Library 1.1 Beta 1 | ||
| 3 | + * Copyright(c) 2006-2007, Ext JS, LLC. | ||
| 4 | + * licensing@extjs.com | ||
| 5 | + * | ||
| 6 | + * http://www.extjs.com/license | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +var ImageChooser = function(config){ | ||
| 10 | + // create the dialog from scratch | ||
| 11 | + var dlg = new Ext.LayoutDialog(config.id || Ext.id(), { | ||
| 12 | + autoCreate : true, | ||
| 13 | + minWidth:400, | ||
| 14 | + minHeight:300, | ||
| 15 | + syncHeightBeforeShow: true, | ||
| 16 | + shadow:true, | ||
| 17 | + fixedcenter:true, | ||
| 18 | + center:{autoScroll:false}, | ||
| 19 | + east:{split:true,initialSize:150,minSize:150,maxSize:250} | ||
| 20 | + }); | ||
| 21 | + dlg.setTitle('Choose an Image'); | ||
| 22 | + dlg.getEl().addClass('ychooser-dlg'); | ||
| 23 | + dlg.addKeyListener(27, dlg.hide, dlg); | ||
| 24 | + | ||
| 25 | + // add some buttons | ||
| 26 | + this.ok = dlg.addButton('OK', this.doCallback, this); | ||
| 27 | + this.ok.disable(); | ||
| 28 | + dlg.setDefaultButton(dlg.addButton('Cancel', dlg.hide, dlg)); | ||
| 29 | + dlg.on('show', this.load, this); | ||
| 30 | + this.dlg = dlg; | ||
| 31 | + var layout = dlg.getLayout(); | ||
| 32 | + | ||
| 33 | + // filter/sorting toolbar | ||
| 34 | + this.tb = new Ext.Toolbar(this.dlg.body.createChild({tag:'div'})); | ||
| 35 | + this.sortSelect = Ext.DomHelper.append(this.dlg.body.dom, { | ||
| 36 | + tag:'select', children: [ | ||
| 37 | + {tag: 'option', value:'name', selected: 'true', html:'Name'}, | ||
| 38 | + {tag: 'option', value:'size', html:'File Size'}, | ||
| 39 | + {tag: 'option', value:'lastmod', html:'Last Modified'} | ||
| 40 | + ] | ||
| 41 | + }, true); | ||
| 42 | + this.sortSelect.on('change', this.sortImages, this, true); | ||
| 43 | + | ||
| 44 | + this.txtFilter = Ext.DomHelper.append(this.dlg.body.dom, { | ||
| 45 | + tag:'input', type:'text', size:'12'}, true); | ||
| 46 | + | ||
| 47 | + this.txtFilter.on('focus', function(){this.dom.select();}); | ||
| 48 | + this.txtFilter.on('keyup', this.filter, this, {buffer:500}); | ||
| 49 | + | ||
| 50 | + this.tb.add('Filter:', this.txtFilter.dom, 'separator', 'Sort By:', this.sortSelect.dom); | ||
| 51 | + | ||
| 52 | + // add the panels to the layout | ||
| 53 | + layout.beginUpdate(); | ||
| 54 | + var vp = layout.add('center', new Ext.ContentPanel(Ext.id(), { | ||
| 55 | + autoCreate : true, | ||
| 56 | + toolbar: this.tb, | ||
| 57 | + fitToFrame:true | ||
| 58 | + })); | ||
| 59 | + var dp = layout.add('east', new Ext.ContentPanel(Ext.id(), { | ||
| 60 | + autoCreate : true, | ||
| 61 | + fitToFrame:true | ||
| 62 | + })); | ||
| 63 | + layout.endUpdate(); | ||
| 64 | + | ||
| 65 | + var bodyEl = vp.getEl(); | ||
| 66 | + bodyEl.appendChild(this.tb.getEl()); | ||
| 67 | + var viewBody = bodyEl.createChild({tag:'div', cls:'ychooser-view'}); | ||
| 68 | + vp.resizeEl = viewBody; | ||
| 69 | + | ||
| 70 | + this.detailEl = dp.getEl(); | ||
| 71 | + | ||
| 72 | + // create the required templates | ||
| 73 | + this.thumbTemplate = new Ext.Template( | ||
| 74 | + '<div class="thumb-wrap" id="{name}">' + | ||
| 75 | + '<div class="thumb"><img src="{url}" title="{name}"></div>' + | ||
| 76 | + '<span>{shortName}</span></div>' | ||
| 77 | + ); | ||
| 78 | + this.thumbTemplate.compile(); | ||
| 79 | + | ||
| 80 | + this.detailsTemplate = new Ext.Template( | ||
| 81 | + '<div class="details"><img src="{url}"><div class="details-info">' + | ||
| 82 | + '<b>Image Name:</b>' + | ||
| 83 | + '<span>{name}</span>' + | ||
| 84 | + '<b>Size:</b>' + | ||
| 85 | + '<span>{sizeString}</span>' + | ||
| 86 | + '<b>Last Modified:</b>' + | ||
| 87 | + '<span>{dateString}</span></div></div>' | ||
| 88 | + ); | ||
| 89 | + this.detailsTemplate.compile(); | ||
| 90 | + | ||
| 91 | + // initialize the View | ||
| 92 | + this.view = new Ext.JsonView(viewBody, this.thumbTemplate, { | ||
| 93 | + singleSelect: true, | ||
| 94 | + jsonRoot: 'images', | ||
| 95 | + emptyText : '<div style="padding:10px;">No images match the specified filter</div>' | ||
| 96 | + }); | ||
| 97 | + this.view.on('selectionchange', this.showDetails, this, {buffer:100}); | ||
| 98 | + this.view.on('dblclick', this.doCallback, this); | ||
| 99 | + this.view.on('loadexception', this.onLoadException, this); | ||
| 100 | + this.view.on('beforeselect', function(view){ | ||
| 101 | + return view.getCount() > 0; | ||
| 102 | + }); | ||
| 103 | + Ext.apply(this, config, { | ||
| 104 | + width: 540, height: 400 | ||
| 105 | + }); | ||
| 106 | + | ||
| 107 | + var formatSize = function(size){ | ||
| 108 | + if(size < 1024) { | ||
| 109 | + return size + " bytes"; | ||
| 110 | + } else { | ||
| 111 | + return (Math.round(((size*10) / 1024))/10) + " KB"; | ||
| 112 | + } | ||
| 113 | + }; | ||
| 114 | + | ||
| 115 | + // cache data by image name for easy lookup | ||
| 116 | + var lookup = {}; | ||
| 117 | + // make some values pretty for display | ||
| 118 | + this.view.prepareData = function(data){ | ||
| 119 | + data.shortName = data.name.ellipse(15); | ||
| 120 | + data.sizeString = formatSize(data.size); | ||
| 121 | + data.dateString = new Date(data.lastmod).format("m/d/Y g:i a"); | ||
| 122 | + lookup[data.name] = data; | ||
| 123 | + return data; | ||
| 124 | + }; | ||
| 125 | + this.lookup = lookup; | ||
| 126 | + | ||
| 127 | + dlg.resizeTo(this.width, this.height); | ||
| 128 | + this.loaded = false; | ||
| 129 | +}; | ||
| 130 | +ImageChooser.prototype = { | ||
| 131 | + show : function(el, callback){ | ||
| 132 | + this.reset(); | ||
| 133 | + this.dlg.show(el); | ||
| 134 | + this.callback = callback; | ||
| 135 | + }, | ||
| 136 | + | ||
| 137 | + reset : function(){ | ||
| 138 | + this.view.getEl().dom.scrollTop = 0; | ||
| 139 | + this.view.clearFilter(); | ||
| 140 | + this.txtFilter.dom.value = ''; | ||
| 141 | + this.view.select(0); | ||
| 142 | + }, | ||
| 143 | + | ||
| 144 | + load : function(){ | ||
| 145 | + if(!this.loaded){ | ||
| 146 | + this.view.load({url: this.url, params:this.params, callback:this.onLoad.createDelegate(this)}); | ||
| 147 | + } | ||
| 148 | + }, | ||
| 149 | + | ||
| 150 | + onLoadException : function(v,o){ | ||
| 151 | + this.view.getEl().update('<div style="padding:10px;">Error loading images.</div>'); | ||
| 152 | + }, | ||
| 153 | + | ||
| 154 | + filter : function(){ | ||
| 155 | + var filter = this.txtFilter.dom.value; | ||
| 156 | + this.view.filter('name', filter); | ||
| 157 | + this.view.select(0); | ||
| 158 | + }, | ||
| 159 | + | ||
| 160 | + onLoad : function(){ | ||
| 161 | + this.loaded = true; | ||
| 162 | + this.view.select(0); | ||
| 163 | + }, | ||
| 164 | + | ||
| 165 | + sortImages : function(){ | ||
| 166 | + var p = this.sortSelect.dom.value; | ||
| 167 | + this.view.sort(p, p != 'name' ? 'desc' : 'asc'); | ||
| 168 | + this.view.select(0); | ||
| 169 | + }, | ||
| 170 | + | ||
| 171 | + showDetails : function(view, nodes){ | ||
| 172 | + var selNode = nodes[0]; | ||
| 173 | + if(selNode && this.view.getCount() > 0){ | ||
| 174 | + this.ok.enable(); | ||
| 175 | + var data = this.lookup[selNode.id]; | ||
| 176 | + this.detailEl.hide(); | ||
| 177 | + this.detailsTemplate.overwrite(this.detailEl, data); | ||
| 178 | + this.detailEl.slideIn('l', {stopFx:true,duration:.2}); | ||
| 179 | + | ||
| 180 | + }else{ | ||
| 181 | + this.ok.disable(); | ||
| 182 | + this.detailEl.update(''); | ||
| 183 | + } | ||
| 184 | + }, | ||
| 185 | + | ||
| 186 | + doCallback : function(){ | ||
| 187 | + var selNode = this.view.getSelectedNodes()[0]; | ||
| 188 | + var callback = this.callback; | ||
| 189 | + var lookup = this.lookup; | ||
| 190 | + this.dlg.hide(function(){ | ||
| 191 | + if(selNode && callback){ | ||
| 192 | + var data = lookup[selNode.id]; | ||
| 193 | + callback(data); | ||
| 194 | + } | ||
| 195 | + }); | ||
| 196 | + } | ||
| 197 | +}; | ||
| 198 | + | ||
| 199 | +String.prototype.ellipse = function(maxLength){ | ||
| 200 | + if(this.length > maxLength){ | ||
| 201 | + return this.substr(0, maxLength-3) + '...'; | ||
| 202 | + } | ||
| 203 | + return this; | ||
| 204 | +}; | ||
| 0 | \ No newline at end of file | 205 | \ No newline at end of file |
thirdpartyjs/extjs/examples/view/get-images.php
0 → 100644
| 1 | +<? | ||
| 2 | +$dir = "images/thumbs/"; | ||
| 3 | +$images = array(); | ||
| 4 | +$d = dir($dir); | ||
| 5 | +while($name = $d->read()){ | ||
| 6 | + if(!preg_match('/\.(jpg|gif|png)$/', $name)) continue; | ||
| 7 | + $size = filesize($dir.$name); | ||
| 8 | + $lastmod = filemtime($dir.$name)*1000; | ||
| 9 | + $images[] = array('name'=>$name, 'size'=>$size, | ||
| 10 | + 'lastmod'=>$lastmod, 'url'=>$dir.$name); | ||
| 11 | +} | ||
| 12 | +$d->close(); | ||
| 13 | +$o = array('images'=>$images); | ||
| 14 | +echo json_encode($o); | ||
| 15 | +?> | ||
| 0 | \ No newline at end of file | 16 | \ No newline at end of file |
thirdpartyjs/extjs/examples/view/images/thumbs/dance_fever.jpg
0 → 100644
2.02 KB
thirdpartyjs/extjs/examples/view/images/thumbs/gangster_zack.jpg
0 → 100644
2.07 KB
thirdpartyjs/extjs/examples/view/images/thumbs/kids_hug.jpg
0 → 100644
2.42 KB
thirdpartyjs/extjs/examples/view/images/thumbs/kids_hug2.jpg
0 → 100644
2.42 KB
thirdpartyjs/extjs/examples/view/images/thumbs/sara_pink.jpg
0 → 100644
2.1 KB
thirdpartyjs/extjs/examples/view/images/thumbs/sara_pumpkin.jpg
0 → 100644
2.53 KB
thirdpartyjs/extjs/examples/view/images/thumbs/sara_smile.jpg
0 → 100644
2.35 KB
thirdpartyjs/extjs/examples/view/images/thumbs/up_to_something.jpg
0 → 100644
2.07 KB
thirdpartyjs/extjs/examples/view/images/thumbs/zack.jpg
0 → 100644
2.83 KB
thirdpartyjs/extjs/examples/view/images/thumbs/zack_dress.jpg
0 → 100644
2.58 KB
thirdpartyjs/extjs/examples/view/images/thumbs/zack_hat.jpg
0 → 100644
2.27 KB
thirdpartyjs/extjs/examples/view/images/thumbs/zack_sink.jpg
0 → 100644
2.25 KB
thirdpartyjs/extjs/examples/view/images/thumbs/zacks_grill.jpg
0 → 100644
2.76 KB