17 'mage/backend/validation',
22 getConnectionName =
function (storageType, connection) {
23 if (storageType == 0) {
25 }
else if (connection !=
'') {
26 return storageType +
'_' + connection;
33 $(
'system_media_storage_configuration_media_storage').
value,
34 $(
'system_media_storage_configuration_media_database').
value 37 <?php $syncStorageParams =
$block->getSyncStorageParams() ?>
38 addAllowedStorage(<?= $syncStorageParams[
'storage_type'] ?>,
'<?= /* @escapeNotVerified */ $syncStorageParams['connection_name
'] ?>');
41 defaultValues[
'system_media_storage_configuration_media_storage'] = $(
'system_media_storage_configuration_media_storage').
value;
42 defaultValues[
'system_media_storage_configuration_media_database'] = $(
'system_media_storage_configuration_media_database').
value;
45 function addAllowedStorage(storageType, connection)
47 storage = getConnectionName(storageType, connection);
49 if (storage !=
'' && !allowedStorages.include(storage)) {
50 allowedStorages.push(storage);
52 $(
'system_media_storage_configuration_media_storage').
value = storageType;
53 $(
'system_media_storage_configuration_media_database').
value = connection;
56 function checkButtonState(event) {
57 var element = Event.element(event);
59 defaultStorage = getConnectionName(
60 defaultValues[
'system_media_storage_configuration_media_storage'],
61 defaultValues[
'system_media_storage_configuration_media_database']
64 storage = getConnectionName(
65 $(
'system_media_storage_configuration_media_storage').
value,
66 $(
'system_media_storage_configuration_media_database').
value 68 if (defaultStorage != storage) {
75 function enableStorageSelection() {
76 $(
'system_media_storage_configuration_media_storage').enable(
'enabled');
77 $(
'system_media_storage_configuration_media_database').enable(
'enabled');
80 function disableStorageSelection() {
81 $(
'system_media_storage_configuration_media_storage').disable(
'disabled');
82 $(
'system_media_storage_configuration_media_database').disable(
'disabled');
85 function enableSyncButton() {
86 Form.Element.enable(
'synchronize_button');
87 $(
'synchronize_button').removeClassName(
'disabled');
90 function disableSyncButton() {
91 Form.Element.disable(
'synchronize_button');
92 $(
'synchronize_button').addClassName(
'disabled');
95 var checkStatus =
function() {
96 u =
new Ajax.PeriodicalUpdater(
'',
'<?= /* @escapeNotVerified */ $block->getAjaxStatusUpdateUrl() ?>', {
101 onSuccess:
function(transport) {
105 response = JSON.parse(transport.responseText);
106 if (response.state ==
'<?= /* @escapeNotVerified */ \Magento\MediaStorage\Model\File\Storage\Flag::STATE_RUNNING ?>' 109 if ($(
'sync_span').hasClassName(
'no-display')) {
110 $(
'sync_span').removeClassName(
'no-display');
111 $(
'sync_message_span').update(response.message);
115 enableStorageSelection();
116 $(
'sync_span').addClassName(
'no-display');
118 if (response.state ==
'<?= /* @escapeNotVerified */ \Magento\MediaStorage\Model\File\Storage\Flag::STATE_FINISHED ?>') {
120 $(
'system_media_storage_configuration_media_storage').
value,
121 $(
'system_media_storage_configuration_media_database').
value 123 }
else if (response.state ==
'<?= /* @escapeNotVerified */ \Magento\MediaStorage\Model\File\Storage\Flag::STATE_NOTIFIED ?>') {
124 if (response.has_errors) {
128 $(
'system_media_storage_configuration_media_storage').
value,
129 $(
'system_media_storage_configuration_media_database').
value 141 Event.observe(window,
'load',
function(){
142 disableStorageSelection();
146 $(
'system_media_storage_configuration_media_storage').observe(
'change', checkButtonState);
147 $(
'system_media_storage_configuration_media_database').observe(
'change', checkButtonState);
149 jQuery(
'#synchronize_button').click(
function () {
150 if (!
jQuery.validator.validateElement(
'#synchronize-validation-input')) {
151 jQuery(
'[for="synchronize-validation-input"]').hide();
154 storage: $(
'system_media_storage_configuration_media_storage').
value,
155 connection: $(
'system_media_storage_configuration_media_database').value
158 new Ajax.Request(
'<?= /* @escapeNotVerified */ $block->getAjaxSyncUrl() ?>', {
164 window.setTimeout(checkStatus, 2011);
166 disableStorageSelection();
170 jQuery.validator.addMethod(
'required-synchronize',
function(){
171 storage = getConnectionName(
172 $(
'system_media_storage_configuration_media_storage').
value,
173 $(
'system_media_storage_configuration_media_database').
value 175 return allowedStorages.include(storage);
176 },
'Synchronization is required.');
180 <?=
$block->getButtonHtml() ?>
181 <span
class=
"sync-indicator no-display" id=
"sync_span">
182 <img alt=
"Synchronize" style=
"margin:0 5px" src=
"<?= /* @escapeNotVerified */ $block->getViewFileUrl('images/process_spinner.gif') ?>"/>
183 <span
id=
"sync_message_span"></span>
185 <input type=
"hidden" id=
"synchronize-validation-input" class=
"required-synchronize no-display"/>
$block setTitle( 'CMS Block Title') -> setIdentifier('fixture_block') ->setContent('< h1 >Fixture Block Title</h1 >< a href=" store url</a><p> Config value
jQuery('.store-switcher .dropdown-menu li a').each(function()