root / drupal7 / sites / all / modules / media / js / media.format_form.js @ 74f6bef0
1 | 85ad3d82 | Assos Assos | |
---|---|---|---|
2 | /**
|
||
3 | * @file
|
||
4 | * Attach behaviors to formatter radio select when selecting a media's display
|
||
5 | * formatter.
|
||
6 | */
|
||
7 | |||
8 | (function ($) { |
||
9 | namespace('Drupal.media.formatForm');
|
||
10 | |||
11 | Drupal.media.mediaFormatSelected = {}; |
||
12 | |||
13 | Drupal.behaviors.mediaFormatForm = { |
||
14 | attach: function (context, settings) { |
||
15 | |||
16 | // Add "Submit" and "Cancel" buttons inside the IFRAME that trigger the
|
||
17 | // behavior of the hidden "OK" and "Cancel" buttons that are outside the
|
||
18 | // IFRAME. See Drupal.media.browser.validateButtons() for more details.
|
||
19 | |||
20 | // @note I think this should be handled in media.browser.js in
|
||
21 | // Drupal.media.browser.validateButtons but I'm not sure how crufty
|
||
22 | // this particular functionality is. We should evaluate if it is still
|
||
23 | // needed.
|
||
24 | |||
25 | // @TODO can these be added to the content being displayed via form_alter?
|
||
26 | |||
27 | // Adding the buttons should only be done once in order to prevent multiple
|
||
28 | // buttons from being added if part of the form is updated via AJAX
|
||
29 | $('#media-format-form').once('format', function() { |
||
30 | $('<a class="button fake-ok">' + Drupal.t('Submit') + '</a>').appendTo($('#media-format-form')).bind('click', Drupal.media.formatForm.submit); |
||
31 | $('<a class="button fake-cancel">' + Drupal.t('Cancel') + '</a>').appendTo($('#media-format-form')).bind('click', Drupal.media.formatForm.submit); |
||
32 | }); |
||
33 | |||
34 | // Resize the window on load.
|
||
35 | // @TODO this duplicates Drupal.media.browser.resizeIframe()
|
||
36 | // can we put a resize function into media.core.js?
|
||
37 | $(document).ready(function () { |
||
38 | // Get the height and add a bit of padding to acomidate the form buttons.
|
||
39 | var h = $('body').height() + 20; |
||
40 | $(parent.window.document).find('#mediaStyleSelector').height(h); |
||
41 | }); |
||
42 | |||
43 | } |
||
44 | }; |
||
45 | |||
46 | Drupal.media.formatForm.getOptions = function () { |
||
47 | // Get all the values
|
||
48 | var ret = {}; $.each($('#media-format-form fieldset#edit-options *').serializeArray(), function (i, field) { ret[field.name] = field.value; }); |
||
49 | return ret;
|
||
50 | }; |
||
51 | |||
52 | Drupal.media.formatForm.getFormattedMedia = function () { |
||
53 | var formatType = $("select#edit-format option:selected").val(); |
||
54 | return { type: formatType, options: Drupal.media.formatForm.getOptions(), html: Drupal.settings.media.formatFormFormats[formatType] }; |
||
55 | }; |
||
56 | |||
57 | Drupal.media.formatForm.submit = function () { |
||
58 | // @see Drupal.behaviors.mediaFormatForm.attach().
|
||
59 | var buttons = $(parent.window.document.body).find('#mediaStyleSelector').parent('.ui-dialog').find('.ui-dialog-buttonpane button'); |
||
60 | if ($(this).hasClass('fake-cancel')) { |
||
61 | buttons[1].click();
|
||
62 | } else {
|
||
63 | buttons[0].click();
|
||
64 | } |
||
65 | } |
||
66 | |||
67 | })(jQuery); |