Commit graph

279 commits

Author SHA1 Message Date
Ed Sanders 5a65cb67fb Fix typo: this.transclusionNode -> this.selectedNode
this.transclusionNode doesn't exist. Also remove instanceof checks
as they are already done in #get(Selected|Reference)Node.

Bug: 64717
Change-Id: I7ff0133d1ad45edda8de2cbad459706dbaceb5f2
2014-05-02 16:48:10 +01:00
Ed Sanders 65d92173ea Use correct fragment in windows
In two cases we were using fragment.getSurface().getFragment() which
creates a new fragment from the current selection instead of using
the range of the original fragment.

Change-Id: Ib41efe2ceb670a125c0c306d143e56f9b9c349e7
2014-05-01 11:58:25 +01:00
Roan Kattouw dfbb7815e9 Make reference list dialog small again
Also remove now-useless size setting in save dialog

Bug: 64670
Change-Id: I1abc760a27ce2b107a92413ff3d5da7d95915dc2
2014-04-30 18:05:41 -07:00
jenkins-bot e52883df5a Merge "Restyle parameter pages" 2014-04-30 23:32:44 +00:00
Trevor Parscal 853e4872b4 Restyle parameter pages
* Move description to a popup behind a little info icon button
* Make required indicator generic status indicator (required/deprecated)
  and move to left of the field
* Move param name and actions to above the field
* Show deprecated status and description

Bonus:

* Use auto-focus on CitationDialog (whoops!)
* Make pages that aren't meant to scroll not scroll (whoops again!?)

Depends on I59211b2 in OOUI

Bug: 53612
Change-Id: I3b968ad14aa6c43b6484e2565a9367d2ebc72fc5
2014-04-30 16:27:19 -07:00
jenkins-bot be8b5b0783 Merge "Bring the transclusion title back to life" 2014-04-30 22:28:00 +00:00
Trevor Parscal c04c0f750e Bring the transclusion title back to life
At some point getTitle was changed to updateTitle but the caller was still
assuming it would return a string. Also, we removed the transclusion
dialog title message, but were still trying to use it.

Changes:
* Change the logic so we use the parent method for updateTItle correctly
* Bring the transclusion title message back

Bug: 64671
Change-Id: I3beb8b1d4304ba73c428868b9ac2d0f6a1cc9944
2014-04-30 21:41:19 +00:00
Trevor Parscal 03306d8528 Make inserting existing references work again
When MWReferenceDialog was modified to inherit from ActionDialog the
search select method didn't get changed to call applyChanges. But really,
you can't just call applyChanges because you need all the promise setup
stuff that onApplyButtonClick does. The API for ActionDialog needs to be
improved, but this works just fine in the mean time.

Bug: 64677
Change-Id: Ib38a624811dc26ead7b9de64cb41aff642820452
2014-04-30 21:11:17 +00:00
jenkins-bot c3a043f206 Merge "Call clearAllMessages in setup instead of swapPanel on the save dialog" 2014-04-30 18:19:14 +00:00
Ed Sanders 265a739c07 Use window 'ready' event to focus surfaces
Depends on I57864586b in OOUI.

Change-Id: Ic9a6e8d466c4d8b1273f54e621bb5a6cab50be53
2014-04-30 11:15:41 -07:00
Trevor Parscal e4e6f8883e Use ActionDialog and NodeDialog
Based on I70e88f6 in VE core

* Cleanup dialogs by using node dialog and action dialog
* Move "Loading..." text from label of dialog apply button to dialog title
  (repurpose identical message)

Save dialog will be converted in a follow up.

Change-Id: I6a290f4bdc29e577c7c89b4babdab5853c4c10e5
2014-04-29 17:27:14 -07:00
James D. Forrester 3569efba3b Use TemplateData's suggested status for parameters
Change-Id: I8c8522d1fcc7e7b26984d72a8f8aaaedbddb9cb4
2014-04-28 12:10:31 -07:00
Krenair 7645b9805b Call clearAllMessages in setup instead of swapPanel on the save dialog
Was clearing things like captchas when swapping panels. It still makes
sense to clear these when opening up the dialog though.

Bug: 62766
Change-Id: I37ceeebc672e2866b805631b189108d8363bdc9f
2014-04-25 22:44:39 +01:00
Ed Sanders 2bc50e2e83 Image frame icons
Change-Id: Icc2d4f44db2860ce11b8022035ba670d7d5bf064
2014-04-24 10:50:00 -07:00
Ed Sanders be36dfca25 Use core language search dialog
Depends on I21a9d7e in core.

Change-Id: I12cacf775b490d7c676011a5a154deeefe5527c5
2014-04-23 18:43:03 -07:00
Trevor Parscal 30d9d99ae4 Make citation dialog display like transclusion dialog in single mode
This is a hack, should be cleaned up soon.

Bug: 64199
Change-Id: I01effbfd0fc6da41596c73e375d237443ebb9d70
2014-04-23 17:36:49 -07:00
Roan Kattouw ba455643fc [BREAKING CHANGE] Update VE core to master (cb2e61b)
Update dialogs and inspectors for breaking change in VE core

New changes:
a553012 [BREAKING CHANGE] Merge dialog and inspector actions into window actions
f9a0419 Localisation updates from https://translatewiki.net.
cbe81a0 Fix path to spinner in ve.ui.SpecialCharacterInspector.css

Change-Id: Icf90ace6442364283b66b234e3c78fc65212f070
2014-04-21 15:32:59 -07:00
Krenair b6f1793bf8 Use new OOUI pending feature rather than loading bar thing on save dialog
See I5c45cc6 for the oojs-ui change and I2fa71a1d for a similar commit

Change-Id: I77e3274a196bc13ae19a9520197f4a8b624fd528
2014-04-18 21:57:14 +01:00
jenkins-bot f002889376 Merge "Make transclusion dialog "pending" while loading" 2014-04-18 20:12:05 +00:00
Trevor Parscal 062b2ed681 Make transclusion dialog "pending" while loading
Also, only allow animation of anything after things are ready

Depends on I5c45cc6 in oojs-ui

Change-Id: I2fa71a1d9a43db960aac4c1fad87eae96c898fad
2014-04-17 15:06:11 -07:00
Trevor Parscal 89f040626e Disable transclusion dialog mode button while loading
Change-Id: Iec8ea9d490b43504d25ecf05bd4a43701d503c35
2014-04-17 15:03:43 -07:00
Trevor Parscal 926700fbca Re-split the transclusion dialog
We used to have two dialogs; a complex one, and a subclass that dumbed it
down - this was rubbish.

Then we merged them together - this was a'ight.

Now we have two dialogs again; a simple one, and a subclass that fancies
it up a bit - this is wicked keen broham.

Change-Id: I4b2ba31bed5c4f80940623702d635cacd19e0a66
2014-04-17 01:39:18 +00:00
Roan Kattouw 9d1b7432fd Also focus surface in media edit dialog
16ec8ffdcf did this for the reference dialog, but the media edit
dialog needs it too. Additionally, we need to focus it when the
user switches to a different page then comes back.

Bug: 63909
Change-Id: If1b9587f4d10dbe6374e987b35c781954bcc566d
2014-04-16 15:12:39 -07:00
jenkins-bot 4d6a59b16b Merge "Focus the surface in the reference dialog after it opens" 2014-04-16 19:00:51 +00:00
Roan Kattouw d335e59330 Fix another surfaceModel.getFragment() in MWCitationDialog
Change-Id: Ic12652bf3d53396f84d558595ce1e4a2d0a22796
2014-04-16 11:42:15 -07:00
Roan Kattouw 16ec8ffdcf Make inserting reference lists work again
surfaceModel.getFragment() is a null fragment, use this.getFragment()

Bug: 64012
Change-Id: I995929ff0dda60220e17e579994b51ffb406f149
2014-04-16 11:40:26 -07:00
Moriel Schottlender fa72f5fdc2 Border checkbox disabling/enabling fix
Due to a lack of clarity in the wikitext documentation the border
checkbox wasn't set up right. This is the proper behavior: border is
allowed for all unframed images (frameless and basic) while the
framed images (frame and thumb) have it anyways. Wikitext
documentation was also clarified for prosperity.

Change-Id: I4dd4775da473d669781553796be99646240c13fe
2014-04-16 13:14:58 -04:00
Moriel Schottlender 8d99aa88c8 Fix border checkbox
Make sure border is enabled for unframed types and disabled for
framed images.

Change-Id: I716e9bc4140fbc09aac52930d1dd8213f31617a3
2014-04-16 00:03:35 -04:00
Roan Kattouw b764ecc7f4 Focus the surface in the reference dialog after it opens
Otherwise the surface ends up in a weird half-focused state which
causes it to behave strangely.

Bug: 63909
Change-Id: I3ebc30fde0202116b383a5b497aca65b66732922
2014-04-15 22:25:41 +00:00
Trevor Parscal 9e6451d40c Fix inserting references list while selecting another kind of node
There are two ways dialogs determine if they are inserting or updating.

1. They evaluate whether the dialog is inserting or not and set a boolean
   flag, used later to steer the saving code

2. They evaluate whether the dialog is inserting or not and, if not,
   store the node to be updated in a property, used later to steer the
   saving code

In the reference list dialog, setup used strategy 1, and teardown used
strategy 2. We've now normalized to use strategy 2 in both methods, which
fixes this bug.

Bug: 61885
Change-Id: I1b077b2aef4121328bce2b373874dd7373e405a1
2014-04-14 19:44:28 +00:00
Ed Sanders 340a939c97 Remove remaining uses of surfaceModel#getSelection in dialogs
These were being used indirectly in the MW*Model's. Use surface
fragments instead.

Fixes I0fae3e5ff2bd.

Change-Id: I1d6aa5e00a9315cf7088f87f9e9d828833feec64
2014-04-11 11:14:43 -07:00
Ed Sanders 0e51180709 Update VE core submodule to master (55a5cdc): use new ve.ui.Dialogs and ve.ui.Inspectors
Move various bits of code from initialize to setup as required.

MWDialog is now useless so use ve.ui.Dialog directly.

New changes:
0b2d03f [BREAKING CHANGE] Pass fragments, not surfaces, to windows (reprise)
0101ac4 Update OOjs UI to v0.1.0-pre (ac6848398c)

Change-Id: I0fae3e5ff2bd0da5b74c244af226b07b1f5883bd
2014-04-09 20:28:30 -07:00
Roan Kattouw f2422d916c Update VE core submodule to master (c150259) for scalable changes
ve.dm.Scalable is now a computational model for image scaling and
size manipulation. This commit adjusts the nodes and the edit and
insertion dialog to handle the new scalable model, and by that
use a centralized computational engine for all scaling and size
changes.

New changes:
3ec19fb8 Refactor Scalable functionality

Change-Id: I017a017924f544cc8bc9b7d8245335759ae0e890
2014-04-09 17:29:49 -07:00
Ed Sanders 164cf27299 Use new model directionality in MW
Depends on I2065e17020dc89 in core.

Change-Id: I6e99db601af58a9c4200f885887de451f9f70daa
2014-04-09 18:21:25 +00:00
Trevor Parscal 84ed719cd0 Additional initializeSelection methodicde
Changes:

* Change uses of initializeSelection to selectItem
* Use "choose" event to respond to deliberate item selection by the user

Depends on changes in OOJS-UI (Ib3826ed)

Change-Id: Ia167a70ca5f40b1f15adad30620fdb13ef0d02d7
2014-04-07 12:15:40 -07:00
Trevor Parscal fc94173ff6 Fix more intalize typos
Change-Id: I24e0b3a93c15cc8a781eb9a35d9ba09510db40bd
2014-04-04 17:13:34 -07:00
Trevor Parscal 793fbb0e24 Correctly insert or update citations based on template option
When using a tool that opens a citation or citation transclusion dialog,
the dialog shouldn't use edit mode unless the template in the node and the
template the tool would insert match.

Bug: 63452
Change-Id: I34a5a2da576247f4046da45f742bccc3cec22c5a
2014-04-02 16:38:34 -07:00
Roan Kattouw 03c5822b6b Update VE core submodule to master (c5f4f78)
Also update tools for changes in VE core.

New changes:
e4de14b Make tools use commands
e029817 Make getToolsForNode place primary commands first

Change-Id: I66575ee6d49e6b2f5a5f789978da98bb55e6dc5e
2014-04-02 16:30:12 -07:00
Trevor Parscal 9e38cafc9f Remove constructive flag from return to save form button
It doesn't create anything, so it shouldn't be constructive.

Change-Id: I97d6fc3c5f992033e55ee6cde48245b1e96ddc16
2014-03-31 15:31:43 -07:00
jenkins-bot 927d24968d Merge "Make cite transclusion tools actually work" 2014-03-26 22:48:54 +00:00
Trevor Parscal ca95923d73 Make cite transclusion tools actually work
The transclusion tools shown in the toolbar in the reference dialog
passed a template to open with to the transclusion dialog, but it
didn't take that config parameter.

Moved this parameter up from CitationDialog to TransclusionDialog,
and moved its logic into the setup function.

Bug: 63037
Change-Id: I9249c845a5ae7cca2ec4d75d69e1236f7755d246
2014-03-26 22:42:30 +00:00
jenkins-bot 24efd6bd8d Merge "Blank the reference and media search queries when closing dialogs" 2014-03-26 21:49:36 +00:00
James D. Forrester 3f21a91c2b Blank the reference and media search queries when closing dialogs
Bug: 61959
Change-Id: I45e161d322d4fb0a63d35c1a75a2a39ba9f73def
2014-03-24 17:41:29 -07:00
jenkins-bot 2b84bbbfca Merge "Use "Insert citation" label for apply button of CitationDialog" 2014-03-25 00:19:56 +00:00
Trevor Parscal c385c01096 Use "Insert citation" label for apply button of CitationDialog
* Create a method to produce the correct label
* Override that method in the citation dialog subclass

Change-Id: Ic74a23dcf30aae201f3d6c312b760cf058aadf11
2014-03-24 17:16:43 -07:00
Trevor Parscal 1363d15c53 Move cite to be after link, instead of after structure
Change-Id: I69170b68997b8df595cc12e10b3467444e3ae952
2014-03-24 17:13:59 -07:00
jenkins-bot cc45c6a0d1 Merge "Fix 'original dimensions' async call in MediaEdit dialog" 2014-03-24 22:54:01 +00:00
Roan Kattouw 81876bc81a Update reference's internal item after inserting reference
This fails before the reference has been inserted, because
it's not yet in keyedNodes at that point.

Bug: 63031
Change-Id: I34ea1a88c0f332c23e43597d1c42158bfb0f1e98
2014-03-24 15:05:26 -07:00
Trevor Parscal be199c0bf2 Ultra-mega-hyper-citation editing on crack
Objectives:
* Allow users on-wiki to create tools and dialogs for citation templates
of their choosing
* Allow editing of citation templates directly, without having to go
through the reference dialog
* Provide citation template tools within reference editing that use the
same titles and icons as the citation tools do, but don't wrap the
inserted content in a ref tag

Changes:

* Reference list was cloning the DOM element it was inserting into its
view before the generated content node could finish rendering, so it
never ended up showing the finished rendering in the reference list
* Documenting hack about use of reference list node's destroy method,
and how we are depending on destroy not canceling generated content
rendering
* Introduced reference model
* Added saving/updating method to transclusion model
* Added getPartsList method to dm transclusion node, which caches the
result and invalidates the cache on update
* Added citation dialog, which extends transclusion dialog
* Added cite group to toolbars, cite-template in reference dialog toolbar
* Factored out getting the node to edit and saving changes procedures in
transclusion dialog so they could be extended in citation dialog
* Updated uses of autoAdd as per changes in oojs-ui (Ic353f91)
* Renamed MWDialogTool file since there was only one tool in it
* Expanded TransclusionDialogTool file out since there is now more logic
to it
* Switched to using ve.dm.MWReferenceModel instead of plain objects in
reference search widget

Configuration:

If you add to MediaWiki:Visualeditor-cite-tool-definition.json the
following code you will magically be presented with a delightful array
of citation options:

[
    { "name": "web", "icon": "ref-cite-web", "template": "Cite web" },
    { "name": "book", "icon": "ref-cite-book", "template": "Cite book" },
    { "name": "news", "icon": "ref-cite-news", "template": "Cite news" },
    { "name": "journal", "icon": "ref-cite-journal", "template": "Cite journal" }
]

...or...

[
    {
         "name": "any-name",
         "icon": "any-ooui-icon",
         "template": "Any template",
         "title": "Any title text"
     }
]

The title text is derived either from the title property or from the name
property by pre-pending the string 'visualeditor-cite-tool-name-' to
generate a message key. Titles for 'web', 'book', 'news' and 'journal' are
provided. The icon is a normal oo-ui-icon name, and more icons can be
added, as usual, by adding a class called .oo-ui-icon-{icon name} to
MediaWiki:Common.css. 'ref-cite-web', 'ref-cite-book', 'ref-cite-news'
and 'ref-cite-journal' are provided. The template name is simply the name
of the template without its namespace prefix.

Depends on Ic353f91 in oojs-ui

Bug: 50110
Bug: 50768
Change-Id: Id401d973b8d5fe2faec481cc777c17a24fd19dd4
2014-03-24 19:24:38 +00:00
Moriel Schottlender 8d63b2f6db Fix 'original dimensions' async call in MediaEdit dialog
The request for originalDimensions is taken from the API, which can be
rather slow. There is a future (soon) fix that refactors the entire way
we read the originalDimensions asynchronously and load it into the dialog
but until that is available, this fix introduces a couple of basic
fallbacks in case originalDimensions are not yet available in the size
widget.

Bug: 62024
Change-Id: I8d00cea6f1d667359a44a6c185c16340bc6e81c9
2014-03-21 12:33:53 -07:00
jenkins-bot f52b34d473 Merge "Followup 861d097: actually exclude reference tool in reference dialog toolbar" 2014-03-20 06:04:43 +00:00
Roan Kattouw 5ad0828936 Followup 861d097: actually exclude reference tool in reference dialog toolbar
It was excluded, but also promoted, and the toolbar resolves this ambiguity
in favor of promotion.

Bug: 62575
Change-Id: I2f1eadb27cbd16e3258aee0311c7b35f6311ea5a
2014-03-19 22:58:35 -07:00
Roan Kattouw 45b17da937 Don't use search widget emptiness as a proxy for "no reusable references"
This works the first time the dialog is opened, but if the user types
a value into the search widget that yields 0 results, then closes
and reopens the dialog, that value will persist and the search widget
will still be empty, so we'll wrongly disable the "Use existing reference"
button.

Instead, check what we're actually interested in directly: whether
the index of reusable references is empty.

Bug: 61960
Change-Id: If4bf6ced7dc3af643f602c07f3142a0e637a3247
2014-03-19 22:46:04 -07:00
James D. Forrester 18693e76e0 Remove commented-out, now-confirmed-as-wrong wrong image insertion code
Bug: 61560
Change-Id: Id66f7a3204bae0978cc4e86d443551ce878ef8c8
2014-03-17 11:55:56 -07:00
C. Scott Ananian 0128db1dec Clarified the default link for image insertion.
Bug: 61560
Bug: 49844
Change-Id: Iab37caf1b34906b9bb1be241aa869bd2d4877907
2014-03-17 14:38:29 -04:00
James D. Forrester b68c8d3819 Re-sync toolbarGroups for MWMediaEdit and MWReference dialogs
Change-Id: Ic42a57e0e7a1639242092dbe41e13c1b8586f841
2014-03-14 17:01:44 -07:00
Moriel Schottlender 1948ed8403 Fix regression bug 'default size' change on alignment
* Corrected the condition that set default size only if the image
  wasn't smaller than the default.
* Added a couple of sanity check conditions for the OO.Compare
  condition

Bug: 62586
Bug: 62581
Change-Id: I4db996cec33ac9d53ef485b53568100e3912c4ae
2014-03-13 00:00:46 -04:00
James D. Forrester da5d8847ea Make the reference dialog medium, not large
Change-Id: Iada77f7f61ee70a33c77f25b34a2cb6e612da6a6
2014-03-12 17:38:05 -07:00
Roan Kattouw aae2fb09de Actually make the save dialog grow when showing a diff
There was code doing it, but its effects were undone by a switch-case fall-through.

Change-Id: I59abc1bbbf086eb29bda86f15bfac3acec3b0950
2014-03-12 17:31:02 -07:00
James D. Forrester e68e93ed59 Make references list dialog small, and vary 'insert' vs. 'apply' button text
Change-Id: I4bbe60ae6a978e73ca55bf55cddbdaca05c56414
2014-03-12 17:01:03 -07:00
Trevor Parscal 91f38fdaf2 Keep label and disabled state of transclusion dialog apply button in sync
* Use "Insert template" when adding a single template
* Use "Insert transclusion" when adding a multi-part template
* Use "Apply changes" when working with an existing tranclusion
* Use "Loading..." and disable while waiting for template data
* Disable when the transclusion has only a template placeholder

Bug: 50998
Change-Id: Ib2fb3d8711ed6d3ef41cc0db55740c95394dd3f9
2014-03-12 14:56:26 -07:00
Moriel Schottlender 499c672195 Deal with images whose size is smalled than default
When an image is smaller than the default size, the placeholder 'default'
value will be the image's actual size. This means that if a user selects
default thumb size for the image, it won't be changed unless the original
size is bigger than the default. Also adjusted so that default size limits
width only, and doesn't act as a bounding box on size change.

Bug: 62293
Change-Id: I8341776794843ff63a93bedeadf5921851c57a26
2014-03-12 18:07:38 +00:00
Moriel Schottlender 5f2ce173a0 Enforce width-only default size only on larger images
While the documentation is unclear, it seems that the 'thumbsize' in
$wgDefaultUserOptions is setting up width limit rather than a general
bounding box.

Things that are adapted in this fix:

* Only resize the image if the image is bigger than default and marked
  as default size.
* Only limit width, even if the image is tall.
* Add rounding to calculated height value.
* Make sure new images follow these rules as well on insertion.

Bug: 62293
Bug: 62279
Change-Id: I37525bf3480bb1da8b0538f9b38576616aabbfa6
2014-03-10 19:05:14 +00:00
Moriel Schottlender 7f180f0313 Get item data from change event in select widget items
Fix a bug in MediaEditDialog that resulted from sync issues when the
'select' event is fired for OO.ui.ButtonSelectWidget widgets.

Use the details of the selected item given from the event rather than
checking the state of the widget with getSelectedItem().

Change-Id: Ifbbf722ff374e10b680a6b55ab99f5fc86480c40
2014-03-06 13:37:17 -05:00
Trevor Parscal 37f4996392 Merge TransclusionDialogs into one
* Automatically select single mode when possible
* Allow dynamic switching when possible
* Hide most of the controls and information when in single mode
* Allow parameter model to be instantiated without name and value args
* Place add param buttons at the bottom of template and param pages
  which are only visible when in single mode and on the last page

Change-Id: Iaffbf1863b808c8089dfcf09a976d165f28c8b74
2014-03-05 18:15:17 -08:00
Ed Sanders 4ad33a6267 Use align icons in media edit dialog
Depends on I70a7c6c5d32 in core.

Change-Id: I3db1d760898f4d826b078529a8d3a14dc521e13e
2014-03-05 17:25:01 -08:00
jenkins-bot 7201311d97 Merge "Inline CR fixes for Media Edit Dialog" 2014-03-06 01:15:04 +00:00
Trevor Parscal 2a08584e8c Update constructors of inspectors and dialogs as per changes in I345d6e6
This is harmless since the values were being passed through anyway.

Change-Id: Ie81afa6b5929047b624b4376f7d70db7a7d675a4
2014-03-05 17:07:20 -08:00
Trevor Parscal 27cda86183 Update VE core submodule to master (ab70193)
Also update for dialog size changes on oojs-ui, and make the
save dialog grow from 'medium' to 'large' when viewing a diff.

New changes:
ae195ac Update OOjs UI to v0.1.0-pre (e4f6ce0156)
ab70193 Pass surface set into ve.ui.Dialog and ve.ui.Inspector

Bug: 60494
Change-Id: Ib3065e228459aa00f18c309d234f3324fdb34059
2014-03-05 16:34:14 -08:00
Ed Sanders e0f37e04e3 Update MWCommandHelpDialog now core supports multiple shortcuts
Depends on I59a10957f5a in core.

Change-Id: I37b44df84bd2551fc0983743b7b32c6c69521607
2014-03-05 16:27:09 -08:00
Roan Kattouw 861d0976d5 Make the order of insert tools consistent in dialogs
The promote/demote rules in mw.Target had changed, but these changes
weren't copied to MWMediaEditDialog and MWReferenceDialog.

Also, we ideally shouldn't need to maintain these things
completely separately from each other.

Bug: 62286
Change-Id: I459c3310f2ac0d8860a686a05da4f45d9a888801
2014-03-05 14:49:52 -08:00
Moriel Schottlender 9e6e690e66 Inline CR fixes for Media Edit Dialog
Fixing several inline comments from the previous commit, and
reorganizing the usability of size select clicks to prevent loop
click bug.

Change-Id: I259d86e9bbe90270d8883b7a3de96979b1d5a156
2014-03-05 14:46:10 -05:00
Moriel Schottlender 89aecd54ba Deal with 'none'/'border' and default size in media edit
There are several conditions to defaultSize behavior of thumbnails and
frameless images and other images when it comes to default size. In the
same principle is 'border' which is not quite a type despite the fact
it 'behaves' as such in wikitext (and has a unique identifier that comes
instead of the other types.

This commit aims to organize this behavior for the user in an
understandable manner.

* Add 'basic' image type for images that have no specified type ('none')
* Handle the difference in 'default' size behavior between basic images
  and thumbnails/frameless. The thumb/frameless images have the default
  wiki size. Other images' default size is their original dimensions.
* Force wiki-configured default size for thumbnails and frameless images
  in the DM. This is done because at the moment Parsoid's output is of
  Wikipedia's default size rather than the local wiki's. The size is
  adapted if needed, directly in the DM.
* Added 'border' as a pseudo-type checkbox flag that sets css class
  'mw-image-border' is for parsoid rendering on save.
* Add 'make full size' to the size widget select and treat it as a faux
  default button for basic and frame images.

Bug: 62013
Bug: 62024
Bug: 61155
Bug: 61059
Bug: 61282
Change-Id: I6778705306f0dd6bb96afeb91383089a4ddab7ed
2014-03-05 03:53:46 +00:00
jenkins-bot 0aa43650b7 Merge "Revert "Revert "Set href attribute of newly inserted image to image title""" 2014-03-01 01:38:43 +00:00
Jforrester cb9548a8e6 Revert "Revert "Set href attribute of newly inserted image to image title""
This reverts commit e9ae4a94b4.

Change-Id: Icad3c2f5d3f0ddfba4bb0033011a3e5089fb5cd1
2014-03-01 01:35:57 +00:00
Trevor Parscal 2fb2f441e8 Prevent superfluous setPage calls by introducing a lock
Also, use new getClosestPage method in ooui to select which page should
be selected next when a page is removed.

Change-Id: I7ce4d2ca55aac72f3aaa14c98c7189a440598e08
2014-02-28 17:26:04 -08:00
Trevor Parscal 61c1f11fef Use small option for template dialog
It's much cuter this way.

Change-Id: Ibd4a3660b2ec1613ec64c75d29574b73da69a3b8
2014-03-01 01:24:29 +00:00
Trevor Parscal 315f10cea4 Cleanup dialog properties
No need to re-initialize properties set in parent class.

Change-Id: Ib98d9636ef169f58b4044d09972063bd5f19b3af
2014-03-01 01:24:02 +00:00
Trevor Parscal ec004d16be Move parameter adding to a placeholder page
Parameter placeholder pages are generated for parameter with empty
string as their name.

Change-Id: I56c3df1ada6c4f41ebf6466ca280a2333da60071
2014-02-28 17:20:24 -08:00
Trevor Parscal 85e0bf533a Use template name as dialog title whenever possible
Change-Id: I4235f6ed68e1f95c4593caa23ada734fb8493426
2014-03-01 00:57:55 +00:00
Trevor Parscal be27de3b89 Remove outline from TemplateDialog
Change-Id: I1df5700a241671678b22f490d5d3fc4a456a4218
2014-03-01 00:51:17 +00:00
Trevor Parscal d1b0b87257 Use label of first template as Template dialog title
Change-Id: Ib273430c94249c8dbad14abb9d1f6ad3286bdc8a
2014-03-01 00:51:01 +00:00
Trevor Parscal 21efc9994b Cleanup duplication in TransclusionDialog classes
Change-Id: I96bcd07a1548b21c8a11b9d2990400d4f48e044a
2014-03-01 00:50:37 +00:00
Trevor Parscal cbd3419dfb Update VE core submodule to master (ac4b49a)
Also update template/transclusion code for OOJS UI
OutlineControlWidget changes, and uses some of the new
functionality.

New changes:
ac4b49a Update OOjs UI to v0.1.0-pre (51f922ba17)

Change-Id: Id7a1f60cd6ce3bdaba7ccb8774563b9e81c75cad
2014-02-28 16:41:42 -08:00
Moriel Schottlender 0f51538272 Default/custom switch size quickfix
Handling a bug where the placeholders weren't set to images that weren't
set to default size. The switch to 'default' failed because there were
no placeholders and data for default to go on. This is now fixed in this
commit; if the image is non-default, the values are given to the media
size widget from the config settings.

Change-Id: I402b8d4de606c0939daa316408fcf5de2f0b2181
2014-02-26 18:39:05 -05:00
Moriel Schottlender 2a5ac5fb6a Limit thumbnail dimensions in media edit dialog
Add a dynamic limit to image dimensions; image is limited to its max
size if it is 'thumb' and unlimited in size otherwise.

This change depends on ve-core Scalable/MediaSizeWidget adjustment
https://gerrit.wikimedia.org/r/115306 (merged)

Bug: 61282
Change-Id: I1247b1360ae50af039673fa3f2b3521e457ef578
2014-02-26 12:43:26 -08:00
jenkins-bot 84fb866ed7 Merge "Set up wiki-default image size" 2014-02-26 20:31:49 +00:00
jenkins-bot 4862818c7f Merge "Rename MWTemplateParameter* classes to MWParameter*" 2014-02-26 17:57:07 +00:00
Trevor Parscal e2f6d798b8 Rename MWTemplateParameter* classes to MWParameter*
* The name was getting super long, and the Template prefix doesn't
  appear to be important.
* Soon we will add a placeholder class, which would have been
  MWTemplateParameterPlaceholder, but now just MWParameterPlaceholder
  which seems a little less ridiculous.

Change-Id: Ie2dfe0d4c7b960cd554f89fa6340173e8786c88a
2014-02-26 10:54:45 +00:00
Moriel Schottlender b54575a797 Set up wiki-default image size
This commit makes several adjustments to make sure default size is being
handled correctly:

* Add wiki's default size configuration parameter to the
  VisualEditor.hooks.php file so it can be called from VE.
* Make sure new images are inserted with default size and are
  marked 'defaultSize = true' for the DM to handle.
* Force default size if 'defaultSize=true' in the DM
* Add a 'default|custom' switch to the media edit dialog for size
  inputs. When 'default' is chosen, the media size widget will be
  emptied, displaying its placeholders (default size)
* When the size widget's values are 0 it will automatically turn to
  default size values. If the value started default and the user
  typed in a size, it will automatically override default and use
  custom size.

Bug: 47804
Change-Id: Ib973ea2afa96090a4ba61b2b55ee63457f1329c1
2014-02-25 16:26:15 -05:00
Alex Monk 1e8be87f43 Don't show edit summary preview if it's blank
Bug: 61716
Change-Id: I6cd7ee0ad947dcac24a50b6df61316fde74edb43
2014-02-22 00:55:43 +00:00
Moriel Schottlender e2f06d4875 Revamp media edit dialog's position widget
Added checkbox to set position (left/center/right) or none if unchecked.
Also handle 'default' position based on the wiki direction.

Bug: 61155
Change-Id: Iddd78c98929759a13d2dc5a774e72b59cbe28c36
2014-02-20 15:47:23 -08:00
jenkins-bot 37c84dc3bb Merge "Ensure we use our references to certain native or upstream methods" 2014-02-20 23:35:39 +00:00
jenkins-bot 81d8fb9130 Merge "Revert "Set href attribute of newly inserted image to image title"" 2014-02-20 21:37:16 +00:00
Timo Tijhof 58c647e3ac Ensure we use our references to certain native or upstream methods
Checked:
 ve.cloneObject       (oo|OO).cloneObject
 ve.getObjectValues   (oo|OO).getObjectValues
 ve.getObjectKeys     Object.keys
 ve.compare           (oo|OO).compare
 ve.copy              (oo|OO).copy
 ve.isPlainObject     ($|jQuery).isPlainObject
 ve.isEmptyObject     ($|jQuery).isEmptyObject
 ve.isArray           Array.isArray
 ve.bind              ($|jQuery).proxy
 ve.indexOf           ($|jQuery).inArray
 ve.extendObject      ($|jQuery).extend

Fixed:
* ve.dm.MWBlockImageNode.js (added in Iebb2081de)
* ve.dm.MWInlineImageNode.js (aded in I62ec12a6b)
* ve.dm.MWConverter.test.js (added in I90273786a)
* ve.ui.MWMediaInsertDialog.js (added in Ia5ad9a8c0)
* ve.dm.MWTemplateSpecModel.js (added in Ic3eb66538)
* ve.init.mw.MobileViewTarget.js
* ve.init.mw.ViewPageTarget.js
* ve.init.mw.Target.js

Skipped:
* ve.init.mw.ViewPageTarget.init.js
  - Feature test (which is for the very references from ve.js
    being ensured in this commit).
  - Misc code using $.inArray (can't use ve.js yet since that
    isn't loaded yet there).

Change-Id: I73ae005d3692e871fdcaea938641558c0b98ec69
2014-02-20 22:30:29 +01:00
jenkins-bot 78bdbb4c43 Merge "Let users set __NOINDEX__ & __INDEX__ status" 2014-02-20 01:50:29 +00:00
James D. Forrester 051c3498ae Let users set __NOINDEX__ & __INDEX__ status
Add a trinary option to the page settings pane of the meta dialog that
lets users set the page to have __INDEX__, __NOINDEX__ or neither (and so
have the default behaviour).

Bug: 57167
Change-Id: I30d483b5b6c3df7ee56a52c744bbdc610a01873d
2014-02-19 17:48:03 -08:00
James D. Forrester ffc5880417 Add placeholder to 'group' field in reference dialog too
It's just been added to the reference list dialog, but references have this
(totally confusing) field too.

Bug: 59180
Change-Id: Iab26b2c2c99842d33512b0145d1f91379e1cd412
2014-02-19 17:33:35 -08:00
jenkins-bot 71984326d1 Merge "Show placeholder text in group input box on reference list dialog" 2014-02-20 00:43:57 +00:00
jenkins-bot 3e0a88c03d Merge "Add MW-specific keyboard shortcut help" 2014-02-19 23:57:45 +00:00