Commit graph

244 commits

Author SHA1 Message Date
Alex Monk 96bcc2dc55 "Use an existing reference" in the reference dialog should be disabled when there is content
Bug: 65689
Change-Id: I55f7af71957634f5c19996be02a51af0288e9e2f
2014-05-30 21:04:51 +01:00
jenkins-bot a7bf8b6a7f Merge "Convert toolbar structure group from bar to list" 2014-05-28 23:06:36 +00:00
Moriel Schottlender f9df17c052 Another default alignment fix to MWImageModel
This time in the installment: Allow the model to predict the type
and default alignment based on parameters rather than just the
current status. This is important for initializing images, especially
inline images whose 'align' attribute is null or undefined, but must
be examined for default alignment.

Also changed:
* Make sure that model operations change each other, rather than
  let the editor change 'unrelated' model parameters.
* Use selectItem rather than chooseItem to avoid emiting the 'choose'
  event on edit dialog initialization.

Bug: 65564
Change-Id: I8c23fc53e7738d59565294d8b98fe7351bebbc67
2014-05-28 18:05:00 -04:00
Moriel Schottlender 7a6f59920d Fix default alignment in MWImageModel
Make default alignment a computed value, and make sure the GUI listens
to 'choose' instead of 'select' events for SelectWidgets so to prevent
recursive calls and make sure the GUI is updated properly.

Also added a default alignment check on type change so the user can
visually have an indication that the new image will have a different
alignment. The user can then change the value manually.

Bug: 65564
Bug: 65596
Bug: 62852
Bug: 65617

Change-Id: I55e16775d18e0a4bf7f1fa73bbb3aa5e0aa51a79
2014-05-24 03:22:52 +00:00
James D. Forrester 47e19a9873 Convert toolbar structure group from bar to list
Aligns with I84a4d948ae in stand-alone.

Change-Id: I533355a20bb329b91d6550bde4afa18180b38f59
2014-05-22 17:47:29 -07:00
Moriel Schottlender d8040dbffc Don't update image model twice
The image model is updated through events from the edit dialog.
There is no need to update the states of the select/checkboxes
at the end in 'apply'. The only inputs that are not updated
on change are caption and alternate text.

Bug: 65564
Change-Id: I18c009546120e270467418cff677ec491fd109ca
2014-05-21 14:41:33 -04:00
jenkins-bot 5798569c73 Merge "Image model and the media edit dialog" 2014-05-20 01:15:31 +00:00
Moriel Schottlender 37b3c07b26 Image model and the media edit dialog
Creating an MWImageModel that handles all image edit operations.
If the new attributes mean a change of image types from inline
to block or vice versa, the model will handle the creation and
insertion of the new node.

Change-Id: Ibe71bc8bd74e4ba5a024ac722432ccf0b8f65e71
2014-05-19 21:11:06 -04:00
Timo Tijhof 37087f1f5f MWTransclusionDialog: Remove setMode() call from teardown()
teardown() runs after the dialog has been hidden (if you need it
to be visible, use close() instead).

However removing it instead of moving because it is obsolete,
this is something that should be done from setup() instead, and
already is.

Bug: 65373
Change-Id: Ib6b4ab49f191d1d339e69934453786a82d97380f
2014-05-19 20:44:38 +02:00
Ed Sanders ddf88a5633 Fix styling on save dialog
Apply styles directly to textarea instead of wrapper div

Change-Id: Id2340cb81dd343266b8a57ae91057fa3015a47e0
2014-05-19 18:41:06 +01:00
Ed Sanders bd3b5ffc4f Initialise save panel on 'ready' so focus works
Bug: 65222
Change-Id: I18a0191a3013332621e44455ea59d5f8d683117e
2014-05-19 17:23:38 +01:00
Timo Tijhof 25d00cc777 build: Update jscs and jshint
jshint:
* Update to grunt-contrib-jshint v0.10.0 (jshint v2.5.0).
* Remove coding style options covered by jscs.
* Enable new option "freeze" (prohibits changing native prototypes).
  http://www.jshint.com/blog/new-in-jshint-oct-2013/#option-freeze
* Re-order to match http://www.jshint.com/docs/options/

jscs:
* Update to grunt-jscs-checker v0.4.4 (jscs v1.4.5).
* Format .jscsrc file in a more spacious way and order the
  properties less arbitrarily (using the jscs's readme order).
* Enforce more details of our coding style
* Get rid of the unsable "sticky" operator rules which have been
  deprecated in favour of using other rules instead that are able
  to enforce this more accurately.
  - disallowLeftStickedOperators: Remove deprecated rule.
    * Ternary covered by requireSpacesInConditionalExpression.
    * Rest covered by requireSpace{Before,After}BinaryOperators.

  - requireLeftStickedOperators: Remove deprecated rule.
     * Comma covered by disallowSpaceBeforeBinaryOperators.

  - requireRightStickedOperators: Remove deprecated rule.
    * Logical not (!) covered by disallowSpaceAfterPrefixUnaryOperators.

See also If46b94ce1, Ib731f11b1 and I0b0cadbc5 in oojs/core.

Also:
* Update grunt-contrib-watch to latest upstream version.
  Change log at https://github.com/gruntjs/grunt-contrib-watch/blob/v0.6.1/CHANGELOG#L1-L17

Change-Id: I6c5a34afea8b05a3dca617897c192594df06ca90
2014-05-15 16:52:34 +00:00
Moriel Schottlender 2731b1ee48 Make sure originalDimensions are available before use
Before applying default size based on originalDimensions, make sure
these are available through the scalable call. The image will be
marked as default size, but the presentation will depend on whether
or not we have the defaultDimensions from the API.

Bug: 65239
Change-Id: I41b30498713e969bd24ef0ad3e9a074c6ffcdc3b
2014-05-13 15:53:30 -04:00
Roan Kattouw 0bcab80d2a Stop explicitly setting autoFocus to true now that it defaults to true.
Change-Id: I8544cf83d8665848b8da8a7e2bbef9f8518e23ef
2014-05-05 14:18:12 -07:00
Trevor Parscal 62324167ff Update VE core submodule to master (a1e9df1)
Also adjust calls to InputWidget methods changed in
I324dfc2 in OOUI.

New changes:
9da32d7 Update OOjs UI to v0.1.0-pre (e6edd86d37)
b6aa671 Localisation updates from https://translatewiki.net.
1cba6e0 Update OOjs UI to v0.1.0-pre (9a6c625f5f)
94629f9 Localisation updates from https://translatewiki.net.

Change-Id: Id58d199c7ce3332a104ab2a5c395561ab94ae060
2014-05-02 15:50:32 -07:00
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