Update vendors.
0
vendor/firebug-lite/license.txt
vendored
Executable file → Normal file
0
vendor/firebug-lite/skin/xp/blank.gif
vendored
Executable file → Normal file
|
Before Width: | Height: | Size: 43 B After Width: | Height: | Size: 43 B |
0
vendor/firebug-lite/skin/xp/buttonBg.png
vendored
Executable file → Normal file
|
Before Width: | Height: | Size: 167 B After Width: | Height: | Size: 167 B |
0
vendor/firebug-lite/skin/xp/buttonBgHover.png
vendored
Executable file → Normal file
|
Before Width: | Height: | Size: 171 B After Width: | Height: | Size: 171 B |
0
vendor/firebug-lite/skin/xp/debugger.css
vendored
Executable file → Normal file
0
vendor/firebug-lite/skin/xp/detach.png
vendored
Executable file → Normal file
|
Before Width: | Height: | Size: 655 B After Width: | Height: | Size: 655 B |
0
vendor/firebug-lite/skin/xp/detachHover.png
vendored
Executable file → Normal file
|
Before Width: | Height: | Size: 586 B After Width: | Height: | Size: 586 B |
0
vendor/firebug-lite/skin/xp/disable.gif
vendored
Executable file → Normal file
|
Before Width: | Height: | Size: 340 B After Width: | Height: | Size: 340 B |
0
vendor/firebug-lite/skin/xp/disable.png
vendored
Executable file → Normal file
|
Before Width: | Height: | Size: 543 B After Width: | Height: | Size: 543 B |
0
vendor/firebug-lite/skin/xp/disableHover.gif
vendored
Executable file → Normal file
|
Before Width: | Height: | Size: 344 B After Width: | Height: | Size: 344 B |
0
vendor/firebug-lite/skin/xp/disableHover.png
vendored
Executable file → Normal file
|
Before Width: | Height: | Size: 512 B After Width: | Height: | Size: 512 B |
0
vendor/firebug-lite/skin/xp/down.png
vendored
Executable file → Normal file
|
Before Width: | Height: | Size: 637 B After Width: | Height: | Size: 637 B |
0
vendor/firebug-lite/skin/xp/downActive.png
vendored
Executable file → Normal file
|
Before Width: | Height: | Size: 543 B After Width: | Height: | Size: 543 B |
0
vendor/firebug-lite/skin/xp/downHover.png
vendored
Executable file → Normal file
|
Before Width: | Height: | Size: 526 B After Width: | Height: | Size: 526 B |
0
vendor/firebug-lite/skin/xp/errorIcon-sm.png
vendored
Executable file → Normal file
|
Before Width: | Height: | Size: 447 B After Width: | Height: | Size: 447 B |
0
vendor/firebug-lite/skin/xp/errorIcon.gif
vendored
Executable file → Normal file
|
Before Width: | Height: | Size: 365 B After Width: | Height: | Size: 365 B |
0
vendor/firebug-lite/skin/xp/errorIcon.png
vendored
Executable file → Normal file
|
Before Width: | Height: | Size: 457 B After Width: | Height: | Size: 457 B |
28
vendor/firebug-lite/skin/xp/firebug-1.3a2.css
vendored
Executable file → Normal file
@@ -70,7 +70,7 @@ html, body {
|
|||||||
body {
|
body {
|
||||||
font-family: Lucida Grande, Tahoma, sans-serif;
|
font-family: Lucida Grande, Tahoma, sans-serif;
|
||||||
font-size: 11px;
|
font-size: 11px;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
.clear {
|
.clear {
|
||||||
@@ -103,7 +103,7 @@ body {
|
|||||||
border: 1px solid #ccc;
|
border: 1px solid #ccc;
|
||||||
margin: 0 5px 0 0;
|
margin: 0 5px 0 0;
|
||||||
background: #fff url(search.png) no-repeat 4px 2px;
|
background: #fff url(search.png) no-repeat 4px 2px;
|
||||||
padding-left: 20px;
|
padding-left: 20px;
|
||||||
font-size: 11px;
|
font-size: 11px;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -124,7 +124,7 @@ body {
|
|||||||
height: 14px;
|
height: 14px;
|
||||||
background: url(errorIcon.png) no-repeat;
|
background: url(errorIcon.png) no-repeat;
|
||||||
color: #f00;
|
color: #f00;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
#fbMiniErrors {
|
#fbMiniErrors {
|
||||||
@@ -139,7 +139,7 @@ body {
|
|||||||
margin: 3px 4px 0;
|
margin: 3px 4px 0;
|
||||||
height: 20px;
|
height: 20px;
|
||||||
width: 20px;
|
width: 20px;
|
||||||
float: right;
|
float: right;
|
||||||
background: url(sprite.png) 0 -135px;
|
background: url(sprite.png) 0 -135px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
@@ -192,10 +192,10 @@ body {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/************************************************************************************************
|
/************************************************************************************************
|
||||||
Sub-Layout
|
Sub-Layout
|
||||||
*************************************************************************************************/
|
*************************************************************************************************/
|
||||||
|
|
||||||
/* fbToolbar
|
/* fbToolbar
|
||||||
*************************************************************************************************/
|
*************************************************************************************************/
|
||||||
#fbToolbarIcon {
|
#fbToolbarIcon {
|
||||||
float: left;
|
float: left;
|
||||||
@@ -237,7 +237,7 @@ body {
|
|||||||
position: relative;
|
position: relative;
|
||||||
top: 5px;
|
top: 5px;
|
||||||
line-height: 19px;
|
line-height: 19px;
|
||||||
cursor: default;
|
cursor: default;
|
||||||
}
|
}
|
||||||
|
|
||||||
.fbToolbarSeparator{
|
.fbToolbarSeparator{
|
||||||
@@ -262,7 +262,7 @@ body {
|
|||||||
|
|
||||||
.fbStatusBar span a:hover {
|
.fbStatusBar span a:hover {
|
||||||
color: blue;
|
color: blue;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -307,7 +307,7 @@ body {
|
|||||||
padding-left: 10px;
|
padding-left: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* body
|
/* body
|
||||||
*************************************************************************************************/
|
*************************************************************************************************/
|
||||||
.fbPanel {
|
.fbPanel {
|
||||||
display: none;
|
display: none;
|
||||||
@@ -340,7 +340,7 @@ body {
|
|||||||
visibility: hidden !important;
|
visibility: hidden !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* fbBottom
|
/* fbBottom
|
||||||
*************************************************************************************************/
|
*************************************************************************************************/
|
||||||
|
|
||||||
#fbCommand {
|
#fbCommand {
|
||||||
@@ -391,7 +391,7 @@ div.fbFitHeight {
|
|||||||
Layout Controls
|
Layout Controls
|
||||||
*************************************************************************************************/
|
*************************************************************************************************/
|
||||||
|
|
||||||
/* fbToolbar buttons
|
/* fbToolbar buttons
|
||||||
*************************************************************************************************/
|
*************************************************************************************************/
|
||||||
#fbWindowButtons a {
|
#fbWindowButtons a {
|
||||||
font-size: 1px;
|
font-size: 1px;
|
||||||
@@ -420,7 +420,7 @@ div.fbFitHeight {
|
|||||||
background: url(sprite.png) -48px -119px;
|
background: url(sprite.png) -48px -119px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* fbPanelBarBox tabs
|
/* fbPanelBarBox tabs
|
||||||
*************************************************************************************************/
|
*************************************************************************************************/
|
||||||
.fbTab {
|
.fbTab {
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
@@ -475,7 +475,7 @@ a.fbTab:hover .fbTabR {
|
|||||||
background: url(sprite.png) -8px -96px !important;
|
background: url(sprite.png) -8px -96px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* splitters
|
/* splitters
|
||||||
*************************************************************************************************/
|
*************************************************************************************************/
|
||||||
#fbHSplitter {
|
#fbHSplitter {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
@@ -571,7 +571,7 @@ div.objectBox-element {
|
|||||||
color: #fff !important;
|
color: #fff !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Webkit CSS Hack - bug in "highlight" named color */
|
/* Webkit CSS Hack - bug in "highlight" named color */
|
||||||
@media screen and (-webkit-min-device-pixel-ratio:0) {
|
@media screen and (-webkit-min-device-pixel-ratio:0) {
|
||||||
.selectedElement{
|
.selectedElement{
|
||||||
background: #316AC5;
|
background: #316AC5;
|
||||||
|
|||||||
0
vendor/firebug-lite/skin/xp/firebug.IE6.css
vendored
Executable file → Normal file
68
vendor/firebug-lite/skin/xp/firebug.css
vendored
Executable file → Normal file
@@ -136,10 +136,10 @@ h1.groupHeader {
|
|||||||
position: relative;
|
position: relative;
|
||||||
top: -7px;
|
top: -7px;
|
||||||
left: -5px;
|
left: -5px;
|
||||||
|
|
||||||
outline: none;
|
outline: none;
|
||||||
resize: none;
|
resize: none;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
_border: 1px solid #999 !important;
|
_border: 1px solid #999 !important;
|
||||||
_padding: 1px !important;
|
_padding: 1px !important;
|
||||||
@@ -311,17 +311,17 @@ h1.groupHeader {
|
|||||||
outline: none;
|
outline: none;
|
||||||
background-color: transparent
|
background-color: transparent
|
||||||
}
|
}
|
||||||
|
|
||||||
.useA11y .a11yCSSView .focusRow:focus .cssSelector,
|
.useA11y .a11yCSSView .focusRow:focus .cssSelector,
|
||||||
.useA11y .a11yCSSView .focusRow:focus .cssPropName,
|
.useA11y .a11yCSSView .focusRow:focus .cssPropName,
|
||||||
.useA11y .a11yCSSView .focusRow:focus .cssPropValue,
|
.useA11y .a11yCSSView .focusRow:focus .cssPropValue,
|
||||||
.useA11y .a11yCSSView .computedStyleRow:focus,
|
.useA11y .a11yCSSView .computedStyleRow:focus,
|
||||||
.useA11y .a11yCSSView .groupHeader:focus {
|
.useA11y .a11yCSSView .groupHeader:focus {
|
||||||
outline: 2px solid #FF9933;
|
outline: 2px solid #FF9933;
|
||||||
outline-offset: -2px;
|
outline-offset: -2px;
|
||||||
background-color: #FFFFD6;
|
background-color: #FFFFD6;
|
||||||
}
|
}
|
||||||
|
|
||||||
.useA11y .a11yCSSView .groupHeader:focus {
|
.useA11y .a11yCSSView .groupHeader:focus {
|
||||||
outline-offset: -2px;
|
outline-offset: -2px;
|
||||||
}
|
}
|
||||||
@@ -731,7 +731,7 @@ h1.groupHeader {
|
|||||||
/* Time Info tip */
|
/* Time Info tip */
|
||||||
|
|
||||||
.timeInfoTip {
|
.timeInfoTip {
|
||||||
width: 150px;
|
width: 150px;
|
||||||
height: 40px
|
height: 40px
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -944,7 +944,7 @@ h1.groupHeader {
|
|||||||
/*overflow-x: auto; HTML is damaged in case of big (2-3MB) responses */
|
/*overflow-x: auto; HTML is damaged in case of big (2-3MB) responses */
|
||||||
}
|
}
|
||||||
|
|
||||||
/* replaced by .netInfoTextSelected for IE6 support
|
/* replaced by .netInfoTextSelected for IE6 support
|
||||||
.netInfoText[selected="true"] {
|
.netInfoText[selected="true"] {
|
||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
@@ -963,7 +963,7 @@ h1.groupHeader {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.netInfoPostText .netInfoParamName {
|
.netInfoPostText .netInfoParamName {
|
||||||
width: 1px; /* Google Chrome need this otherwise the first column of
|
width: 1px; /* Google Chrome need this otherwise the first column of
|
||||||
the post variables table will be larger than expected */
|
the post variables table will be larger than expected */
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1148,7 +1148,7 @@ h1.groupHeader {
|
|||||||
}
|
}
|
||||||
|
|
||||||
* html .opened .spyHead .spyTitle,
|
* html .opened .spyHead .spyTitle,
|
||||||
* html .opened .logGroupLabel,
|
* html .opened .logGroupLabel,
|
||||||
* html .opened .memberLabelCell .memberLabel {
|
* html .opened .memberLabelCell .memberLabel {
|
||||||
background-image: url(tree_close.gif);
|
background-image: url(tree_close.gif);
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
@@ -1677,7 +1677,7 @@ h1.groupHeader {
|
|||||||
/*
|
/*
|
||||||
.logRow-errorMessage > .hasTwisty > .errorTitle,
|
.logRow-errorMessage > .hasTwisty > .errorTitle,
|
||||||
.logRow-spy .spyHead .spyTitle,
|
.logRow-spy .spyHead .spyTitle,
|
||||||
.logGroup > .logRow
|
.logGroup > .logRow
|
||||||
*/
|
*/
|
||||||
.logRow-errorMessage .hasTwisty .errorTitle,
|
.logRow-errorMessage .hasTwisty .errorTitle,
|
||||||
.logRow-spy .spyHead .spyTitle,
|
.logRow-spy .spyHead .spyTitle,
|
||||||
@@ -2056,11 +2056,11 @@ h1.groupHeader {
|
|||||||
width: 10px;
|
width: 10px;
|
||||||
height: 10px;
|
height: 10px;
|
||||||
margin-top: 6px;
|
margin-top: 6px;
|
||||||
background: url(tabMenuTarget.png);
|
background: url(tabMenuTarget.png);
|
||||||
}
|
}
|
||||||
|
|
||||||
.fbTabMenuTarget:hover {
|
.fbTabMenuTarget:hover {
|
||||||
background: url(tabMenuTargetHover.png);
|
background: url(tabMenuTargetHover.png);
|
||||||
}
|
}
|
||||||
|
|
||||||
.fbShadow {
|
.fbShadow {
|
||||||
@@ -2098,7 +2098,7 @@ h1.groupHeader {
|
|||||||
padding: 1px 18px 0;
|
padding: 1px 18px 0;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
color: #000;
|
color: #000;
|
||||||
cursor: default;
|
cursor: default;
|
||||||
background: #ACA899;
|
background: #ACA899;
|
||||||
margin: 4px 0;
|
margin: 4px 0;
|
||||||
}
|
}
|
||||||
@@ -2149,7 +2149,7 @@ h1.groupHeader {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.fbMenuShortcut {
|
.fbMenuShortcut {
|
||||||
padding-right: 85px;
|
padding-right: 85px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.fbMenuShortcutKey {
|
.fbMenuShortcutKey {
|
||||||
@@ -2274,7 +2274,7 @@ h1.groupHeader {
|
|||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
|
|
||||||
font-family: Lucida Grande, Tahoma, sans-serif;
|
font-family: Lucida Grande, Tahoma, sans-serif;
|
||||||
font-size: 11px;
|
font-size: 11px;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
@@ -2311,7 +2311,7 @@ h1.groupHeader {
|
|||||||
margin: 0 5px 0 0;
|
margin: 0 5px 0 0;
|
||||||
background: #fff url(search.png) no-repeat 4px 2px !important;
|
background: #fff url(search.png) no-repeat 4px 2px !important;
|
||||||
background: #fff url(search.gif) no-repeat 4px 2px;
|
background: #fff url(search.gif) no-repeat 4px 2px;
|
||||||
padding-left: 20px;
|
padding-left: 20px;
|
||||||
font-size: 11px;
|
font-size: 11px;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2333,7 +2333,7 @@ h1.groupHeader {
|
|||||||
background: url(errorIcon.png) no-repeat !important;
|
background: url(errorIcon.png) no-repeat !important;
|
||||||
background: url(errorIcon.gif) no-repeat;
|
background: url(errorIcon.gif) no-repeat;
|
||||||
color: #f00;
|
color: #f00;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
#fbMiniErrors {
|
#fbMiniErrors {
|
||||||
@@ -2348,7 +2348,7 @@ h1.groupHeader {
|
|||||||
margin: 3px 4px 0;
|
margin: 3px 4px 0;
|
||||||
height: 20px;
|
height: 20px;
|
||||||
width: 20px;
|
width: 20px;
|
||||||
float: right;
|
float: right;
|
||||||
background: url(sprite.png) 0 -135px;
|
background: url(sprite.png) 0 -135px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
@@ -2403,10 +2403,10 @@ h1.groupHeader {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/************************************************************************************************
|
/************************************************************************************************
|
||||||
Sub-Layout
|
Sub-Layout
|
||||||
*************************************************************************************************/
|
*************************************************************************************************/
|
||||||
|
|
||||||
/* fbToolbar
|
/* fbToolbar
|
||||||
*************************************************************************************************/
|
*************************************************************************************************/
|
||||||
#fbToolbarIcon {
|
#fbToolbarIcon {
|
||||||
float: left;
|
float: left;
|
||||||
@@ -2472,7 +2472,7 @@ h1.groupHeader {
|
|||||||
|
|
||||||
#fbStatusBarBox {
|
#fbStatusBarBox {
|
||||||
top: 4px;
|
top: 4px;
|
||||||
cursor: default;
|
cursor: default;
|
||||||
}
|
}
|
||||||
|
|
||||||
.fbToolbarSeparator {
|
.fbToolbarSeparator {
|
||||||
@@ -2500,7 +2500,7 @@ h1.groupHeader {
|
|||||||
|
|
||||||
.fbStatusBar a:hover {
|
.fbStatusBar a:hover {
|
||||||
color: blue;
|
color: blue;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -2545,7 +2545,7 @@ h1.groupHeader {
|
|||||||
padding-left: 4px;
|
padding-left: 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* body
|
/* body
|
||||||
*************************************************************************************************/
|
*************************************************************************************************/
|
||||||
.fbPanel {
|
.fbPanel {
|
||||||
display: none;
|
display: none;
|
||||||
@@ -2609,7 +2609,7 @@ h1.groupHeader {
|
|||||||
position: absolute;
|
position: absolute;
|
||||||
right: 2px;
|
right: 2px;
|
||||||
bottom: 3px;
|
bottom: 3px;
|
||||||
|
|
||||||
z-index: 99;
|
z-index: 99;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2624,7 +2624,7 @@ h1.groupHeader {
|
|||||||
visibility: hidden !important;
|
visibility: hidden !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* fbBottom
|
/* fbBottom
|
||||||
*************************************************************************************************/
|
*************************************************************************************************/
|
||||||
|
|
||||||
#fbCommand {
|
#fbCommand {
|
||||||
@@ -2689,7 +2689,7 @@ div.fbFitHeight {
|
|||||||
Layout Controls
|
Layout Controls
|
||||||
*************************************************************************************************/
|
*************************************************************************************************/
|
||||||
|
|
||||||
/* fbToolbar buttons
|
/* fbToolbar buttons
|
||||||
*************************************************************************************************/
|
*************************************************************************************************/
|
||||||
.fbSmallButton {
|
.fbSmallButton {
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
@@ -2729,7 +2729,7 @@ div.fbFitHeight {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* fbPanelBarBox tabs
|
/* fbPanelBarBox tabs
|
||||||
*************************************************************************************************/
|
*************************************************************************************************/
|
||||||
.fbTab {
|
.fbTab {
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
@@ -2785,7 +2785,7 @@ a.fbTab:hover .fbTabR {
|
|||||||
background: url(sprite.png) -8px -96px !important;
|
background: url(sprite.png) -8px -96px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* splitters
|
/* splitters
|
||||||
*************************************************************************************************/
|
*************************************************************************************************/
|
||||||
#fbHSplitter {
|
#fbHSplitter {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
@@ -2888,7 +2888,7 @@ div.objectBox-element {
|
|||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Webkit CSS Hack - bug in "highlight" named color */
|
/* Webkit CSS Hack - bug in "highlight" named color */
|
||||||
@media screen and (-webkit-min-device-pixel-ratio:0) {
|
@media screen and (-webkit-min-device-pixel-ratio:0) {
|
||||||
.selectedElement{
|
.selectedElement{
|
||||||
background: #316AC5;
|
background: #316AC5;
|
||||||
@@ -2903,7 +2903,7 @@ div.objectBox-element {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* TODO: remove this? */
|
/* TODO: remove this? */
|
||||||
/* TODO: xxxpedro - IE need this in windowless mode (cnn.com) check if the issue is related to
|
/* TODO: xxxpedro - IE need this in windowless mode (cnn.com) check if the issue is related to
|
||||||
position. if so, override it at chrome.js initialization when creating the div */
|
position. if so, override it at chrome.js initialization when creating the div */
|
||||||
.logRow {
|
.logRow {
|
||||||
position: relative;
|
position: relative;
|
||||||
@@ -2939,9 +2939,9 @@ position. if so, override it at chrome.js initialization when creating the div *
|
|||||||
|
|
||||||
.objectBox-string {
|
.objectBox-string {
|
||||||
color: red;
|
color: red;
|
||||||
|
|
||||||
/* TODO: xxxpedro make long strings break line */
|
/* TODO: xxxpedro make long strings break line */
|
||||||
/*white-space: pre; */
|
/*white-space: pre; */
|
||||||
}
|
}
|
||||||
|
|
||||||
.objectBox-number {
|
.objectBox-number {
|
||||||
|
|||||||
80
vendor/firebug-lite/skin/xp/firebug.html
vendored
Executable file → Normal file
@@ -14,71 +14,71 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<!-- Interface - Top Area -->
|
<!-- Interface - Top Area -->
|
||||||
<td id="fbTop" colspan="2">
|
<td id="fbTop" colspan="2">
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
<div>
|
<div>
|
||||||
--><!-- <span id="fbToolbarErrors" class="fbErrors">2 errors</span> --><!--
|
--><!-- <span id="fbToolbarErrors" class="fbErrors">2 errors</span> --><!--
|
||||||
<input type="text" id="fbToolbarSearch" />
|
<input type="text" id="fbToolbarSearch" />
|
||||||
</div>
|
</div>
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<!-- Window Buttons -->
|
<!-- Window Buttons -->
|
||||||
<div id="fbWindowButtons">
|
<div id="fbWindowButtons">
|
||||||
<a id="fbWindow_btDeactivate" class="fbSmallButton fbHover" title="Deactivate Firebug for this web page"> </a>
|
<a id="fbWindow_btDeactivate" class="fbSmallButton fbHover" title="Deactivate Firebug for this web page"> </a>
|
||||||
<a id="fbWindow_btDetach" class="fbSmallButton fbHover" title="Open Firebug in popup window"> </a>
|
<a id="fbWindow_btDetach" class="fbSmallButton fbHover" title="Open Firebug in popup window"> </a>
|
||||||
<a id="fbWindow_btClose" class="fbSmallButton fbHover" title="Minimize Firebug"> </a>
|
<a id="fbWindow_btClose" class="fbSmallButton fbHover" title="Minimize Firebug"> </a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Toolbar buttons and Status Bar -->
|
<!-- Toolbar buttons and Status Bar -->
|
||||||
<div id="fbToolbar">
|
<div id="fbToolbar">
|
||||||
<div id="fbToolbarContent">
|
<div id="fbToolbarContent">
|
||||||
|
|
||||||
<!-- Firebug Button -->
|
<!-- Firebug Button -->
|
||||||
<span id="fbToolbarIcon">
|
<span id="fbToolbarIcon">
|
||||||
<a id="fbFirebugButton" class="fbIconButton" class="fbHover" target="_blank"> </a>
|
<a id="fbFirebugButton" class="fbIconButton" class="fbHover" target="_blank"> </a>
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
<span id="fbLeftToolbarErrors" class="fbErrors">2 errors</span>
|
<span id="fbLeftToolbarErrors" class="fbErrors">2 errors</span>
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<!-- Toolbar Buttons -->
|
<!-- Toolbar Buttons -->
|
||||||
<span id="fbToolbarButtons">
|
<span id="fbToolbarButtons">
|
||||||
<!-- Fixed Toolbar Buttons -->
|
<!-- Fixed Toolbar Buttons -->
|
||||||
<span id="fbFixedButtons">
|
<span id="fbFixedButtons">
|
||||||
<a id="fbChrome_btInspect" class="fbButton fbHover" title="Click an element in the page to inspect">Inspect</a>
|
<a id="fbChrome_btInspect" class="fbButton fbHover" title="Click an element in the page to inspect">Inspect</a>
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
<!-- Console Panel Toolbar Buttons -->
|
<!-- Console Panel Toolbar Buttons -->
|
||||||
<span id="fbConsoleButtons" class="fbToolbarButtons">
|
<span id="fbConsoleButtons" class="fbToolbarButtons">
|
||||||
<a id="fbConsole_btClear" class="fbButton fbHover" title="Clear the console">Clear</a>
|
<a id="fbConsole_btClear" class="fbButton fbHover" title="Clear the console">Clear</a>
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
<!-- HTML Panel Toolbar Buttons -->
|
<!-- HTML Panel Toolbar Buttons -->
|
||||||
<!--
|
<!--
|
||||||
<span id="fbHTMLButtons" class="fbToolbarButtons">
|
<span id="fbHTMLButtons" class="fbToolbarButtons">
|
||||||
<a id="fbHTML_btEdit" class="fbHover" title="Edit this HTML">Edit</a>
|
<a id="fbHTML_btEdit" class="fbHover" title="Edit this HTML">Edit</a>
|
||||||
</span>
|
</span>
|
||||||
-->
|
-->
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
<!-- Status Bar -->
|
<!-- Status Bar -->
|
||||||
<span id="fbStatusBarBox">
|
<span id="fbStatusBarBox">
|
||||||
<span class="fbToolbarSeparator"></span>
|
<span class="fbToolbarSeparator"></span>
|
||||||
<!-- HTML Panel Status Bar -->
|
<!-- HTML Panel Status Bar -->
|
||||||
<!--
|
<!--
|
||||||
<span id="fbHTMLStatusBar" class="fbStatusBar fbToolbarButtons">
|
<span id="fbHTMLStatusBar" class="fbStatusBar fbToolbarButtons">
|
||||||
</span>
|
</span>
|
||||||
-->
|
-->
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- PanelBars -->
|
<!-- PanelBars -->
|
||||||
<div id="fbPanelBarBox">
|
<div id="fbPanelBarBox">
|
||||||
|
|
||||||
<!-- Main PanelBar -->
|
<!-- Main PanelBar -->
|
||||||
<div id="fbPanelBar1" class="fbPanelBar">
|
<div id="fbPanelBar1" class="fbPanelBar">
|
||||||
<a id="fbConsoleTab" class="fbTab fbHover">
|
<a id="fbConsoleTab" class="fbTab fbHover">
|
||||||
@@ -112,7 +112,7 @@
|
|||||||
<!-- Side PanelBars -->
|
<!-- Side PanelBars -->
|
||||||
<div id="fbPanelBar2Box" class="hide">
|
<div id="fbPanelBar2Box" class="hide">
|
||||||
<div id="fbPanelBar2" class="fbPanelBar">
|
<div id="fbPanelBar2" class="fbPanelBar">
|
||||||
<!--
|
<!--
|
||||||
<a class="fbTab fbHover">
|
<a class="fbTab fbHover">
|
||||||
<span class="fbTabL"></span>
|
<span class="fbTabL"></span>
|
||||||
<span class="fbTabText">Style</span>
|
<span class="fbTabText">Style</span>
|
||||||
@@ -131,18 +131,18 @@
|
|||||||
-->
|
-->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Horizontal Splitter -->
|
<!-- Horizontal Splitter -->
|
||||||
<div id="fbHSplitter"> </div>
|
<div id="fbHSplitter"> </div>
|
||||||
|
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<!-- Interface - Main Area -->
|
<!-- Interface - Main Area -->
|
||||||
<tr id="fbContent">
|
<tr id="fbContent">
|
||||||
|
|
||||||
<!-- Panels -->
|
<!-- Panels -->
|
||||||
<td id="fbPanelBox1">
|
<td id="fbPanelBox1">
|
||||||
<div id="fbPanel1" class="fbFitHeight">
|
<div id="fbPanel1" class="fbFitHeight">
|
||||||
@@ -150,41 +150,41 @@
|
|||||||
<div id="fbHTML" class="fbPanel"></div>
|
<div id="fbHTML" class="fbPanel"></div>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
<!-- Side Panel Box -->
|
<!-- Side Panel Box -->
|
||||||
<td id="fbPanelBox2" class="hide">
|
<td id="fbPanelBox2" class="hide">
|
||||||
|
|
||||||
<!-- VerticalSplitter -->
|
<!-- VerticalSplitter -->
|
||||||
<div id="fbVSplitter" class="fbVSplitter"> </div>
|
<div id="fbVSplitter" class="fbVSplitter"> </div>
|
||||||
|
|
||||||
<!-- Side Panels -->
|
<!-- Side Panels -->
|
||||||
<div id="fbPanel2" class="fbFitHeight">
|
<div id="fbPanel2" class="fbFitHeight">
|
||||||
|
|
||||||
<!-- HTML Side Panels -->
|
<!-- HTML Side Panels -->
|
||||||
<div id="fbHTML_Style" class="fbPanel"></div>
|
<div id="fbHTML_Style" class="fbPanel"></div>
|
||||||
<div id="fbHTML_Layout" class="fbPanel"></div>
|
<div id="fbHTML_Layout" class="fbPanel"></div>
|
||||||
<div id="fbHTML_DOM" class="fbPanel"></div>
|
<div id="fbHTML_DOM" class="fbPanel"></div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Large Command Line -->
|
<!-- Large Command Line -->
|
||||||
<textarea id="fbLargeCommandLine" class="fbFitHeight"></textarea>
|
<textarea id="fbLargeCommandLine" class="fbFitHeight"></textarea>
|
||||||
|
|
||||||
<!-- Large Command Line Buttons -->
|
<!-- Large Command Line Buttons -->
|
||||||
<div id="fbLargeCommandButtons">
|
<div id="fbLargeCommandButtons">
|
||||||
<a id="fbCommand_btRun" class="fbButton fbHover">Run</a>
|
<a id="fbCommand_btRun" class="fbButton fbHover">Run</a>
|
||||||
<a id="fbCommand_btClear" class="fbButton fbHover">Clear</a>
|
<a id="fbCommand_btClear" class="fbButton fbHover">Clear</a>
|
||||||
|
|
||||||
<a id="fbSmallCommandLineIcon" class="fbSmallButton fbHover"></a>
|
<a id="fbSmallCommandLineIcon" class="fbSmallButton fbHover"></a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<!-- Interface - Bottom Area -->
|
<!-- Interface - Bottom Area -->
|
||||||
<tr id="fbBottom" class="hide">
|
<tr id="fbBottom" class="hide">
|
||||||
|
|
||||||
<!-- Command Line -->
|
<!-- Command Line -->
|
||||||
<td id="fbCommand" colspan="2">
|
<td id="fbCommand" colspan="2">
|
||||||
<div id="fbCommandBox">
|
<div id="fbCommandBox">
|
||||||
@@ -193,18 +193,18 @@
|
|||||||
<a id="fbLargeCommandLineIcon" class="fbSmallButton fbHover"></a>
|
<a id="fbLargeCommandLineIcon" class="fbSmallButton fbHover"></a>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
<span id="fbMiniChrome">
|
<span id="fbMiniChrome">
|
||||||
<span id="fbMiniContent">
|
<span id="fbMiniContent">
|
||||||
<span id="fbMiniIcon" title="Open Firebug Lite"></span>
|
<span id="fbMiniIcon" title="Open Firebug Lite"></span>
|
||||||
<span id="fbMiniErrors" class="fbErrors"><!-- 2 errors --></span>
|
<span id="fbMiniErrors" class="fbErrors"><!-- 2 errors --></span>
|
||||||
</span>
|
</span>
|
||||||
</span>
|
</span>
|
||||||
<!--
|
<!--
|
||||||
<div id="fbErrorPopup">
|
<div id="fbErrorPopup">
|
||||||
<div id="fbErrorPopupContent">
|
<div id="fbErrorPopupContent">
|
||||||
<div id="fbErrorIndicator" class="fbErrors">2 errors</div>
|
<div id="fbErrorIndicator" class="fbErrors">2 errors</div>
|
||||||
|
|||||||
0
vendor/firebug-lite/skin/xp/firebug.png
vendored
Executable file → Normal file
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
0
vendor/firebug-lite/skin/xp/group.gif
vendored
Executable file → Normal file
|
Before Width: | Height: | Size: 158 B After Width: | Height: | Size: 158 B |
0
vendor/firebug-lite/skin/xp/html.css
vendored
Executable file → Normal file
0
vendor/firebug-lite/skin/xp/infoIcon.gif
vendored
Executable file → Normal file
|
Before Width: | Height: | Size: 359 B After Width: | Height: | Size: 359 B |
0
vendor/firebug-lite/skin/xp/infoIcon.png
vendored
Executable file → Normal file
|
Before Width: | Height: | Size: 524 B After Width: | Height: | Size: 524 B |
0
vendor/firebug-lite/skin/xp/loading_16.gif
vendored
Executable file → Normal file
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
0
vendor/firebug-lite/skin/xp/min.png
vendored
Executable file → Normal file
|
Before Width: | Height: | Size: 552 B After Width: | Height: | Size: 552 B |
0
vendor/firebug-lite/skin/xp/minHover.png
vendored
Executable file → Normal file
|
Before Width: | Height: | Size: 485 B After Width: | Height: | Size: 485 B |
0
vendor/firebug-lite/skin/xp/off.png
vendored
Executable file → Normal file
|
Before Width: | Height: | Size: 742 B After Width: | Height: | Size: 742 B |
0
vendor/firebug-lite/skin/xp/offHover.png
vendored
Executable file → Normal file
|
Before Width: | Height: | Size: 680 B After Width: | Height: | Size: 680 B |
0
vendor/firebug-lite/skin/xp/pixel_transparent.gif
vendored
Executable file → Normal file
|
Before Width: | Height: | Size: 43 B After Width: | Height: | Size: 43 B |
0
vendor/firebug-lite/skin/xp/roundCorner.svg
vendored
Executable file → Normal file
|
Before Width: | Height: | Size: 228 B After Width: | Height: | Size: 228 B |
0
vendor/firebug-lite/skin/xp/search.gif
vendored
Executable file → Normal file
|
Before Width: | Height: | Size: 550 B After Width: | Height: | Size: 550 B |
0
vendor/firebug-lite/skin/xp/search.png
vendored
Executable file → Normal file
|
Before Width: | Height: | Size: 685 B After Width: | Height: | Size: 685 B |
0
vendor/firebug-lite/skin/xp/shadow.gif
vendored
Executable file → Normal file
|
Before Width: | Height: | Size: 4.3 KiB After Width: | Height: | Size: 4.3 KiB |
0
vendor/firebug-lite/skin/xp/shadow2.gif
vendored
Executable file → Normal file
|
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 3.0 KiB |
0
vendor/firebug-lite/skin/xp/shadowAlpha.png
vendored
Executable file → Normal file
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.3 KiB |
0
vendor/firebug-lite/skin/xp/sprite.png
vendored
Executable file → Normal file
|
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 39 KiB |
0
vendor/firebug-lite/skin/xp/tabHoverLeft.png
vendored
Executable file → Normal file
|
Before Width: | Height: | Size: 438 B After Width: | Height: | Size: 438 B |
0
vendor/firebug-lite/skin/xp/tabHoverMid.png
vendored
Executable file → Normal file
|
Before Width: | Height: | Size: 261 B After Width: | Height: | Size: 261 B |
0
vendor/firebug-lite/skin/xp/tabHoverRight.png
vendored
Executable file → Normal file
|
Before Width: | Height: | Size: 436 B After Width: | Height: | Size: 436 B |
0
vendor/firebug-lite/skin/xp/tabLeft.png
vendored
Executable file → Normal file
|
Before Width: | Height: | Size: 449 B After Width: | Height: | Size: 449 B |
0
vendor/firebug-lite/skin/xp/tabMenuCheckbox.png
vendored
Executable file → Normal file
|
Before Width: | Height: | Size: 220 B After Width: | Height: | Size: 220 B |
0
vendor/firebug-lite/skin/xp/tabMenuPin.png
vendored
Executable file → Normal file
|
Before Width: | Height: | Size: 207 B After Width: | Height: | Size: 207 B |
0
vendor/firebug-lite/skin/xp/tabMenuRadio.png
vendored
Executable file → Normal file
|
Before Width: | Height: | Size: 192 B After Width: | Height: | Size: 192 B |
0
vendor/firebug-lite/skin/xp/tabMenuTarget.png
vendored
Executable file → Normal file
|
Before Width: | Height: | Size: 142 B After Width: | Height: | Size: 142 B |
0
vendor/firebug-lite/skin/xp/tabMenuTargetHover.png
vendored
Executable file → Normal file
|
Before Width: | Height: | Size: 148 B After Width: | Height: | Size: 148 B |
0
vendor/firebug-lite/skin/xp/tabMid.png
vendored
Executable file → Normal file
|
Before Width: | Height: | Size: 262 B After Width: | Height: | Size: 262 B |
0
vendor/firebug-lite/skin/xp/tabRight.png
vendored
Executable file → Normal file
|
Before Width: | Height: | Size: 448 B After Width: | Height: | Size: 448 B |
0
vendor/firebug-lite/skin/xp/textEditorBorders.gif
vendored
Executable file → Normal file
|
Before Width: | Height: | Size: 117 B After Width: | Height: | Size: 117 B |
0
vendor/firebug-lite/skin/xp/textEditorBorders.png
vendored
Executable file → Normal file
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 3.1 KiB |
0
vendor/firebug-lite/skin/xp/textEditorCorners.gif
vendored
Executable file → Normal file
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
0
vendor/firebug-lite/skin/xp/textEditorCorners.png
vendored
Executable file → Normal file
|
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 3.9 KiB |
0
vendor/firebug-lite/skin/xp/titlebarMid.png
vendored
Executable file → Normal file
|
Before Width: | Height: | Size: 273 B After Width: | Height: | Size: 273 B |
0
vendor/firebug-lite/skin/xp/toolbarMid.png
vendored
Executable file → Normal file
|
Before Width: | Height: | Size: 242 B After Width: | Height: | Size: 242 B |
0
vendor/firebug-lite/skin/xp/tree_close.gif
vendored
Executable file → Normal file
|
Before Width: | Height: | Size: 300 B After Width: | Height: | Size: 300 B |
0
vendor/firebug-lite/skin/xp/tree_open.gif
vendored
Executable file → Normal file
|
Before Width: | Height: | Size: 202 B After Width: | Height: | Size: 202 B |
0
vendor/firebug-lite/skin/xp/twistyClosed.png
vendored
Executable file → Normal file
|
Before Width: | Height: | Size: 334 B After Width: | Height: | Size: 334 B |
0
vendor/firebug-lite/skin/xp/twistyOpen.png
vendored
Executable file → Normal file
|
Before Width: | Height: | Size: 309 B After Width: | Height: | Size: 309 B |
0
vendor/firebug-lite/skin/xp/up.png
vendored
Executable file → Normal file
|
Before Width: | Height: | Size: 619 B After Width: | Height: | Size: 619 B |
0
vendor/firebug-lite/skin/xp/upActive.png
vendored
Executable file → Normal file
|
Before Width: | Height: | Size: 551 B After Width: | Height: | Size: 551 B |
0
vendor/firebug-lite/skin/xp/upHover.png
vendored
Executable file → Normal file
|
Before Width: | Height: | Size: 526 B After Width: | Height: | Size: 526 B |
0
vendor/firebug-lite/skin/xp/warningIcon.gif
vendored
Executable file → Normal file
|
Before Width: | Height: | Size: 357 B After Width: | Height: | Size: 357 B |
0
vendor/firebug-lite/skin/xp/warningIcon.png
vendored
Executable file → Normal file
|
Before Width: | Height: | Size: 516 B After Width: | Height: | Size: 516 B |
2
vendor/firebug-lite/src/firebug-lite-debug.js
vendored
Executable file → Normal file
@@ -6258,7 +6258,7 @@ FBL.Firebug =
|
|||||||
{
|
{
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||||
version: "Firebug Lite 1.4.0",
|
version: "Firebug Lite 1.4.0",
|
||||||
revision: "$Revision: 11967 $",
|
revision: "$Revision$",
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||||
modules: modules,
|
modules: modules,
|
||||||
|
|||||||
103
vendor/json-js/json2.js
vendored
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
json2.js
|
json2.js
|
||||||
2014-02-04
|
2015-02-25
|
||||||
|
|
||||||
Public Domain.
|
Public Domain.
|
||||||
|
|
||||||
@@ -48,7 +48,9 @@
|
|||||||
Date.prototype.toJSON = function (key) {
|
Date.prototype.toJSON = function (key) {
|
||||||
function f(n) {
|
function f(n) {
|
||||||
// Format integers to have at least two digits.
|
// Format integers to have at least two digits.
|
||||||
return n < 10 ? '0' + n : n;
|
return n < 10
|
||||||
|
? '0' + n
|
||||||
|
: n;
|
||||||
}
|
}
|
||||||
|
|
||||||
return this.getUTCFullYear() + '-' +
|
return this.getUTCFullYear() + '-' +
|
||||||
@@ -146,10 +148,12 @@
|
|||||||
redistribute.
|
redistribute.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*jslint evil: true, regexp: true */
|
/*jslint
|
||||||
|
eval, for, this
|
||||||
|
*/
|
||||||
|
|
||||||
/*members "", "\b", "\t", "\n", "\f", "\r", "\"", JSON, "\\", apply,
|
/*property
|
||||||
call, charCodeAt, getUTCDate, getUTCFullYear, getUTCHours,
|
JSON, apply, call, charCodeAt, getUTCDate, getUTCFullYear, getUTCHours,
|
||||||
getUTCMinutes, getUTCMonth, getUTCSeconds, hasOwnProperty, join,
|
getUTCMinutes, getUTCMonth, getUTCSeconds, hasOwnProperty, join,
|
||||||
lastIndex, length, parse, prototype, push, replace, slice, stringify,
|
lastIndex, length, parse, prototype, push, replace, slice, stringify,
|
||||||
test, toJSON, toString, valueOf
|
test, toJSON, toString, valueOf
|
||||||
@@ -168,7 +172,13 @@ if (typeof JSON !== 'object') {
|
|||||||
|
|
||||||
function f(n) {
|
function f(n) {
|
||||||
// Format integers to have at least two digits.
|
// Format integers to have at least two digits.
|
||||||
return n < 10 ? '0' + n : n;
|
return n < 10
|
||||||
|
? '0' + n
|
||||||
|
: n;
|
||||||
|
}
|
||||||
|
|
||||||
|
function this_value() {
|
||||||
|
return this.valueOf();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (typeof Date.prototype.toJSON !== 'function') {
|
if (typeof Date.prototype.toJSON !== 'function') {
|
||||||
@@ -176,20 +186,18 @@ if (typeof JSON !== 'object') {
|
|||||||
Date.prototype.toJSON = function () {
|
Date.prototype.toJSON = function () {
|
||||||
|
|
||||||
return isFinite(this.valueOf())
|
return isFinite(this.valueOf())
|
||||||
? this.getUTCFullYear() + '-' +
|
? this.getUTCFullYear() + '-' +
|
||||||
f(this.getUTCMonth() + 1) + '-' +
|
f(this.getUTCMonth() + 1) + '-' +
|
||||||
f(this.getUTCDate()) + 'T' +
|
f(this.getUTCDate()) + 'T' +
|
||||||
f(this.getUTCHours()) + ':' +
|
f(this.getUTCHours()) + ':' +
|
||||||
f(this.getUTCMinutes()) + ':' +
|
f(this.getUTCMinutes()) + ':' +
|
||||||
f(this.getUTCSeconds()) + 'Z'
|
f(this.getUTCSeconds()) + 'Z'
|
||||||
: null;
|
: null;
|
||||||
};
|
};
|
||||||
|
|
||||||
String.prototype.toJSON =
|
Boolean.prototype.toJSON = this_value;
|
||||||
Number.prototype.toJSON =
|
Number.prototype.toJSON = this_value;
|
||||||
Boolean.prototype.toJSON = function () {
|
String.prototype.toJSON = this_value;
|
||||||
return this.valueOf();
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var cx,
|
var cx,
|
||||||
@@ -208,12 +216,14 @@ if (typeof JSON !== 'object') {
|
|||||||
// sequences.
|
// sequences.
|
||||||
|
|
||||||
escapable.lastIndex = 0;
|
escapable.lastIndex = 0;
|
||||||
return escapable.test(string) ? '"' + string.replace(escapable, function (a) {
|
return escapable.test(string)
|
||||||
|
? '"' + string.replace(escapable, function (a) {
|
||||||
var c = meta[a];
|
var c = meta[a];
|
||||||
return typeof c === 'string'
|
return typeof c === 'string'
|
||||||
? c
|
? c
|
||||||
: '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4);
|
: '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4);
|
||||||
}) + '"' : '"' + string + '"';
|
}) + '"'
|
||||||
|
: '"' + string + '"';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -253,7 +263,9 @@ if (typeof JSON !== 'object') {
|
|||||||
|
|
||||||
// JSON numbers must be finite. Encode non-finite numbers as null.
|
// JSON numbers must be finite. Encode non-finite numbers as null.
|
||||||
|
|
||||||
return isFinite(value) ? String(value) : 'null';
|
return isFinite(value)
|
||||||
|
? String(value)
|
||||||
|
: 'null';
|
||||||
|
|
||||||
case 'boolean':
|
case 'boolean':
|
||||||
case 'null':
|
case 'null':
|
||||||
@@ -297,10 +309,10 @@ if (typeof JSON !== 'object') {
|
|||||||
// brackets.
|
// brackets.
|
||||||
|
|
||||||
v = partial.length === 0
|
v = partial.length === 0
|
||||||
? '[]'
|
? '[]'
|
||||||
: gap
|
: gap
|
||||||
? '[\n' + gap + partial.join(',\n' + gap) + '\n' + mind + ']'
|
? '[\n' + gap + partial.join(',\n' + gap) + '\n' + mind + ']'
|
||||||
: '[' + partial.join(',') + ']';
|
: '[' + partial.join(',') + ']';
|
||||||
gap = mind;
|
gap = mind;
|
||||||
return v;
|
return v;
|
||||||
}
|
}
|
||||||
@@ -314,7 +326,11 @@ if (typeof JSON !== 'object') {
|
|||||||
k = rep[i];
|
k = rep[i];
|
||||||
v = str(k, value);
|
v = str(k, value);
|
||||||
if (v) {
|
if (v) {
|
||||||
partial.push(quote(k) + (gap ? ': ' : ':') + v);
|
partial.push(quote(k) + (
|
||||||
|
gap
|
||||||
|
? ': '
|
||||||
|
: ':'
|
||||||
|
) + v);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -326,7 +342,11 @@ if (typeof JSON !== 'object') {
|
|||||||
if (Object.prototype.hasOwnProperty.call(value, k)) {
|
if (Object.prototype.hasOwnProperty.call(value, k)) {
|
||||||
v = str(k, value);
|
v = str(k, value);
|
||||||
if (v) {
|
if (v) {
|
||||||
partial.push(quote(k) + (gap ? ': ' : ':') + v);
|
partial.push(quote(k) + (
|
||||||
|
gap
|
||||||
|
? ': '
|
||||||
|
: ':'
|
||||||
|
) + v);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -336,10 +356,10 @@ if (typeof JSON !== 'object') {
|
|||||||
// and wrap them in braces.
|
// and wrap them in braces.
|
||||||
|
|
||||||
v = partial.length === 0
|
v = partial.length === 0
|
||||||
? '{}'
|
? '{}'
|
||||||
: gap
|
: gap
|
||||||
? '{\n' + gap + partial.join(',\n' + gap) + '\n' + mind + '}'
|
? '{\n' + gap + partial.join(',\n' + gap) + '\n' + mind + '}'
|
||||||
: '{' + partial.join(',') + '}';
|
: '{' + partial.join(',') + '}';
|
||||||
gap = mind;
|
gap = mind;
|
||||||
return v;
|
return v;
|
||||||
}
|
}
|
||||||
@@ -348,14 +368,14 @@ if (typeof JSON !== 'object') {
|
|||||||
// If the JSON object does not yet have a stringify method, give it one.
|
// If the JSON object does not yet have a stringify method, give it one.
|
||||||
|
|
||||||
if (typeof JSON.stringify !== 'function') {
|
if (typeof JSON.stringify !== 'function') {
|
||||||
escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g;
|
escapable = /[\\\"\u0000-\u001f\u007f-\u009f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g;
|
||||||
meta = { // table of character substitutions
|
meta = { // table of character substitutions
|
||||||
'\b': '\\b',
|
'\b': '\\b',
|
||||||
'\t': '\\t',
|
'\t': '\\t',
|
||||||
'\n': '\\n',
|
'\n': '\\n',
|
||||||
'\f': '\\f',
|
'\f': '\\f',
|
||||||
'\r': '\\r',
|
'\r': '\\r',
|
||||||
'"' : '\\"',
|
'"': '\\"',
|
||||||
'\\': '\\\\'
|
'\\': '\\\\'
|
||||||
};
|
};
|
||||||
JSON.stringify = function (value, replacer, space) {
|
JSON.stringify = function (value, replacer, space) {
|
||||||
@@ -444,7 +464,7 @@ if (typeof JSON !== 'object') {
|
|||||||
if (cx.test(text)) {
|
if (cx.test(text)) {
|
||||||
text = text.replace(cx, function (a) {
|
text = text.replace(cx, function (a) {
|
||||||
return '\\u' +
|
return '\\u' +
|
||||||
('0000' + a.charCodeAt(0).toString(16)).slice(-4);
|
('0000' + a.charCodeAt(0).toString(16)).slice(-4);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -461,10 +481,13 @@ if (typeof JSON !== 'object') {
|
|||||||
// we look to see that the remaining characters are only whitespace or ']' or
|
// we look to see that the remaining characters are only whitespace or ']' or
|
||||||
// ',' or ':' or '{' or '}'. If that is so, then the text is safe for eval.
|
// ',' or ':' or '{' or '}'. If that is so, then the text is safe for eval.
|
||||||
|
|
||||||
if (/^[\],:{}\s]*$/
|
if (
|
||||||
.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, '@')
|
/^[\],:{}\s]*$/.test(
|
||||||
|
text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, '@')
|
||||||
.replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']')
|
.replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']')
|
||||||
.replace(/(?:^|:|,)(?:\s*\[)+/g, ''))) {
|
.replace(/(?:^|:|,)(?:\s*\[)+/g, '')
|
||||||
|
)
|
||||||
|
) {
|
||||||
|
|
||||||
// In the third stage we use the eval function to compile the text into a
|
// In the third stage we use the eval function to compile the text into a
|
||||||
// JavaScript structure. The '{' operator is subject to a syntactic ambiguity
|
// JavaScript structure. The '{' operator is subject to a syntactic ambiguity
|
||||||
@@ -477,8 +500,8 @@ if (typeof JSON !== 'object') {
|
|||||||
// each name/value pair to a reviver function for possible transformation.
|
// each name/value pair to a reviver function for possible transformation.
|
||||||
|
|
||||||
return typeof reviver === 'function'
|
return typeof reviver === 'function'
|
||||||
? walk({'': j}, '')
|
? walk({'': j}, '')
|
||||||
: j;
|
: j;
|
||||||
}
|
}
|
||||||
|
|
||||||
// If the text is not JSON parseable, then a SyntaxError is thrown.
|
// If the text is not JSON parseable, then a SyntaxError is thrown.
|
||||||
|
|||||||
6
vendor/underscore/test/arrays.js
vendored
@@ -344,6 +344,9 @@
|
|||||||
strictEqual(_.indexOf([1, 2, NaN, NaN], NaN), 2, 'Expected [1, 2, NaN] to contain NaN');
|
strictEqual(_.indexOf([1, 2, NaN, NaN], NaN), 2, 'Expected [1, 2, NaN] to contain NaN');
|
||||||
strictEqual(_.indexOf([1, 2, Infinity], NaN), -1, 'Expected [1, 2, NaN] to contain NaN');
|
strictEqual(_.indexOf([1, 2, Infinity], NaN), -1, 'Expected [1, 2, NaN] to contain NaN');
|
||||||
|
|
||||||
|
strictEqual(_.indexOf([1, 2, NaN, NaN], NaN, 1), 2, 'startIndex does not affect result');
|
||||||
|
strictEqual(_.indexOf([1, 2, NaN, NaN], NaN, -2), 2, 'startIndex does not affect result');
|
||||||
|
|
||||||
(function() {
|
(function() {
|
||||||
strictEqual(_.indexOf(arguments, NaN), 2, 'Expected arguments [1, 2, NaN] to contain NaN');
|
strictEqual(_.indexOf(arguments, NaN), 2, 'Expected arguments [1, 2, NaN] to contain NaN');
|
||||||
}(1, 2, NaN, NaN));
|
}(1, 2, NaN, NaN));
|
||||||
@@ -418,6 +421,9 @@
|
|||||||
strictEqual(_.lastIndexOf([1, 2, NaN, NaN], NaN), 3, 'Expected [1, 2, NaN] to contain NaN');
|
strictEqual(_.lastIndexOf([1, 2, NaN, NaN], NaN), 3, 'Expected [1, 2, NaN] to contain NaN');
|
||||||
strictEqual(_.lastIndexOf([1, 2, Infinity], NaN), -1, 'Expected [1, 2, NaN] to contain NaN');
|
strictEqual(_.lastIndexOf([1, 2, Infinity], NaN), -1, 'Expected [1, 2, NaN] to contain NaN');
|
||||||
|
|
||||||
|
strictEqual(_.lastIndexOf([1, 2, NaN, NaN], NaN, 2), 2, 'fromIndex does not affect result');
|
||||||
|
strictEqual(_.lastIndexOf([1, 2, NaN, NaN], NaN, -2), 2, 'fromIndex does not affect result');
|
||||||
|
|
||||||
(function() {
|
(function() {
|
||||||
strictEqual(_.lastIndexOf(arguments, NaN), 3, 'Expected arguments [1, 2, NaN] to contain NaN');
|
strictEqual(_.lastIndexOf(arguments, NaN), 3, 'Expected arguments [1, 2, NaN] to contain NaN');
|
||||||
}(1, 2, NaN, NaN));
|
}(1, 2, NaN, NaN));
|
||||||
|
|||||||
22
vendor/underscore/test/collections.js
vendored
@@ -23,6 +23,13 @@
|
|||||||
deepEqual(answers, ['one', 'two', 'three'], 'iterating over objects works, and ignores the object prototype.');
|
deepEqual(answers, ['one', 'two', 'three'], 'iterating over objects works, and ignores the object prototype.');
|
||||||
delete obj.constructor.prototype.four;
|
delete obj.constructor.prototype.four;
|
||||||
|
|
||||||
|
// ensure the each function is JITed
|
||||||
|
_(1000).times(function() { _.each([], function(){}); });
|
||||||
|
var count = 0;
|
||||||
|
obj = {1 : 'foo', 2 : 'bar', 3 : 'baz'};
|
||||||
|
_.each(obj, function(value, key){ count++; });
|
||||||
|
equal(count, 3, 'the fun should be called only 3 times');
|
||||||
|
|
||||||
var answer = null;
|
var answer = null;
|
||||||
_.each([1, 2, 3], function(num, index, arr){ if (_.include(arr, num)) answer = true; });
|
_.each([1, 2, 3], function(num, index, arr){ if (_.include(arr, num)) answer = true; });
|
||||||
ok(answer, 'can reference the original collection from inside the iterator');
|
ok(answer, 'can reference the original collection from inside the iterator');
|
||||||
@@ -420,12 +427,14 @@
|
|||||||
strictEqual(_.includes, _.contains, 'alias for includes');
|
strictEqual(_.includes, _.contains, 'alias for includes');
|
||||||
|
|
||||||
var numbers = [1, 2, 3, 1, 2, 3, 1, 2, 3];
|
var numbers = [1, 2, 3, 1, 2, 3, 1, 2, 3];
|
||||||
strictEqual(_.includes(numbers, 1, 1), true);
|
strictEqual(_.includes(numbers, 1, 1), true, 'contains takes a fromIndex');
|
||||||
strictEqual(_.includes(numbers, 1, -1), false);
|
strictEqual(_.includes(numbers, 1, -1), false, 'contains takes a fromIndex');
|
||||||
strictEqual(_.includes(numbers, 1, -2), false);
|
strictEqual(_.includes(numbers, 1, -2), false, 'contains takes a fromIndex');
|
||||||
strictEqual(_.includes(numbers, 1, -3), true);
|
strictEqual(_.includes(numbers, 1, -3), true, 'contains takes a fromIndex');
|
||||||
strictEqual(_.includes(numbers, 1, 6), true);
|
strictEqual(_.includes(numbers, 1, 6), true, 'contains takes a fromIndex');
|
||||||
strictEqual(_.includes(numbers, 1, 7), false);
|
strictEqual(_.includes(numbers, 1, 7), false, 'contains takes a fromIndex');
|
||||||
|
|
||||||
|
ok(_.every([1, 2, 3], _.partial(_.contains, numbers)), 'fromIndex is guarded');
|
||||||
});
|
});
|
||||||
|
|
||||||
test('includes with NaN', function() {
|
test('includes with NaN', function() {
|
||||||
@@ -789,6 +798,7 @@
|
|||||||
equal(_.size(new String('hello')), 5, 'can compute the size of string object');
|
equal(_.size(new String('hello')), 5, 'can compute the size of string object');
|
||||||
|
|
||||||
equal(_.size(null), 0, 'handles nulls');
|
equal(_.size(null), 0, 'handles nulls');
|
||||||
|
equal(_.size(0), 0, 'handles numbers');
|
||||||
});
|
});
|
||||||
|
|
||||||
test('partition', function() {
|
test('partition', function() {
|
||||||
|
|||||||
26
vendor/underscore/test/objects.js
vendored
@@ -282,6 +282,32 @@
|
|||||||
equal(_.clone(null), null, 'non objects should not be changed by clone');
|
equal(_.clone(null), null, 'non objects should not be changed by clone');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test('create', function() {
|
||||||
|
var Parent = function() {};
|
||||||
|
Parent.prototype = {foo: function() {}, bar: 2};
|
||||||
|
|
||||||
|
_.each(['foo', null, undefined, 1], function(val) {
|
||||||
|
deepEqual(_.create(val), {}, 'should return empty object when a non-object is provided');
|
||||||
|
});
|
||||||
|
|
||||||
|
ok(_.create([]) instanceof Array, 'should return new instance of array when array is provided');
|
||||||
|
|
||||||
|
var Child = function() {};
|
||||||
|
Child.prototype = _.create(Parent.prototype);
|
||||||
|
ok(new Child instanceof Parent, 'object should inherit prototype');
|
||||||
|
|
||||||
|
var func = function() {};
|
||||||
|
Child.prototype = _.create(Parent.prototype, {func: func});
|
||||||
|
strictEqual(Child.prototype.func, func, 'properties should be added to object');
|
||||||
|
|
||||||
|
Child.prototype = _.create(Parent.prototype, {constructor: Child});
|
||||||
|
strictEqual(Child.prototype.constructor, Child);
|
||||||
|
|
||||||
|
Child.prototype.foo = 'foo';
|
||||||
|
var created = _.create(Child.prototype, new Child);
|
||||||
|
ok(!created.hasOwnProperty('foo'), 'should only add own properties');
|
||||||
|
});
|
||||||
|
|
||||||
test('isEqual', function() {
|
test('isEqual', function() {
|
||||||
function First() {
|
function First() {
|
||||||
this.value = 1;
|
this.value = 1;
|
||||||
|
|||||||
4
vendor/underscore/underscore-min.js
vendored
130
vendor/underscore/underscore.js
vendored
@@ -1,4 +1,4 @@
|
|||||||
// Underscore.js 1.8.2
|
// Underscore.js 1.8.3
|
||||||
// http://underscorejs.org
|
// http://underscorejs.org
|
||||||
// (c) 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
// (c) 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
||||||
// Underscore may be freely distributed under the MIT license.
|
// Underscore may be freely distributed under the MIT license.
|
||||||
@@ -55,7 +55,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Current version.
|
// Current version.
|
||||||
_.VERSION = '1.8.2';
|
_.VERSION = '1.8.3';
|
||||||
|
|
||||||
// Internal function that returns an efficient (for current engines) version
|
// Internal function that returns an efficient (for current engines) version
|
||||||
// of the passed-in callback, to be repeatedly applied in other Underscore
|
// of the passed-in callback, to be repeatedly applied in other Underscore
|
||||||
@@ -122,12 +122,20 @@
|
|||||||
return result;
|
return result;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
var property = function(key) {
|
||||||
|
return function(obj) {
|
||||||
|
return obj == null ? void 0 : obj[key];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
// Helper for collection methods to determine whether a collection
|
// Helper for collection methods to determine whether a collection
|
||||||
// should be iterated as an array or as an object
|
// should be iterated as an array or as an object
|
||||||
// Related: http://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength
|
// Related: http://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength
|
||||||
|
// Avoids a very nasty iOS 8 JIT bug on ARM-64. #2094
|
||||||
var MAX_ARRAY_INDEX = Math.pow(2, 53) - 1;
|
var MAX_ARRAY_INDEX = Math.pow(2, 53) - 1;
|
||||||
|
var getLength = property('length');
|
||||||
var isArrayLike = function(collection) {
|
var isArrayLike = function(collection) {
|
||||||
var length = collection && collection.length;
|
var length = getLength(collection);
|
||||||
return typeof length == 'number' && length >= 0 && length <= MAX_ARRAY_INDEX;
|
return typeof length == 'number' && length >= 0 && length <= MAX_ARRAY_INDEX;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -252,11 +260,12 @@
|
|||||||
return false;
|
return false;
|
||||||
};
|
};
|
||||||
|
|
||||||
// Determine if the array or object contains a given value (using `===`).
|
// Determine if the array or object contains a given item (using `===`).
|
||||||
// Aliased as `includes` and `include`.
|
// Aliased as `includes` and `include`.
|
||||||
_.contains = _.includes = _.include = function(obj, target, fromIndex) {
|
_.contains = _.includes = _.include = function(obj, item, fromIndex, guard) {
|
||||||
if (!isArrayLike(obj)) obj = _.values(obj);
|
if (!isArrayLike(obj)) obj = _.values(obj);
|
||||||
return _.indexOf(obj, target, typeof fromIndex == 'number' && fromIndex) >= 0;
|
if (typeof fromIndex != 'number' || guard) fromIndex = 0;
|
||||||
|
return _.indexOf(obj, item, fromIndex) >= 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
// Invoke a method (with arguments) on every item in a collection.
|
// Invoke a method (with arguments) on every item in a collection.
|
||||||
@@ -480,7 +489,7 @@
|
|||||||
// Internal implementation of a recursive `flatten` function.
|
// Internal implementation of a recursive `flatten` function.
|
||||||
var flatten = function(input, shallow, strict, startIndex) {
|
var flatten = function(input, shallow, strict, startIndex) {
|
||||||
var output = [], idx = 0;
|
var output = [], idx = 0;
|
||||||
for (var i = startIndex || 0, length = input && input.length; i < length; i++) {
|
for (var i = startIndex || 0, length = getLength(input); i < length; i++) {
|
||||||
var value = input[i];
|
var value = input[i];
|
||||||
if (isArrayLike(value) && (_.isArray(value) || _.isArguments(value))) {
|
if (isArrayLike(value) && (_.isArray(value) || _.isArguments(value))) {
|
||||||
//flatten current level of array or arguments object
|
//flatten current level of array or arguments object
|
||||||
@@ -511,7 +520,6 @@
|
|||||||
// been sorted, you have the option of using a faster algorithm.
|
// been sorted, you have the option of using a faster algorithm.
|
||||||
// Aliased as `unique`.
|
// Aliased as `unique`.
|
||||||
_.uniq = _.unique = function(array, isSorted, iteratee, context) {
|
_.uniq = _.unique = function(array, isSorted, iteratee, context) {
|
||||||
if (array == null) return [];
|
|
||||||
if (!_.isBoolean(isSorted)) {
|
if (!_.isBoolean(isSorted)) {
|
||||||
context = iteratee;
|
context = iteratee;
|
||||||
iteratee = isSorted;
|
iteratee = isSorted;
|
||||||
@@ -520,7 +528,7 @@
|
|||||||
if (iteratee != null) iteratee = cb(iteratee, context);
|
if (iteratee != null) iteratee = cb(iteratee, context);
|
||||||
var result = [];
|
var result = [];
|
||||||
var seen = [];
|
var seen = [];
|
||||||
for (var i = 0, length = array.length; i < length; i++) {
|
for (var i = 0, length = getLength(array); i < length; i++) {
|
||||||
var value = array[i],
|
var value = array[i],
|
||||||
computed = iteratee ? iteratee(value, i, array) : value;
|
computed = iteratee ? iteratee(value, i, array) : value;
|
||||||
if (isSorted) {
|
if (isSorted) {
|
||||||
@@ -547,10 +555,9 @@
|
|||||||
// Produce an array that contains every item shared between all the
|
// Produce an array that contains every item shared between all the
|
||||||
// passed-in arrays.
|
// passed-in arrays.
|
||||||
_.intersection = function(array) {
|
_.intersection = function(array) {
|
||||||
if (array == null) return [];
|
|
||||||
var result = [];
|
var result = [];
|
||||||
var argsLength = arguments.length;
|
var argsLength = arguments.length;
|
||||||
for (var i = 0, length = array.length; i < length; i++) {
|
for (var i = 0, length = getLength(array); i < length; i++) {
|
||||||
var item = array[i];
|
var item = array[i];
|
||||||
if (_.contains(result, item)) continue;
|
if (_.contains(result, item)) continue;
|
||||||
for (var j = 1; j < argsLength; j++) {
|
for (var j = 1; j < argsLength; j++) {
|
||||||
@@ -579,7 +586,7 @@
|
|||||||
// Complement of _.zip. Unzip accepts an array of arrays and groups
|
// Complement of _.zip. Unzip accepts an array of arrays and groups
|
||||||
// each array's elements on shared indices
|
// each array's elements on shared indices
|
||||||
_.unzip = function(array) {
|
_.unzip = function(array) {
|
||||||
var length = array && _.max(array, 'length').length || 0;
|
var length = array && _.max(array, getLength).length || 0;
|
||||||
var result = Array(length);
|
var result = Array(length);
|
||||||
|
|
||||||
for (var index = 0; index < length; index++) {
|
for (var index = 0; index < length; index++) {
|
||||||
@@ -593,7 +600,7 @@
|
|||||||
// the corresponding values.
|
// the corresponding values.
|
||||||
_.object = function(list, values) {
|
_.object = function(list, values) {
|
||||||
var result = {};
|
var result = {};
|
||||||
for (var i = 0, length = list && list.length; i < length; i++) {
|
for (var i = 0, length = getLength(list); i < length; i++) {
|
||||||
if (values) {
|
if (values) {
|
||||||
result[list[i]] = values[i];
|
result[list[i]] = values[i];
|
||||||
} else {
|
} else {
|
||||||
@@ -603,42 +610,11 @@
|
|||||||
return result;
|
return result;
|
||||||
};
|
};
|
||||||
|
|
||||||
// Return the position of the first occurrence of an item in an array,
|
|
||||||
// or -1 if the item is not included in the array.
|
|
||||||
// If the array is large and already in sort order, pass `true`
|
|
||||||
// for **isSorted** to use binary search.
|
|
||||||
_.indexOf = function(array, item, isSorted) {
|
|
||||||
var i = 0, length = array && array.length;
|
|
||||||
if (typeof isSorted == 'number') {
|
|
||||||
i = isSorted < 0 ? Math.max(0, length + isSorted) : isSorted;
|
|
||||||
} else if (isSorted && length) {
|
|
||||||
i = _.sortedIndex(array, item);
|
|
||||||
return array[i] === item ? i : -1;
|
|
||||||
}
|
|
||||||
if (item !== item) {
|
|
||||||
return _.findIndex(slice.call(array, i), _.isNaN);
|
|
||||||
}
|
|
||||||
for (; i < length; i++) if (array[i] === item) return i;
|
|
||||||
return -1;
|
|
||||||
};
|
|
||||||
|
|
||||||
_.lastIndexOf = function(array, item, from) {
|
|
||||||
var idx = array ? array.length : 0;
|
|
||||||
if (typeof from == 'number') {
|
|
||||||
idx = from < 0 ? idx + from + 1 : Math.min(idx, from + 1);
|
|
||||||
}
|
|
||||||
if (item !== item) {
|
|
||||||
return _.findLastIndex(slice.call(array, 0, idx), _.isNaN);
|
|
||||||
}
|
|
||||||
while (--idx >= 0) if (array[idx] === item) return idx;
|
|
||||||
return -1;
|
|
||||||
};
|
|
||||||
|
|
||||||
// Generator function to create the findIndex and findLastIndex functions
|
// Generator function to create the findIndex and findLastIndex functions
|
||||||
function createIndexFinder(dir) {
|
function createPredicateIndexFinder(dir) {
|
||||||
return function(array, predicate, context) {
|
return function(array, predicate, context) {
|
||||||
predicate = cb(predicate, context);
|
predicate = cb(predicate, context);
|
||||||
var length = array != null && array.length;
|
var length = getLength(array);
|
||||||
var index = dir > 0 ? 0 : length - 1;
|
var index = dir > 0 ? 0 : length - 1;
|
||||||
for (; index >= 0 && index < length; index += dir) {
|
for (; index >= 0 && index < length; index += dir) {
|
||||||
if (predicate(array[index], index, array)) return index;
|
if (predicate(array[index], index, array)) return index;
|
||||||
@@ -648,16 +624,15 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Returns the first index on an array-like that passes a predicate test
|
// Returns the first index on an array-like that passes a predicate test
|
||||||
_.findIndex = createIndexFinder(1);
|
_.findIndex = createPredicateIndexFinder(1);
|
||||||
|
_.findLastIndex = createPredicateIndexFinder(-1);
|
||||||
_.findLastIndex = createIndexFinder(-1);
|
|
||||||
|
|
||||||
// Use a comparator function to figure out the smallest index at which
|
// Use a comparator function to figure out the smallest index at which
|
||||||
// an object should be inserted so as to maintain order. Uses binary search.
|
// an object should be inserted so as to maintain order. Uses binary search.
|
||||||
_.sortedIndex = function(array, obj, iteratee, context) {
|
_.sortedIndex = function(array, obj, iteratee, context) {
|
||||||
iteratee = cb(iteratee, context, 1);
|
iteratee = cb(iteratee, context, 1);
|
||||||
var value = iteratee(obj);
|
var value = iteratee(obj);
|
||||||
var low = 0, high = array.length;
|
var low = 0, high = getLength(array);
|
||||||
while (low < high) {
|
while (low < high) {
|
||||||
var mid = Math.floor((low + high) / 2);
|
var mid = Math.floor((low + high) / 2);
|
||||||
if (iteratee(array[mid]) < value) low = mid + 1; else high = mid;
|
if (iteratee(array[mid]) < value) low = mid + 1; else high = mid;
|
||||||
@@ -665,11 +640,43 @@
|
|||||||
return low;
|
return low;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// Generator function to create the indexOf and lastIndexOf functions
|
||||||
|
function createIndexFinder(dir, predicateFind, sortedIndex) {
|
||||||
|
return function(array, item, idx) {
|
||||||
|
var i = 0, length = getLength(array);
|
||||||
|
if (typeof idx == 'number') {
|
||||||
|
if (dir > 0) {
|
||||||
|
i = idx >= 0 ? idx : Math.max(idx + length, i);
|
||||||
|
} else {
|
||||||
|
length = idx >= 0 ? Math.min(idx + 1, length) : idx + length + 1;
|
||||||
|
}
|
||||||
|
} else if (sortedIndex && idx && length) {
|
||||||
|
idx = sortedIndex(array, item);
|
||||||
|
return array[idx] === item ? idx : -1;
|
||||||
|
}
|
||||||
|
if (item !== item) {
|
||||||
|
idx = predicateFind(slice.call(array, i, length), _.isNaN);
|
||||||
|
return idx >= 0 ? idx + i : -1;
|
||||||
|
}
|
||||||
|
for (idx = dir > 0 ? i : length - 1; idx >= 0 && idx < length; idx += dir) {
|
||||||
|
if (array[idx] === item) return idx;
|
||||||
|
}
|
||||||
|
return -1;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
// Return the position of the first occurrence of an item in an array,
|
||||||
|
// or -1 if the item is not included in the array.
|
||||||
|
// If the array is large and already in sort order, pass `true`
|
||||||
|
// for **isSorted** to use binary search.
|
||||||
|
_.indexOf = createIndexFinder(1, _.findIndex, _.sortedIndex);
|
||||||
|
_.lastIndexOf = createIndexFinder(-1, _.findLastIndex);
|
||||||
|
|
||||||
// Generate an integer Array containing an arithmetic progression. A port of
|
// Generate an integer Array containing an arithmetic progression. A port of
|
||||||
// the native Python `range()` function. See
|
// the native Python `range()` function. See
|
||||||
// [the Python documentation](http://docs.python.org/library/functions.html#range).
|
// [the Python documentation](http://docs.python.org/library/functions.html#range).
|
||||||
_.range = function(start, stop, step) {
|
_.range = function(start, stop, step) {
|
||||||
if (arguments.length <= 1) {
|
if (stop == null) {
|
||||||
stop = start || 0;
|
stop = start || 0;
|
||||||
start = 0;
|
start = 0;
|
||||||
}
|
}
|
||||||
@@ -1048,6 +1055,15 @@
|
|||||||
// Fill in a given object with default properties.
|
// Fill in a given object with default properties.
|
||||||
_.defaults = createAssigner(_.allKeys, true);
|
_.defaults = createAssigner(_.allKeys, true);
|
||||||
|
|
||||||
|
// Creates an object that inherits from the given prototype object.
|
||||||
|
// If additional properties are provided then they will be added to the
|
||||||
|
// created object.
|
||||||
|
_.create = function(prototype, props) {
|
||||||
|
var result = baseCreate(prototype);
|
||||||
|
if (props) _.extendOwn(result, props);
|
||||||
|
return result;
|
||||||
|
};
|
||||||
|
|
||||||
// Create a (shallow-cloned) duplicate of an object.
|
// Create a (shallow-cloned) duplicate of an object.
|
||||||
_.clone = function(obj) {
|
_.clone = function(obj) {
|
||||||
if (!_.isObject(obj)) return obj;
|
if (!_.isObject(obj)) return obj;
|
||||||
@@ -1125,7 +1141,7 @@
|
|||||||
}
|
}
|
||||||
// Assume equality for cyclic structures. The algorithm for detecting cyclic
|
// Assume equality for cyclic structures. The algorithm for detecting cyclic
|
||||||
// structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`.
|
// structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`.
|
||||||
|
|
||||||
// Initializing stack of traversed objects.
|
// Initializing stack of traversed objects.
|
||||||
// It's done here since we only need them for objects and arrays comparison.
|
// It's done here since we only need them for objects and arrays comparison.
|
||||||
aStack = aStack || [];
|
aStack = aStack || [];
|
||||||
@@ -1276,11 +1292,7 @@
|
|||||||
|
|
||||||
_.noop = function(){};
|
_.noop = function(){};
|
||||||
|
|
||||||
_.property = function(key) {
|
_.property = property;
|
||||||
return function(obj) {
|
|
||||||
return obj == null ? void 0 : obj[key];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
// Generates a function for a given object that returns a given property.
|
// Generates a function for a given object that returns a given property.
|
||||||
_.propertyOf = function(obj) {
|
_.propertyOf = function(obj) {
|
||||||
@@ -1289,7 +1301,7 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
// Returns a predicate for checking whether an object has a given set of
|
// Returns a predicate for checking whether an object has a given set of
|
||||||
// `key:value` pairs.
|
// `key:value` pairs.
|
||||||
_.matcher = _.matches = function(attrs) {
|
_.matcher = _.matches = function(attrs) {
|
||||||
attrs = _.extendOwn({}, attrs);
|
attrs = _.extendOwn({}, attrs);
|
||||||
@@ -1516,7 +1528,7 @@
|
|||||||
// Provide unwrapping proxy for some methods used in engine operations
|
// Provide unwrapping proxy for some methods used in engine operations
|
||||||
// such as arithmetic and JSON stringification.
|
// such as arithmetic and JSON stringification.
|
||||||
_.prototype.valueOf = _.prototype.toJSON = _.prototype.value;
|
_.prototype.valueOf = _.prototype.toJSON = _.prototype.value;
|
||||||
|
|
||||||
_.prototype.toString = function() {
|
_.prototype.toString = function() {
|
||||||
return '' + this._wrapped;
|
return '' + this._wrapped;
|
||||||
};
|
};
|
||||||
|
|||||||