Page Menu
Home
WickedGov Phorge
Search
Configure Global Search
Log In
Files
F5981715
utils.js
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
3 KB
Referenced Files
None
Subscribers
None
utils.js
View Options
module
.
exports
=
function
()
{
const
veDone
=
arguments
[
arguments
.
length
-
1
];
window
.
seleniumUtils
=
{
getBoundingRect
:
function
(
elements
)
{
let
boundingRect
;
for
(
let
i
=
0
,
l
=
elements
.
length
;
i
<
l
;
i
++
)
{
const
rect
=
elements
[
i
].
getBoundingClientRect
();
if
(
!
boundingRect
)
{
boundingRect
=
{
left
:
rect
.
left
,
top
:
rect
.
top
,
right
:
rect
.
right
,
bottom
:
rect
.
bottom
};
}
else
{
boundingRect
.
left
=
Math
.
min
(
boundingRect
.
left
,
rect
.
left
);
boundingRect
.
top
=
Math
.
min
(
boundingRect
.
top
,
rect
.
top
);
boundingRect
.
right
=
Math
.
max
(
boundingRect
.
right
,
rect
.
right
);
boundingRect
.
bottom
=
Math
.
max
(
boundingRect
.
bottom
,
rect
.
bottom
);
}
}
if
(
boundingRect
)
{
boundingRect
.
width
=
boundingRect
.
right
-
boundingRect
.
left
;
boundingRect
.
height
=
boundingRect
.
bottom
-
boundingRect
.
top
;
}
return
boundingRect
;
},
collapseToolbar
:
function
()
{
ve
.
init
.
target
.
toolbar
.
items
.
forEach
(
(
group
)
=>
{
if
(
group
.
setActive
)
{
group
.
setActive
(
false
);
}
}
);
},
runMenuTask
:
function
(
done
,
tool
,
expanded
,
highlight
,
extraElements
)
{
const
toolGroup
=
tool
.
toolGroup
;
seleniumUtils
.
collapseToolbar
();
toolGroup
.
setActive
(
true
);
if
(
toolGroup
.
updateCollapsibleState
)
{
toolGroup
.
expanded
=
!!
expanded
;
toolGroup
.
updateCollapsibleState
();
}
if
(
highlight
)
{
tool
.
$link
[
0
].
focus
();
}
setTimeout
(
()
=>
{
done
(
seleniumUtils
.
getBoundingRect
(
[
toolGroup
.
$element
[
0
],
toolGroup
.
$group
[
0
]
].
concat
(
extraElements
||
[]
)
)
);
}
);
},
runDiffTest
:
function
(
oldHtml
,
newHtml
,
done
)
{
const
target
=
ve
.
init
.
target
,
surface
=
target
.
surface
;
if
(
target
.
saveDialog
)
{
target
.
saveDialog
.
clearDiff
();
target
.
saveDialog
.
close
();
while
(
surface
.
getModel
().
canUndo
()
)
{
surface
.
getModel
().
undo
();
}
}
target
.
originalDmDoc
=
target
.
constructor
.
static
.
createModelFromDom
(
target
.
constructor
.
static
.
parseDocument
(
oldHtml
),
'visual'
);
surface
.
getModel
().
getDocument
().
getStore
().
merge
(
target
.
originalDmDoc
.
getStore
()
);
surface
.
getModel
().
getLinearFragment
(
new
ve
.
Range
(
0
)
).
insertDocument
(
target
.
constructor
.
static
.
createModelFromDom
(
target
.
constructor
.
static
.
parseDocument
(
newHtml
),
'visual'
)
).
collapseToEnd
().
adjustLinearSelection
(
0
,
3
).
removeContent
();
target
.
once
(
'saveReview'
,
()
=>
{
setTimeout
(
()
=>
{
const
dialog
=
surface
.
dialogs
.
currentWindow
;
dialog
.
reviewModeButtonSelect
.
selectItemByData
(
'visual'
);
// Fake parsed edit summary
dialog
.
$previewEditSummary
.
text
(
'(Lorem ipsum)'
);
done
(
seleniumUtils
.
getBoundingRect
(
[
dialog
.
$frame
[
0
]
]
)
);
},
500
);
}
);
surface
.
execute
(
'mwSaveDialog'
,
'review'
);
}
};
// Welcome dialog suppressed by query string (vehidebetadialog)
// Suppress user education indicators
mw
.
storage
.
set
(
've-hideusered'
,
1
);
mw
.
hook
(
've.activationComplete'
).
add
(
()
=>
{
const
target
=
ve
.
init
.
target
,
surfaceView
=
target
.
getSurface
().
getView
();
// eslint-disable-next-line no-jquery/no-deferred
const
welcomeDialogPromise
=
target
.
welcomeDialogPromise
||
$
.
Deferred
().
resolve
().
promise
();
welcomeDialogPromise
.
then
(
()
=>
{
// Hide edit notices
target
.
toolbar
.
tools
.
notices
.
getPopup
().
toggle
(
false
);
surfaceView
.
focus
();
// Modify the document to make the save button blue
target
.
surface
.
getModel
().
getFragment
().
insertContent
(
' '
).
collapseToStart
().
select
();
// Wait for save button fade
setTimeout
(
()
=>
{
veDone
(
{
width
:
window
.
innerWidth
,
height
:
window
.
innerHeight
}
);
},
100
);
}
);
}
);
};
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sat, Oct 3, 22:01 (1 w, 2 d ago)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
4b/c3/4984d6ca4846e274e571a3965daa
Default Alt Text
utils.js (3 KB)
Attached To
Mode
rMWPROD MediaWiki Production
Attached
Detach File
Event Timeline
Log In to Comment