12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- require(['jquery', 'domReady!'], function ($) {
- 'use strict';
- $(document).ready(function () {
- /**
- * Update url params
- * @param {String} uri
- * @param {String} key
- * @param {String} value
- * @returns {String}
- */
- function updateUrlParameter(uri, key, value) {
- var re = new RegExp('([?&])' + key + '=.*?(&|$)', 'i'),
- separator = uri.indexOf('?') !== -1 ? '&' : '?';
- if (uri.match(re)) {
- uri = uri.replace(re, '$1' + key + '=' + value + '$2');
- } else {
- uri = uri + separator + key + '=' + value;
- }
- return uri;
- }
- /**
- * Change urls
- * @param {String} value
- */
- function changeUrls(value) {
- var elmToChange =
- [
- '#connector_developer_settings_sync_settings_reset_orders',
- '#connector_developer_settings_sync_settings_reset_reviews',
- '#connector_developer_settings_sync_settings_reset_wishlists',
- '#connector_developer_settings_sync_settings_reset_catalog'
- ];
- $.each(elmToChange, function (k, v) {
- var str = $(v).attr('onclick'),
- updatedUrl = updateUrlParameter(str, value, encodeURIComponent($('#' + value).val()));
- $(v).attr('onclick', updatedUrl);
- });
- }
- /**
- * Observe change on given element
- * @param {String} value
- */
- function observeChange(value) {
- $('#' + value).change(function () {
- changeUrls(value);
- });
- }
- /**
- * Init
- */
- function start() {
- var elmToObserve = ['from', 'to'];
- $.each(elmToObserve, function (key, value) {
- observeChange(value);
- });
- }
- start();
- });
- });
|