Current Directory: /home/astoriaah/www/templates/yootheme/vendor/yootheme/theme/platforms/joomla/app
Viewing File: /home/astoriaah/www/templates/yootheme/vendor/yootheme/theme/platforms/joomla/app/customizer.min.js
webpackJsonp([1],{
/***/ 151:
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
var key = '__test__';
var storage = void 0;
// workaround for Safari's private browsing mode and accessing sessionStorage in Blink
try {
storage = window.sessionStorage || {};
storage[key] = 1;
delete storage[key];
} catch (e) {
storage = {};
}
exports.default = storage;
/***/ }),
/***/ 517:
/***/ (function(module, exports, __webpack_require__) {
var __vue_script__, __vue_template__
var __vue_styles__ = {}
__vue_script__ = __webpack_require__(518)
if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
console.warn("[vue-loader] vendor/yootheme/theme/platforms/joomla/app/customizer.vue: named exports in *.vue files are ignored.")}
__vue_template__ = __webpack_require__(565)
module.exports = __vue_script__ || {}
if (module.exports.__esModule) module.exports = module.exports.default
var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
if (__vue_template__) {
__vue_options__.template = __vue_template__
}
if (!__vue_options__.computed) __vue_options__.computed = {}
Object.keys(__vue_styles__).forEach(function (key) {
var module = __vue_styles__[key]
__vue_options__.computed[key] = function () { return module }
})
if (false) {(function () { module.hot.accept()
var hotAPI = require("vue-hot-reload-api")
hotAPI.install(require("vue"), false)
if (!hotAPI.compatible) return
var id = "_v-7cc8e3d9/customizer.vue"
if (!module.hot.data) {
hotAPI.createRecord(id, module.exports)
} else {
hotAPI.update(id, module.exports, __vue_template__)
}
})()}
/***/ }),
/***/ 518:
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var _pick3 = __webpack_require__(143);
var _pick4 = _interopRequireDefault(_pick3);
var _merge3 = __webpack_require__(6);
var _merge4 = _interopRequireDefault(_merge3);
var _assign3 = __webpack_require__(5);
var _assign4 = _interopRequireDefault(_assign3);
var _jquery = __webpack_require__(2);
var _jquery2 = _interopRequireDefault(_jquery);
var _vue = __webpack_require__(3);
var _vue2 = _interopRequireDefault(_vue);
var _uikit = __webpack_require__(16);
var _uikit2 = _interopRequireDefault(_uikit);
var _cookiesJs = __webpack_require__(519);
var _cookiesJs2 = _interopRequireDefault(_cookiesJs);
var _queryString = __webpack_require__(520);
var _queryString2 = _interopRequireDefault(_queryString);
var _customizer = __webpack_require__(148);
var _customizer2 = _interopRequireDefault(_customizer);
var _preview = __webpack_require__(532);
var _preview2 = _interopRequireDefault(_preview);
var _sidebar = __webpack_require__(538);
var _sidebar2 = _interopRequireDefault(_sidebar);
var _linkPicker = __webpack_require__(547);
var _linkPicker2 = _interopRequireDefault(_linkPicker);
var _mediaPicker = __webpack_require__(550);
var _mediaPicker2 = _interopRequireDefault(_mediaPicker);
var _editorVisual = __webpack_require__(562);
var _editorVisual2 = _interopRequireDefault(_editorVisual);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
(0, _jquery2.default)(function () {
var _QueryString$parse = _queryString2.default.parse(window.location.href),
site = _QueryString$parse.site,
section = _QueryString$parse.section;
var config = (0, _assign4.default)({}, window.$config, window.$customizer);
(0, _assign4.default)(exports, {
data: function data() {
return {
admin: config.admin,
user_id: config.user_id,
section: section,
prev: {},
dirty: false,
active: true,
config: (0, _merge4.default)({}, config.config)
};
},
computed: {
filteredSections: function filteredSections() {
return this.section ? (0, _pick4.default)(this.sections, this.section) : this.sections;
}
},
created: function created() {
if (site) this.site = site;
},
ready: function ready() {
var _this = this;
this.prev = (0, _merge4.default)({}, this.config);
this.$trigger('loadPreview', { admin: this.admin, config: this.config, user_id: this.user_id });
(0, _jquery2.default)(window).on('beforeunload', function () {
return _this.dirty || undefined;
});
},
methods: {
close: function close() {
var event = { close: true };
this.$trigger('close', event);
if (!event.close) {
return;
}
_cookiesJs2.default.expire(config.cookie);
window.location.href = config.return;
},
cancel: function cancel() {
this.config = (0, _merge4.default)({}, this.prev);
this.dirty = false;
this.$trigger('loadPreview');
}
},
events: {
setField: function setField(name, value, values) {
if (values === this.config) {
this.dirty = true;
}
},
saveConfig: {
handler: function handler(config) {
var _this2 = this;
return this.$http.post('customizer', { config: config }).then(function () {
_this2.dirty = false;
_this2.prev = (0, _merge4.default)({}, config);
});
},
priority: -10
},
readyPreview: function readyPreview(e, preview, config) {
this.active = this.id === config.id;
},
loadPreview: function loadPreview(data) {
return [data || { config: this.config }];
}
},
components: {
sidebar: _sidebar2.default,
preview: _preview2.default
}
});
_vue2.default.http.interceptors.unshift(function (req, next) {
if (!req.crossOrigin) {
req.headers.set('X-XSRF-Token', config.csrf);
}
if (req.getUrl().startsWith(config.api)) {
req.params.key = config.apikey;
}
if (typeof req.url === 'string' && !req.url.match(/^((https?:)?\/|{)/)) {
req.params.option = 'com_ajax';
req.params.style = config.id;
req.params.p = req.url;
req.url = config.route;
}
next();
});
_vue2.default.component('link-picker', _linkPicker2.default);
_vue2.default.component('media-picker', _mediaPicker2.default);
_vue2.default.component('editor-visual', _editorVisual2.default);
(0, _jquery2.default)('html').addClass('yo-open');
_cookiesJs2.default.set(config.cookie, config.id, { expires: 86400 });
(0, _jquery2.default)(window).on('unload', function () {
return _cookiesJs2.default.expire(config.cookie);
});
_customizer2.default.create(exports).$mount().$appendTo(_uikit2.default.container = (0, _jquery2.default)('<div class="uk-noconflict"></div>').appendTo('body')[0]);
if (window.tinyMCE) {
// triggered on Joomla modal close. dummy call in case no editor is active
tinyMCE.activeEditor = tinyMCE.activeEditor || {
windowManager: { close: function close() {} }
};
}
});
// </script>
// <template>
//
// <div class="yo-customizer">
// <sidebar :config="config" :panels="panels" :sections="filteredSections"></sidebar>
// <preview :src="site"></preview>
// </div>
//
// </template>
//
// <script>
/***/ }),
/***/ 519:
/***/ (function(module, exports, __webpack_require__) {
var __WEBPACK_AMD_DEFINE_RESULT__;/*
* Cookies.js - 1.2.3
* https://github.com/ScottHamper/Cookies
*
* This is free and unencumbered software released into the public domain.
*/
(function (global, undefined) {
'use strict';
var factory = function (window) {
if (typeof window.document !== 'object') {
throw new Error('Cookies.js requires a `window` with a `document` object');
}
var Cookies = function (key, value, options) {
return arguments.length === 1 ?
Cookies.get(key) : Cookies.set(key, value, options);
};
// Allows for setter injection in unit tests
Cookies._document = window.document;
// Used to ensure cookie keys do not collide with
// built-in `Object` properties
Cookies._cacheKeyPrefix = 'cookey.'; // Hurr hurr, :)
Cookies._maxExpireDate = new Date('Fri, 31 Dec 9999 23:59:59 UTC');
Cookies.defaults = {
path: '/',
secure: false
};
Cookies.get = function (key) {
if (Cookies._cachedDocumentCookie !== Cookies._document.cookie) {
Cookies._renewCache();
}
var value = Cookies._cache[Cookies._cacheKeyPrefix + key];
return value === undefined ? undefined : decodeURIComponent(value);
};
Cookies.set = function (key, value, options) {
options = Cookies._getExtendedOptions(options);
options.expires = Cookies._getExpiresDate(value === undefined ? -1 : options.expires);
Cookies._document.cookie = Cookies._generateCookieString(key, value, options);
return Cookies;
};
Cookies.expire = function (key, options) {
return Cookies.set(key, undefined, options);
};
Cookies._getExtendedOptions = function (options) {
return {
path: options && options.path || Cookies.defaults.path,
domain: options && options.domain || Cookies.defaults.domain,
expires: options && options.expires || Cookies.defaults.expires,
secure: options && options.secure !== undefined ? options.secure : Cookies.defaults.secure
};
};
Cookies._isValidDate = function (date) {
return Object.prototype.toString.call(date) === '[object Date]' && !isNaN(date.getTime());
};
Cookies._getExpiresDate = function (expires, now) {
now = now || new Date();
if (typeof expires === 'number') {
expires = expires === Infinity ?
Cookies._maxExpireDate : new Date(now.getTime() + expires * 1000);
} else if (typeof expires === 'string') {
expires = new Date(expires);
}
if (expires && !Cookies._isValidDate(expires)) {
throw new Error('`expires` parameter cannot be converted to a valid Date instance');
}
return expires;
};
Cookies._generateCookieString = function (key, value, options) {
key = key.replace(/[^#$&+\^`|]/g, encodeURIComponent);
key = key.replace(/\(/g, '%28').replace(/\)/g, '%29');
value = (value + '').replace(/[^!#$&-+\--:<-\[\]-~]/g, encodeURIComponent);
options = options || {};
var cookieString = key + '=' + value;
cookieString += options.path ? ';path=' + options.path : '';
cookieString += options.domain ? ';domain=' + options.domain : '';
cookieString += options.expires ? ';expires=' + options.expires.toUTCString() : '';
cookieString += options.secure ? ';secure' : '';
return cookieString;
};
Cookies._getCacheFromString = function (documentCookie) {
var cookieCache = {};
var cookiesArray = documentCookie ? documentCookie.split('; ') : [];
for (var i = 0; i < cookiesArray.length; i++) {
var cookieKvp = Cookies._getKeyValuePairFromCookieString(cookiesArray[i]);
if (cookieCache[Cookies._cacheKeyPrefix + cookieKvp.key] === undefined) {
cookieCache[Cookies._cacheKeyPrefix + cookieKvp.key] = cookieKvp.value;
}
}
return cookieCache;
};
Cookies._getKeyValuePairFromCookieString = function (cookieString) {
// "=" is a valid character in a cookie value according to RFC6265, so cannot `split('=')`
var separatorIndex = cookieString.indexOf('=');
// IE omits the "=" when the cookie value is an empty string
separatorIndex = separatorIndex < 0 ? cookieString.length : separatorIndex;
var key = cookieString.substr(0, separatorIndex);
var decodedKey;
try {
decodedKey = decodeURIComponent(key);
} catch (e) {
if (console && typeof console.error === 'function') {
console.error('Could not decode cookie with key "' + key + '"', e);
}
}
return {
key: decodedKey,
value: cookieString.substr(separatorIndex + 1) // Defer decoding value until accessed
};
};
Cookies._renewCache = function () {
Cookies._cache = Cookies._getCacheFromString(Cookies._document.cookie);
Cookies._cachedDocumentCookie = Cookies._document.cookie;
};
Cookies._areEnabled = function () {
var testKey = 'cookies.js';
var areEnabled = Cookies.set(testKey, 1).get(testKey) === '1';
Cookies.expire(testKey);
return areEnabled;
};
Cookies.enabled = Cookies._areEnabled();
return Cookies;
};
var cookiesExport = (global && typeof global.document === 'object') ? factory(global) : factory;
// AMD support
if (true) {
!(__WEBPACK_AMD_DEFINE_RESULT__ = (function () { return cookiesExport; }).call(exports, __webpack_require__, exports, module),
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
// CommonJS/Node.js support
} else if (typeof exports === 'object') {
// Support Node.js specific `module.exports` (which can be a function)
if (typeof module === 'object' && typeof module.exports === 'object') {
exports = module.exports = cookiesExport;
}
// But always support CommonJS module 1.1.1 spec (`exports` cannot be a function)
exports.Cookies = cookiesExport;
} else {
global.Cookies = cookiesExport;
}
})(typeof window === 'undefined' ? this : window);
/***/ }),
/***/ 520:
/***/ (function(module, exports, __webpack_require__) {
"use strict";
const strictUriEncode = __webpack_require__(521);
const decodeComponent = __webpack_require__(522);
function encoderForArrayFormat(options) {
switch (options.arrayFormat) {
case 'index':
return (key, value, index) => {
return value === null ? [
encode(key, options),
'[',
index,
']'
].join('') : [
encode(key, options),
'[',
encode(index, options),
']=',
encode(value, options)
].join('');
};
case 'bracket':
return (key, value) => {
return value === null ? [encode(key, options), '[]'].join('') : [
encode(key, options),
'[]=',
encode(value, options)
].join('');
};
default:
return (key, value) => {
return value === null ? encode(key, options) : [
encode(key, options),
'=',
encode(value, options)
].join('');
};
}
}
function parserForArrayFormat(options) {
let result;
switch (options.arrayFormat) {
case 'index':
return (key, value, accumulator) => {
result = /\[(\d*)\]$/.exec(key);
key = key.replace(/\[\d*\]$/, '');
if (!result) {
accumulator[key] = value;
return;
}
if (accumulator[key] === undefined) {
accumulator[key] = {};
}
accumulator[key][result[1]] = value;
};
case 'bracket':
return (key, value, accumulator) => {
result = /(\[\])$/.exec(key);
key = key.replace(/\[\]$/, '');
if (!result) {
accumulator[key] = value;
return;
}
if (accumulator[key] === undefined) {
accumulator[key] = [value];
return;
}
accumulator[key] = [].concat(accumulator[key], value);
};
default:
return (key, value, accumulator) => {
if (accumulator[key] === undefined) {
accumulator[key] = value;
return;
}
accumulator[key] = [].concat(accumulator[key], value);
};
}
}
function encode(value, options) {
if (options.encode) {
return options.strict ? strictUriEncode(value) : encodeURIComponent(value);
}
return value;
}
function decode(value, options) {
if (options.decode) {
return decodeComponent(value);
}
return value;
}
function keysSorter(input) {
if (Array.isArray(input)) {
return input.sort();
}
if (typeof input === 'object') {
return keysSorter(Object.keys(input))
.sort((a, b) => Number(a) - Number(b))
.map(key => input[key]);
}
return input;
}
function extract(input) {
const queryStart = input.indexOf('?');
if (queryStart === -1) {
return '';
}
return input.slice(queryStart + 1);
}
function parse(input, options) {
options = Object.assign({decode: true, arrayFormat: 'none'}, options);
const formatter = parserForArrayFormat(options);
// Create an object with no prototype
const ret = Object.create(null);
if (typeof input !== 'string') {
return ret;
}
input = input.trim().replace(/^[?#&]/, '');
if (!input) {
return ret;
}
for (const param of input.split('&')) {
let [key, value] = param.replace(/\+/g, ' ').split('=');
// Missing `=` should be `null`:
// http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters
value = value === undefined ? null : decode(value, options);
formatter(decode(key, options), value, ret);
}
return Object.keys(ret).sort().reduce((result, key) => {
const value = ret[key];
if (Boolean(value) && typeof value === 'object' && !Array.isArray(value)) {
// Sort object keys, not values
result[key] = keysSorter(value);
} else {
result[key] = value;
}
return result;
}, Object.create(null));
}
exports.extract = extract;
exports.parse = parse;
exports.stringify = (obj, options) => {
const defaults = {
encode: true,
strict: true,
arrayFormat: 'none'
};
options = Object.assign(defaults, options);
if (options.sort === false) {
options.sort = () => {};
}
const formatter = encoderForArrayFormat(options);
return obj ? Object.keys(obj).sort(options.sort).map(key => {
const value = obj[key];
if (value === undefined) {
return '';
}
if (value === null) {
return encode(key, options);
}
if (Array.isArray(value)) {
const result = [];
for (const value2 of value.slice()) {
if (value2 === undefined) {
continue;
}
result.push(formatter(key, value2, result.length));
}
return result.join('&');
}
return encode(key, options) + '=' + encode(value, options);
}).filter(x => x.length > 0).join('&') : '';
};
exports.parseUrl = (input, options) => {
return {
url: input.split('?')[0] || '',
query: parse(extract(input), options)
};
};
/***/ }),
/***/ 521:
/***/ (function(module, exports, __webpack_require__) {
"use strict";
module.exports = str => encodeURIComponent(str).replace(/[!'()*]/g, x => `%${x.charCodeAt(0).toString(16).toUpperCase()}`);
/***/ }),
/***/ 522:
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var token = '%[a-f0-9]{2}';
var singleMatcher = new RegExp(token, 'gi');
var multiMatcher = new RegExp('(' + token + ')+', 'gi');
function decodeComponents(components, split) {
try {
// Try to decode the entire string first
return decodeURIComponent(components.join(''));
} catch (err) {
// Do nothing
}
if (components.length === 1) {
return components;
}
split = split || 1;
// Split the array in 2 parts
var left = components.slice(0, split);
var right = components.slice(split);
return Array.prototype.concat.call([], decodeComponents(left), decodeComponents(right));
}
function decode(input) {
try {
return decodeURIComponent(input);
} catch (err) {
var tokens = input.match(singleMatcher);
for (var i = 1; i < tokens.length; i++) {
input = decodeComponents(tokens, i).join('');
tokens = input.match(singleMatcher);
}
return input;
}
}
function customDecodeURIComponent(input) {
// Keep track of all the replacements and prefill the map with the `BOM`
var replaceMap = {
'%FE%FF': '\uFFFD\uFFFD',
'%FF%FE': '\uFFFD\uFFFD'
};
var match = multiMatcher.exec(input);
while (match) {
try {
// Decode as big chunks as possible
replaceMap[match[0]] = decodeURIComponent(match[0]);
} catch (err) {
var result = decode(match[0]);
if (result !== match[0]) {
replaceMap[match[0]] = result;
}
}
match = multiMatcher.exec(input);
}
// Add `%C2` at the end of the map to make sure it does not replace the combinator before everything else
replaceMap['%C2'] = '\uFFFD';
var entries = Object.keys(replaceMap);
for (var i = 0; i < entries.length; i++) {
// Replace all decoded components
var key = entries[i];
input = input.replace(new RegExp(key, 'g'), replaceMap[key]);
}
return input;
}
module.exports = function (encodedURI) {
if (typeof encodedURI !== 'string') {
throw new TypeError('Expected `encodedURI` to be of type `string`, got `' + typeof encodedURI + '`');
}
try {
encodedURI = encodedURI.replace(/\+/g, ' ');
// Try the built in decoder first
return decodeURIComponent(encodedURI);
} catch (err) {
// Fallback to a more advanced decoder
return customDecodeURIComponent(encodedURI);
}
};
/***/ }),
/***/ 532:
/***/ (function(module, exports, __webpack_require__) {
var __vue_script__, __vue_template__
var __vue_styles__ = {}
__vue_script__ = __webpack_require__(533)
if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
console.warn("[vue-loader] vendor/yootheme/theme/platforms/joomla/app/components/preview.vue: named exports in *.vue files are ignored.")}
__vue_template__ = __webpack_require__(537)
module.exports = __vue_script__ || {}
if (module.exports.__esModule) module.exports = module.exports.default
var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
if (__vue_template__) {
__vue_options__.template = __vue_template__
}
if (!__vue_options__.computed) __vue_options__.computed = {}
Object.keys(__vue_styles__).forEach(function (key) {
var module = __vue_styles__[key]
__vue_options__.computed[key] = function () { return module }
})
if (false) {(function () { module.hot.accept()
var hotAPI = require("vue-hot-reload-api")
hotAPI.install(require("vue"), false)
if (!hotAPI.compatible) return
var id = "_v-54782319/preview.vue"
if (!module.hot.data) {
hotAPI.createRecord(id, module.exports)
} else {
hotAPI.update(id, module.exports, __vue_template__)
}
})()}
/***/ }),
/***/ 533:
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
var _debounce3 = __webpack_require__(32);
var _debounce4 = _interopRequireDefault(_debounce3);
var _jquery = __webpack_require__(2);
var _jquery2 = _interopRequireDefault(_jquery);
var _vue = __webpack_require__(3);
var _vue2 = _interopRequireDefault(_vue);
var _previewIframe = __webpack_require__(534);
var _previewIframe2 = _interopRequireDefault(_previewIframe);
var _util = __webpack_require__(10);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
// <template>
//
// <div class="yo-preview uk-flex-auto uk-flex uk-position-relative">
// <div class="yo-preview-iframe uk-margin-auto uk-margin-auto-vertical" :class="{[`yo-preview-size-${this.width}`]: this.width}" v-el:preview>
//
// <div class="uk-position-center" uk-spinner v-show="!iframe"></div>
//
// <div class="uk-position-cover uk-position-z-index uk-overlay uk-overlay-default" v-show="overlay"></div>
//
// </div>
// </div>
//
// </template>
//
// <script>
exports.default = {
ref: '$preview',
name: 'preview',
props: ['src'],
data: function data() {
return {
width: '',
iframe: null,
overlay: false
};
},
ready: function ready() {
this.debouncedPost = (0, _debounce4.default)(this.post, 500);
},
methods: {
load: function load(data) {
if (this.staging) {
this.staging.destroy();
this.staging = null;
}
if (this.request) {
this.request.abort();
}
if (this.iframe) {
this.debouncedPost(data);
} else {
this.post(data);
}
},
post: function post(data) {
var _this = this;
var create = function create(response) {
_this.staging = new _vue2.default({ extends: _previewIframe2.default, parent: _this }).$mount().$appendTo(_this.$els.preview);
_this.staging.write(response);
};
this.request = _jquery2.default.post(this.src, { customizer: (0, _util.b64Encode)(JSON.stringify(data)) });
this.request.then(create, function (response) {
if (response.readyState === 4) {
create(response.responseText);
}
});
},
update: function update(e, iframe) {
var _this2 = this;
if (e.type !== 'load') {
this.$trigger(e.type + 'Preview', [e, this, iframe]);
return;
}
if (e.first) {
if (this.staging !== iframe) {
iframe.destroy();
return;
}
if (this.iframe) {
this.iframe.destroy();
}
this.staging = null;
this.iframe = iframe;
try {
// IE 11 throws SecurityError
iframe.window.history.replaceState(null, '', this.src);
} catch (e) {}
(0, _jquery2.default)(iframe.document).scrollTop(this.scroll);
} else {
this.src = iframe.window.location.href;
}
window.history.replaceState(null, '', setParam(window.location.href.toString(), 'site', this.src));
(0, _util.on)(iframe.window, 'mousedown', function (e) {
return requestAnimationFrame(function () {
return iframe.$el && iframe.$el.dispatchEvent(e);
});
});
(0, _util.on)(iframe.window, 'mouseup', function (e) {
return requestAnimationFrame(function () {
return iframe.$el && iframe.$el.dispatchEvent(e);
});
});
(0, _util.on)(iframe.window, 'click', function (e) {
return requestAnimationFrame(function () {
return iframe.$el && iframe.$el.dispatchEvent(e);
});
});
(0, _util.on)(iframe.window, 'scroll', function (_ref) {
var currentTarget = _ref.currentTarget;
return _this2.scroll = currentTarget.scrollY;
});
this.window = iframe.window;
this.document = iframe.document;
this.$trigger('readyPreview', [e, this, iframe.window.$customizer || {}]);
}
},
events: {
loadPreview: {
handler: function handler(data) {
this.load(data);
},
priority: -10
},
reloadPreview: function reloadPreview() {
this.load();
}
}
};
function setParam(uri, key, value) {
return uri.replace(new RegExp('([?&]' + key + '(?=[=&#]|$)[^#&]*|(?=#|$))', 'i'), '&' + key + '=' + encodeURIComponent(value)).replace(/^([^?&]+)&/, '$1?');
}
// </script>
/***/ }),
/***/ 534:
/***/ (function(module, exports, __webpack_require__) {
var __vue_script__, __vue_template__
var __vue_styles__ = {}
__vue_script__ = __webpack_require__(535)
if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
console.warn("[vue-loader] vendor/yootheme/theme/platforms/joomla/app/components/preview-iframe.vue: named exports in *.vue files are ignored.")}
__vue_template__ = __webpack_require__(536)
module.exports = __vue_script__ || {}
if (module.exports.__esModule) module.exports = module.exports.default
var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
if (__vue_template__) {
__vue_options__.template = __vue_template__
}
if (!__vue_options__.computed) __vue_options__.computed = {}
Object.keys(__vue_styles__).forEach(function (key) {
var module = __vue_styles__[key]
__vue_options__.computed[key] = function () { return module }
})
if (false) {(function () { module.hot.accept()
var hotAPI = require("vue-hot-reload-api")
hotAPI.install(require("vue"), false)
if (!hotAPI.compatible) return
var id = "_v-f15048f0/preview-iframe.vue"
if (!module.hot.data) {
hotAPI.createRecord(id, module.exports)
} else {
hotAPI.update(id, module.exports, __vue_template__)
}
})()}
/***/ }),
/***/ 535:
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
var _util = __webpack_require__(10);
exports.default = {
name: 'preview-iframe',
data: function data() {
return {
loaded: false
};
},
ready: function ready() {
(0, _util.on)(this.$el, 'load', this.load);
},
computed: {
window: {
get: function get() {
return this.$el.contentWindow;
},
cache: false
},
document: {
get: function get() {
return this.$el.contentDocument;
},
cache: false
}
},
methods: {
load: function load(e) {
e.first = !this.loaded;
this.loaded = true;
(0, _util.on)(this.window, 'unload', this.unload);
(0, _util.on)(this.window, 'beforeunload', this.beforeUnload);
this.$parent.update(e, this);
},
unload: function unload(e) {
this.$parent && this.$parent.update(e, this);
},
beforeUnload: function beforeUnload(e) {
this.$parent && this.$parent.update(e, this);
return e.returnValue;
},
write: function write(data) {
this.document.open();
this.document.write(data);
this.document.close();
return this;
},
destroy: function destroy() {
if (this.$el) {
(0, _util.off)(this.$el, 'load', this.load);
(0, _util.off)(this.window, 'unload', this.unload);
(0, _util.off)(this.window, 'beforeunload', this.beforeUnload);
}
this.$destroy(true);
}
}
};
// </script>
// <template>
//
// <iframe :style="!loaded ? {zIndex: -1} : false"></iframe>
//
// </template>
//
// <script>
/***/ }),
/***/ 536:
/***/ (function(module, exports) {
module.exports = "\n\n<iframe :style=\"!loaded ? {zIndex: -1} : false\"></iframe>\n\n";
/***/ }),
/***/ 537:
/***/ (function(module, exports) {
module.exports = "\n\n<div class=\"yo-preview uk-flex-auto uk-flex uk-position-relative\">\n <div class=\"yo-preview-iframe uk-margin-auto uk-margin-auto-vertical\" :class=\"{[`yo-preview-size-${this.width}`]: this.width}\" v-el:preview>\n\n <div class=\"uk-position-center\" uk-spinner v-show=\"!iframe\"></div>\n\n <div class=\"uk-position-cover uk-position-z-index uk-overlay uk-overlay-default\" v-show=\"overlay\"></div>\n\n </div>\n</div>\n\n";
/***/ }),
/***/ 538:
/***/ (function(module, exports, __webpack_require__) {
var __vue_script__, __vue_template__
var __vue_styles__ = {}
__vue_script__ = __webpack_require__(539)
if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
console.warn("[vue-loader] vendor/yootheme/theme/platforms/joomla/app/components/sidebar.vue: named exports in *.vue files are ignored.")}
__vue_template__ = __webpack_require__(546)
module.exports = __vue_script__ || {}
if (module.exports.__esModule) module.exports = module.exports.default
var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
if (__vue_template__) {
__vue_options__.template = __vue_template__
}
if (!__vue_options__.computed) __vue_options__.computed = {}
Object.keys(__vue_styles__).forEach(function (key) {
var module = __vue_styles__[key]
__vue_options__.computed[key] = function () { return module }
})
if (false) {(function () { module.hot.accept()
var hotAPI = require("vue-hot-reload-api")
hotAPI.install(require("vue"), false)
if (!hotAPI.compatible) return
var id = "_v-ee193ea6/sidebar.vue"
if (!module.hot.data) {
hotAPI.createRecord(id, module.exports)
} else {
hotAPI.update(id, module.exports, __vue_template__)
}
})()}
/***/ }),
/***/ 539:
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
var _panel = __webpack_require__(540);
var _panel2 = _interopRequireDefault(_panel);
var _previewResize = __webpack_require__(543);
var _previewResize2 = _interopRequireDefault(_previewResize);
var _sidebar = __webpack_require__(150);
var _sidebar2 = _interopRequireDefault(_sidebar);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = {
extends: _sidebar2.default,
props: ['config', 'panels', 'sections'],
data: function data() {
return {
width: 0,
inTransition: false,
spinnerVisible: false,
showSave: true
};
},
computed: {
showSaveButton: function showSaveButton() {
return this.$styler.errors.length === 0 && this.showSave;
},
single: function single() {
return Object.keys(this.sections).length === 1;
},
buttonsDisabled: function buttonsDisabled() {
return this.$styler && this.$styler.updatePending || this.spinnerVisible;
}
},
ready: function ready() {
this.width = this.$els.sidebar.offsetWidth;
if (this.single) {
this.openPanel(Object.keys(this.sections)[0]);
}
},
methods: {
saveConfig: function saveConfig(config) {
var _this = this;
this.spinnerVisible = true;
this.$trigger('saveConfig', config, true).then(function () {
_this.spinnerVisible = false;
});
}
},
transitions: {
close: {
type: 'animation',
enterClass: 'uk-animation-fade',
leaveClass: 'uk-animation-fade',
leave: function leave(el) {
el.classList.add('uk-animation-reverse');
},
afterLeave: function afterLeave(el) {
this.inTransition = this.$app.dirty;
el.classList.remove('uk-animation-reverse');
}
},
fade: {
type: 'animation',
enterClass: 'uk-animation-fade',
leaveClass: 'uk-animation-fade',
leave: function leave(el) {
el.classList.add('uk-animation-reverse');
},
afterLeave: function afterLeave(el) {
el.classList.remove('uk-animation-reverse');
}
}
},
components: {
panel: _panel2.default,
resize: _previewResize2.default
}
};
// </script>
// <template>
//
// <div class="yo-sidebar uk-flex-none" :style="{width: panel && panel.width || ''}">
//
// <div class="yo-sidebar-header">
//
// <div class="yo-sidebar-close uk-flex uk-flex-middle" uk-scrollspy="uk-animation-fade">
// <button class="uk-button uk-button-text uk-button-small uk-animation-fast" type="button" :disabled="!!buttonsDisabled" @click.prevent="$app.close" v-if="!$app.dirty && inTransition === false" transition="close">{{ $trans('Close') }}</button>
// <span class="uk-flex-1 uk-flex uk-flex-middle uk-animation-fast" v-if="$app.dirty && inTransition === true" transition="close">
//
// <button class="uk-button uk-button-text uk-button-small uk-margin-auto-right" type="button" :disabled="!!buttonsDisabled" @click.prevent="$app.cancel" v-confirm="'Are you sure?'" v-if="$app.dirty">{{ $trans('Cancel') }}</button>
// <button class="uk-button uk-button-text uk-button-small uk-margin-auto-right" type="button" :disabled="!!buttonsDisabled" @click.prevent="$app.cancel" v-else>{{ $trans('Cancel') }}</button>
//
// <span class="uk-margin-small-right" uk-spinner="ratio:0.5;" v-if="spinnerVisible"></span>
// <button class="uk-button uk-button-primary uk-button-small" :disabled="!!buttonsDisabled" @click.prevent="saveConfig(config)" v-if="showSaveButton">{{ $trans('Save') }}</button>
//
// </span>
// </div>
//
// <a class="yo-sidebar-breadcrumb uk-h4 uk-flex-inline uk-flex-middle uk-animation-fast" v-if="panel && (!single || stack.length > 1)" transition="fade" @click="closePanel">
// <span class="uk-margin-small-right" uk-icon="breadcrumb"></span>
// <span v-if="panel && panel.parent">{{ panel.parent.title }}</span>
// <span v-else>{{ $trans('Home') }}</span>
// </a>
//
// </div>
//
// <div class="yo-sidebar-content" v-el:sidebar>
//
// <div class="yo-sidebar-section" :style="{width: width + 'px', left: stack.length ? '-100%': '0', visibility: 'visible'}" v-if="!single" v-el:rootsection>
//
// <h1 class="uk-logo yo-sidebar-logo uk-text-center" uk-scrollspy="uk-animation-fade">YOOtheme</h1>
//
// <ul class="uk-nav uk-nav-primary uk-nav-center yo-sidebar-marginless" uk-scrollspy="cls: uk-animation-slide-left-medium; target: > li > a; delay: 100">
// <li v-for="(name, sec) in sections | orderBy ('priority')">
// <a tabindex="0" @click.prevent="openPanel(name)">{{ $trans(sec.title) }}</a>
// </li>
// </ul>
//
// <p class="uk-text-center" v-show="!$app.active">{{ $trans('Theme is not assigned to this page.') }}</p>
//
// </div>
//
// <panel :name="name" :config="sec" :prop-values="config" v-for="(name, sec) in sections" v-ref:sections></panel>
//
// </div>
//
// <div class="yo-sidebar-footer uk-flex uk-flex-center uk-flex-middle">
// <resize></resize>
// </div>
//
// </div>
//
// </template>
//
// <script>
/***/ }),
/***/ 540:
/***/ (function(module, exports, __webpack_require__) {
var __vue_script__, __vue_template__
var __vue_styles__ = {}
__vue_script__ = __webpack_require__(541)
if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
console.warn("[vue-loader] vendor/yootheme/theme/platforms/joomla/app/components/panel.vue: named exports in *.vue files are ignored.")}
__vue_template__ = __webpack_require__(542)
module.exports = __vue_script__ || {}
if (module.exports.__esModule) module.exports = module.exports.default
var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
if (__vue_template__) {
__vue_options__.template = __vue_template__
}
if (!__vue_options__.computed) __vue_options__.computed = {}
Object.keys(__vue_styles__).forEach(function (key) {
var module = __vue_styles__[key]
__vue_options__.computed[key] = function () { return module }
})
if (false) {(function () { module.hot.accept()
var hotAPI = require("vue-hot-reload-api")
hotAPI.install(require("vue"), false)
if (!hotAPI.compatible) return
var id = "_v-a6eeb4d6/panel.vue"
if (!module.hot.data) {
hotAPI.createRecord(id, module.exports)
} else {
hotAPI.update(id, module.exports, __vue_template__)
}
})()}
/***/ }),
/***/ 541:
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
var _panel = __webpack_require__(149);
var _panel2 = _interopRequireDefault(_panel);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = {
extends: _panel2.default
};
// </script>
// <template>
//
// <div class="yo-sidebar-section" :class="config.cls" :style="{width: width}">
//
// <template v-if="config.tabs">
//
// <div class="uk-grid uk-grid-small uk-flex-middle">
// <div class="uk-width-expand">
// <h2 class="yo-sidebar-heading">{{ $trans(title) }}</h2>
// </div>
// <div class="uk-width-auto">
// <ul class="uk-subnav" v-if="config.tabs">
// <li v-for="tab in config.tabs" :class="{'uk-active': $index == index}"><a href="" @click.prevent="index = $index">{{ $trans(tab.title) }}</a></li>
// </ul>
// </div>
// </div>
//
// <div class="yo-sidebar-tabs-content">
// <fields class="yo-sidebar-tabs-section" :style="{width: config.width + 'px', left: $index < index ? '-100%' : ($index === index ? '0' : '100%'), visibility: isVisible($index) ? 'visible' : 'hidden'}" :config="tab.fields" :values="values" v-for="tab in config.tabs"></fields>
// </div>
//
// </template>
//
// <template v-else>
// <h2 class="yo-sidebar-heading" v-if="config.heading !== false">{{ $trans(title) }}</h2>
// <component v-if="$options.components[name]" :is="name" :config="config" :values="values"></component>
// <fields v-else :config="config.fields" :values="values"></fields>
// </template>
//
// </div>
//
// </template>
//
// <script>
/***/ }),
/***/ 542:
/***/ (function(module, exports) {
module.exports = "\n\n<div class=\"yo-sidebar-section\" :class=\"config.cls\" :style=\"{width: width}\">\n\n <template v-if=\"config.tabs\">\n\n <div class=\"uk-grid uk-grid-small uk-flex-middle\">\n <div class=\"uk-width-expand\">\n <h2 class=\"yo-sidebar-heading\">{{ $trans(title) }}</h2>\n </div>\n <div class=\"uk-width-auto\">\n <ul class=\"uk-subnav\" v-if=\"config.tabs\">\n <li v-for=\"tab in config.tabs\" :class=\"{'uk-active': $index == index}\"><a href=\"\" @click.prevent=\"index = $index\">{{ $trans(tab.title) }}</a></li>\n </ul>\n </div>\n </div>\n\n <div class=\"yo-sidebar-tabs-content\">\n <fields class=\"yo-sidebar-tabs-section\" :style=\"{width: config.width + 'px', left: $index < index ? '-100%' : ($index === index ? '0' : '100%'), visibility: isVisible($index) ? 'visible' : 'hidden'}\" :config=\"tab.fields\" :values=\"values\" v-for=\"tab in config.tabs\"></fields>\n </div>\n\n </template>\n\n <template v-else>\n <h2 class=\"yo-sidebar-heading\" v-if=\"config.heading !== false\">{{ $trans(title) }}</h2>\n <component v-if=\"$options.components[name]\" :is=\"name\" :config=\"config\" :values=\"values\"></component>\n <fields v-else :config=\"config.fields\" :values=\"values\"></fields>\n </template>\n\n</div>\n\n";
/***/ }),
/***/ 543:
/***/ (function(module, exports, __webpack_require__) {
var __vue_script__, __vue_template__
var __vue_styles__ = {}
__vue_script__ = __webpack_require__(544)
if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
console.warn("[vue-loader] vendor/yootheme/theme/platforms/joomla/app/components/preview-resize.vue: named exports in *.vue files are ignored.")}
__vue_template__ = __webpack_require__(545)
module.exports = __vue_script__ || {}
if (module.exports.__esModule) module.exports = module.exports.default
var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
if (__vue_template__) {
__vue_options__.template = __vue_template__
}
if (!__vue_options__.computed) __vue_options__.computed = {}
Object.keys(__vue_styles__).forEach(function (key) {
var module = __vue_styles__[key]
__vue_options__.computed[key] = function () { return module }
})
if (false) {(function () { module.hot.accept()
var hotAPI = require("vue-hot-reload-api")
hotAPI.install(require("vue"), false)
if (!hotAPI.compatible) return
var id = "_v-a22b24d0/preview-resize.vue"
if (!module.hot.data) {
hotAPI.createRecord(id, module.exports)
} else {
hotAPI.update(id, module.exports, __vue_template__)
}
})()}
/***/ }),
/***/ 544:
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
var _jquery = __webpack_require__(2);
var _jquery2 = _interopRequireDefault(_jquery);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = {
data: function data() {
return {
size: 'desktop',
sizes: [{ name: 'desktop', width: '' }, { name: 'laptop', width: 'desktop' }, { name: 'tablet', width: 'tablet-portrait' }, { name: 'phone', width: 'phone-portrait' }]
};
},
methods: {
resize: function resize(_ref, _ref2) {
var target = _ref.target;
var name = _ref2.name,
width = _ref2.width;
var link = (0, _jquery2.default)(target).closest('a'),
landscape = link.hasClass('yo-landscape');
if (landscape) {
width = width.replace(/portrait$/, 'landscape');
}
if (width == this.$preview.width) {
width = landscape ? width.replace(/landscape$/, 'portrait') : width.replace(/portrait$/, 'landscape');
}
this.size = name;
this.$preview.width = width;
link.toggleClass('yo-landscape', /landscape$/.test(width));
}
}
};
// </script>
// <template>
//
// <ul class="uk-grid uk-grid-small" uk-scrollspy="cls: uk-animation-slide-bottom-small; target: > li; delay: 100">
// <li :class="{'uk-active': size == s.name}" v-for="s in sizes">
// <a href="" class="uk-icon-link" :icon="s.name" uk-icon @click.prevent="resize($event, s)"></a>
// </li>
// </ul>
//
// </template>
//
// <script>
/***/ }),
/***/ 545:
/***/ (function(module, exports) {
module.exports = "\n\n<ul class=\"uk-grid uk-grid-small\" uk-scrollspy=\"cls: uk-animation-slide-bottom-small; target: > li; delay: 100\">\n <li :class=\"{'uk-active': size == s.name}\" v-for=\"s in sizes\">\n <a href=\"\" class=\"uk-icon-link\" :icon=\"s.name\" uk-icon @click.prevent=\"resize($event, s)\"></a>\n </li>\n</ul>\n\n";
/***/ }),
/***/ 546:
/***/ (function(module, exports) {
module.exports = "\n\n<div class=\"yo-sidebar uk-flex-none\" :style=\"{width: panel && panel.width || ''}\">\n\n <div class=\"yo-sidebar-header\">\n\n <div class=\"yo-sidebar-close uk-flex uk-flex-middle\" uk-scrollspy=\"uk-animation-fade\">\n <button class=\"uk-button uk-button-text uk-button-small uk-animation-fast\" type=\"button\" :disabled=\"!!buttonsDisabled\" @click.prevent=\"$app.close\" v-if=\"!$app.dirty && inTransition === false\" transition=\"close\">{{ $trans('Close') }}</button>\n <span class=\"uk-flex-1 uk-flex uk-flex-middle uk-animation-fast\" v-if=\"$app.dirty && inTransition === true\" transition=\"close\">\n\n <button class=\"uk-button uk-button-text uk-button-small uk-margin-auto-right\" type=\"button\" :disabled=\"!!buttonsDisabled\" @click.prevent=\"$app.cancel\" v-confirm=\"'Are you sure?'\" v-if=\"$app.dirty\">{{ $trans('Cancel') }}</button>\n <button class=\"uk-button uk-button-text uk-button-small uk-margin-auto-right\" type=\"button\" :disabled=\"!!buttonsDisabled\" @click.prevent=\"$app.cancel\" v-else>{{ $trans('Cancel') }}</button>\n\n <span class=\"uk-margin-small-right\" uk-spinner=\"ratio:0.5;\" v-if=\"spinnerVisible\"></span>\n <button class=\"uk-button uk-button-primary uk-button-small\" :disabled=\"!!buttonsDisabled\" @click.prevent=\"saveConfig(config)\" v-if=\"showSaveButton\">{{ $trans('Save') }}</button>\n\n </span>\n </div>\n\n <a class=\"yo-sidebar-breadcrumb uk-h4 uk-flex-inline uk-flex-middle uk-animation-fast\" v-if=\"panel && (!single || stack.length > 1)\" transition=\"fade\" @click=\"closePanel\">\n <span class=\"uk-margin-small-right\" uk-icon=\"breadcrumb\"></span>\n <span v-if=\"panel && panel.parent\">{{ panel.parent.title }}</span>\n <span v-else>{{ $trans('Home') }}</span>\n </a>\n\n </div>\n\n <div class=\"yo-sidebar-content\" v-el:sidebar>\n\n <div class=\"yo-sidebar-section\" :style=\"{width: width + 'px', left: stack.length ? '-100%': '0', visibility: 'visible'}\" v-if=\"!single\" v-el:rootsection>\n\n <h1 class=\"uk-logo yo-sidebar-logo uk-text-center\" uk-scrollspy=\"uk-animation-fade\">YOOtheme</h1>\n\n <ul class=\"uk-nav uk-nav-primary uk-nav-center yo-sidebar-marginless\" uk-scrollspy=\"cls: uk-animation-slide-left-medium; target: > li > a; delay: 100\">\n <li v-for=\"(name, sec) in sections | orderBy ('priority')\">\n <a tabindex=\"0\" @click.prevent=\"openPanel(name)\">{{ $trans(sec.title) }}</a>\n </li>\n </ul>\n\n <p class=\"uk-text-center\" v-show=\"!$app.active\">{{ $trans('Theme is not assigned to this page.') }}</p>\n\n </div>\n\n <panel :name=\"name\" :config=\"sec\" :prop-values=\"config\" v-for=\"(name, sec) in sections\" v-ref:sections></panel>\n\n </div>\n\n <div class=\"yo-sidebar-footer uk-flex uk-flex-center uk-flex-middle\">\n <resize></resize>\n </div>\n\n</div>\n\n";
/***/ }),
/***/ 547:
/***/ (function(module, exports, __webpack_require__) {
var __vue_script__, __vue_template__
var __vue_styles__ = {}
__vue_script__ = __webpack_require__(548)
if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
console.warn("[vue-loader] vendor/yootheme/theme/platforms/joomla/app/components/link-picker.vue: named exports in *.vue files are ignored.")}
__vue_template__ = __webpack_require__(549)
module.exports = __vue_script__ || {}
if (module.exports.__esModule) module.exports = module.exports.default
var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
if (__vue_template__) {
__vue_options__.template = __vue_template__
}
if (!__vue_options__.computed) __vue_options__.computed = {}
Object.keys(__vue_styles__).forEach(function (key) {
var module = __vue_styles__[key]
__vue_options__.computed[key] = function () { return module }
})
if (false) {(function () { module.hot.accept()
var hotAPI = require("vue-hot-reload-api")
hotAPI.install(require("vue"), false)
if (!hotAPI.compatible) return
var id = "_v-c84f67dc/link-picker.vue"
if (!module.hot.data) {
hotAPI.createRecord(id, module.exports)
} else {
hotAPI.update(id, module.exports, __vue_template__)
}
})()}
/***/ }),
/***/ 548:
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
var _jquery = __webpack_require__(2);
var _jquery2 = _interopRequireDefault(_jquery);
var _util = __webpack_require__(10);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
// <template>
//
// <div>
//
// <modal container v-ref:modal>
//
// <div class="uk-modal-header">
// <ul class="uk-tab" uk-switcher="connect: !div +.uk-switcher">
// <li><a href="#">{{ $trans('Articles') }}</a></li>
// <li><a href="#">{{ $trans('Menu items') }}</a></li>
// </ul>
// </div>
//
// <div uk-overflow-auto class="uk-switcher" v-el:overflow>
// <iframe :style="{height: height, width: '100%'}" :src="base + '&option=com_content&view=articles'" v-el:articles></iframe>
// <iframe :style="{height: height, width: '100%'}" :src="base + '&option=com_menus&view=items'" v-el:menus></iframe>
// </div>
//
// <div class="uk-modal-footer uk-text-right">
// <button class="uk-button uk-button-text uk-modal-close uk-margin-right" type="button">{{ $trans('Cancel') }}</button>
// </div>
//
// </modal>
//
// </div>
//
// </template>
//
// <script>
exports.default = {
data: function data() {
return {
height: '500px',
base: 'index.php?layout=modal&tmpl=component&editor=linkpicker&' + window.$customizer.token + '=1'
};
},
methods: {
open: function open() {
var _this = this;
var fn;
this.$refs.modal.open();
if (this.modal) {
return;
}
this.modal = this.$refs.modal.modal;
(0, _jquery2.default)(this.modal.$el).on({
resize: function resize() {
return _this.height = _this.$els.overflow.style.maxHeight;
},
show: function show() {
// wrap Joomla function
fn = window.jInsertEditorText;
window.jModalClose = function () {};
window.jInsertEditorText = function (tag, editor) {
if (editor === 'linkpicker') {
_this.select((0, _jquery2.default)(tag).attr('href'));
} else {
fn(tag, editor);
}
};
},
shown: function shown() {
_this.$els.menus.onload = function () {
_this.$els.menus.contentWindow.Joomla.optionsStorage = { 'xtd-menus': { editor: 'linkpicker' } };
};
_this.$nextTick(function () {
var set = function set(iframe) {
return (0, _util.addStyleRules)(iframe.contentDocument, ['.contentpane { padding: 30px !important }', '.js-stools-container-list { display: none; }']);
};
!_this.$app.admin && [_this.$els.articles, _this.$els.menus].forEach(function (iframe) {
if (iframe.readyState === 'complete') {
set(iframe);
}
(0, _util.on)(iframe, 'load', function () {
return set(iframe);
});
});
});
},
hide: function hide() {
// unwrap Joomla function
window.jInsertEditorText = fn;
fn = null;
}
});
},
select: function select(link) {
this.$emit('select', link);
this.$refs.modal.close();
}
}
};
// </script>
/***/ }),
/***/ 549:
/***/ (function(module, exports) {
module.exports = "\n\n<div>\n\n <modal container v-ref:modal>\n\n <div class=\"uk-modal-header\">\n <ul class=\"uk-tab\" uk-switcher=\"connect: !div +.uk-switcher\">\n <li><a href=\"#\">{{ $trans('Articles') }}</a></li>\n <li><a href=\"#\">{{ $trans('Menu items') }}</a></li>\n </ul>\n </div>\n\n <div uk-overflow-auto class=\"uk-switcher\" v-el:overflow>\n <iframe :style=\"{height: height, width: '100%'}\" :src=\"base + '&option=com_content&view=articles'\" v-el:articles></iframe>\n <iframe :style=\"{height: height, width: '100%'}\" :src=\"base + '&option=com_menus&view=items'\" v-el:menus></iframe>\n </div>\n\n <div class=\"uk-modal-footer uk-text-right\">\n <button class=\"uk-button uk-button-text uk-modal-close uk-margin-right\" type=\"button\">{{ $trans('Cancel') }}</button>\n </div>\n\n </modal>\n\n</div>\n\n";
/***/ }),
/***/ 550:
/***/ (function(module, exports, __webpack_require__) {
var __vue_script__, __vue_template__
var __vue_styles__ = {}
__vue_script__ = __webpack_require__(551)
if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
console.warn("[vue-loader] vendor/yootheme/theme/platforms/joomla/app/components/media-picker.vue: named exports in *.vue files are ignored.")}
__vue_template__ = __webpack_require__(561)
module.exports = __vue_script__ || {}
if (module.exports.__esModule) module.exports = module.exports.default
var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
if (__vue_template__) {
__vue_options__.template = __vue_template__
}
if (!__vue_options__.computed) __vue_options__.computed = {}
Object.keys(__vue_styles__).forEach(function (key) {
var module = __vue_styles__[key]
__vue_options__.computed[key] = function () { return module }
})
if (false) {(function () { module.hot.accept()
var hotAPI = require("vue-hot-reload-api")
hotAPI.install(require("vue"), false)
if (!hotAPI.compatible) return
var id = "_v-55478496/media-picker.vue"
if (!module.hot.data) {
hotAPI.createRecord(id, module.exports)
} else {
hotAPI.update(id, module.exports, __vue_template__)
}
})()}
/***/ }),
/***/ 551:
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }(); // <template>
//
// <div>
//
// <modal container keepalive v-ref:modal>
//
// <div class="uk-modal-header">
//
// <ul uk-tab="connect: !div +ul; animation: uk-animation-fade" :active="initial">
// <li><a href>{{ $trans('Files') }}</a></li>
// <li v-if="showUnsplash"><a href>Unsplash</a></li>
// </ul>
//
// </div>
//
// <ul class="uk-switcher">
// <li @show="mode('finder')">
//
// <div class="uk-modal-body">
// <Finder @selected="update"></Finder>
// </div>
//
// <div class="uk-modal-footer uk-text-right">
// <button class="uk-button uk-button-text uk-modal-close uk-margin-right" type="button">{{ $trans('Cancel') }}</button>
// <button class="uk-button uk-button-primary" type="button" :disabled="!hasSelection" @click.prevent="select(files)">{{ $trans('Select') }}</button>
// </div>
//
// </li>
// <li v-if="showUnsplash" @show="mode('unsplash')">
//
// <div class="uk-modal-body">
// <Unsplash @selected="select"></Unsplash>
// </div>
//
// </li>
// </ul>
//
// </modal>
//
// </div>
//
// </template>
//
// <script>
var _finder = __webpack_require__(552);
var _finder2 = _interopRequireDefault(_finder);
var _unsplash = __webpack_require__(557);
var _unsplash2 = _interopRequireDefault(_unsplash);
var _storage = __webpack_require__(151);
var _storage2 = _interopRequireDefault(_storage);
var _uikitUtil = __webpack_require__(27);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var storageKey = 'field.media-picker.mode';
exports.default = {
props: ['type', 'unsplash'],
data: function data() {
return {
files: [],
initial: 0
};
},
computed: {
hasSelection: function hasSelection() {
return this.files.length === 1 && (!this.type || this.type === 'image' && this.isImage(this.files[0]));
},
showUnsplash: function showUnsplash() {
return this.unsplash && this.type === 'image';
}
},
methods: {
open: function open() {
this.initial = _storage2.default[storageKey] === 'unsplash' && this.showUnsplash ? 1 : 0;
this.$refs.modal.open();
},
select: function select(files) {
var _files = _slicedToArray(files, 1),
src = _files[0];
this.$emit('select', src);
if (_storage2.default[storageKey] === 'unsplash') {
this.$images.add({ src: src });
}
this.$refs.modal.close();
},
update: function update(files) {
this.files = files;
},
isImage: function isImage(url) {
return url.match(/\.(?:gif|jpe?g|png|svg|ico)$/i);
},
mode: function mode(_mode) {
_storage2.default[storageKey] = _mode;
}
},
components: {
Finder: _finder2.default,
Unsplash: _unsplash2.default
}
};
// </script>
/***/ }),
/***/ 552:
/***/ (function(module, exports, __webpack_require__) {
var __vue_script__, __vue_template__
var __vue_styles__ = {}
__vue_script__ = __webpack_require__(553)
if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
console.warn("[vue-loader] vendor/yootheme/theme/platforms/joomla/app/components/finder.vue: named exports in *.vue files are ignored.")}
__vue_template__ = __webpack_require__(556)
module.exports = __vue_script__ || {}
if (module.exports.__esModule) module.exports = module.exports.default
var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
if (__vue_template__) {
__vue_options__.template = __vue_template__
}
if (!__vue_options__.computed) __vue_options__.computed = {}
Object.keys(__vue_styles__).forEach(function (key) {
var module = __vue_styles__[key]
__vue_options__.computed[key] = function () { return module }
})
if (false) {(function () { module.hot.accept()
var hotAPI = require("vue-hot-reload-api")
hotAPI.install(require("vue"), false)
if (!hotAPI.compatible) return
var id = "_v-82d30836/finder.vue"
if (!module.hot.data) {
hotAPI.createRecord(id, module.exports)
} else {
hotAPI.update(id, module.exports, __vue_template__)
}
})()}
/***/ }),
/***/ 553:
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
var _filter3 = __webpack_require__(33);
var _filter4 = _interopRequireDefault(_filter3);
var _find3 = __webpack_require__(25);
var _find4 = _interopRequireDefault(_find3);
var _jquery = __webpack_require__(2);
var _jquery2 = _interopRequireDefault(_jquery);
var _table = __webpack_require__(554);
var _table2 = _interopRequireDefault(_table);
var _thumbnail = __webpack_require__(555);
var _thumbnail2 = _interopRequireDefault(_thumbnail);
var _storage = __webpack_require__(151);
var _storage2 = _interopRequireDefault(_storage);
var _uikit = __webpack_require__(16);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var storagePath = 'field.finder.path'; // <template>
//
// <div v-show="items">
//
// <div class="uk-child-width-auto uk-flex-between uk-flex-middle" uk-grid>
// <div>
//
// <div class="uk-grid-small uk-child-width-auto uk-flex-middle" uk-grid>
// <div>
//
// <h2 class="uk-modal-title uk-margin-remove" v-show="!selected.length">{{ $transChoice('{0} %count% Files|{1} %count% File|]1,Inf[ %count% Files', count, {count: count}) }}</h2>
// <h2 class="uk-modal-title uk-margin-remove" v-else>{{ $transChoice('{1} %count% File selected|]1,Inf[ %count% Files selected', selected.length, {count: selected.length}) }}</h2>
//
// </div>
// <div v-show="selected.length && canDelete">
//
// <a class="uk-icon-link" :title="$trans('Delete')" uk-icon="trash" uk-tooltip="delay: 500" @click.prevent="remove" v-confirm="$trans('Delete files?')"></a>
//
// </div>
// <div>
//
// <div class="yo-finder-search">
// <form class="uk-search uk-search-navbar">
// <span uk-search-icon></span>
// <input class="uk-search-input" type="search" v-model="search">
// </form>
// </div>
//
// </div>
// </div>
//
// </div>
// <div>
//
// <div class="uk-grid-medium uk-child-width-auto uk-flex-middle" uk-grid>
// <div>
//
// <ul class="uk-grid-small uk-child-width-auto" uk-grid>
// <li :class="{'uk-active': view == 'table'}">
// <a class="uk-icon-link" :title="$trans('Table')" uk-icon="table" uk-tooltip="delay: 500" @click.prevent="setView('table')"></a>
// </li>
// <li class="{'uk-active': view == 'thumbnail'}">
// <a class="uk-icon-link" :title="$trans('Thumbnails')" uk-icon="thumbnails" uk-tooltip="delay: 500" @click.prevent="setView('thumbnail')"></a>
// </li>
// </ul>
//
// </div>
// <div v-show="canCreate">
//
// <button class="uk-button uk-button-default uk-margin-small-right" @click.prevent="createFolder()">{{ $trans('Add Folder') }}</button>
//
// <div uk-form-custom>
// <input type="file" name="files[]" multiple="multiple">
// <button class="uk-button uk-button-default">{{ $trans('Upload') }}</button>
// </div>
//
// </div>
// </div>
//
// </div>
// </div>
//
// <ul class="uk-breadcrumb">
// <li v-for="bc in breadcrumbs" :class="{'uk-active': bc.current}">
// <span v-show="bc.current">{{ bc.title }}</span>
// <a v-else @click.prevent="setPath(bc.path)">{{ bc.title }}</a>
// </li>
// </ul>
//
// <progress class="uk-progress uk-margin-remove" hidden="hidden" v-el:bar></progress>
//
// <div class="yo-finder-body" uk-overflow-auto v-if="count">
// <partial :name="view"></partial>
// </div>
//
// <h3 class="uk-h1 uk-text-muted uk-text-center" v-else>{{ $trans('No files found.') }}</h3>
//
// </div>
//
// </template>
//
// <script>
var storageView = 'field.finder.view';
exports.default = {
name: 'finder',
props: {
root: {
type: String,
default: function _default() {
return '/' + window.$customizer.media.path.replace(/^\/+|\/+$/g, '');
}
},
path: {
type: String,
default: function _default() {
return _storage2.default[storagePath] || '/';
}
},
view: {
type: String,
default: function _default() {
return _storage2.default[storageView] || 'table';
}
},
canCreate: {
type: String,
default: function _default() {
return window.$customizer.media.canCreate;
}
},
canDelete: {
type: String,
default: function _default() {
return window.$customizer.media.canDelete;
}
}
},
data: function data() {
return {
token: window.$customizer.token,
selected: [],
items: false,
search: ''
};
},
created: function created() {
this.load();
},
ready: function ready() {
var _this = this;
var bar = this.$els.bar;
this.canCreate && (0, _uikit.upload)(this.$el, {
multiple: true,
name: 'Filedata[]',
allow: '*.(jpeg|jpg|gif|png|svg|mp3|ogg|wav|mp4|ogv|webm|pdf)',
beforeAll: function beforeAll(settings) {
settings.url = _this.resource.url({ task: 'file.upload', tmpl: 'component', format: 'html', folder: _this.path }, true);
},
loadStart: function loadStart(e) {
bar.removeAttribute('hidden');
bar.max = e.total;
bar.value = e.loaded;
},
progress: function progress(e) {
bar.max = e.total;
bar.value = e.loaded;
},
loadEnd: function loadEnd(e) {
bar.max = e.total;
bar.value = e.loaded;
},
completeAll: function completeAll(_ref) {
var responseText = _ref.responseText;
_this.load().then(function () {
return bar.setAttribute('hidden', 'hidden');
});
try {
(0, _jquery2.default)(responseText).find('.alert-message').each(function (_, el) {
return _this.$notify((0, _jquery2.default)(el).text(), (0, _jquery2.default)(el).closest('.alert-success').length ? 'success' : 'danger');
});
} catch (e) {
_this.$notify(responseText, 'danger');
}
}
});
},
watch: {
path: function path() {
this.load();
this.search = '';
},
search: function search() {
var _this2 = this;
this.selected = (0, _filter4.default)(this.selected, function (name) {
return (0, _find4.default)(_this2.searched, { name: name });
});
},
selected: function selected(_selected) {
var _this3 = this;
this.$emit('selected', _selected.map(function (name) {
return (0, _find4.default)(_this3.items, { name: name }).url;
}));
}
},
computed: {
breadcrumbs: function breadcrumbs() {
var path = '',
crumbs = [{ path: '/', title: this.$trans('Home') }].concat(this.path.split('/').filter(function (str) {
return str.length;
}).map(function (part) {
return { path: path += '/' + part, title: part };
}));
crumbs[crumbs.length - 1].current = true;
return crumbs;
},
searched: function searched() {
var _this4 = this;
return (0, _filter4.default)(this.items, function (file) {
return !_this4.search || ~file.name.toLowerCase().indexOf(_this4.search.toLowerCase());
});
},
count: function count() {
return this.searched.length;
},
resource: function resource() {
var _this5 = this;
var base = window.$customizer.root + '/index.php?option=com_media&asset=com_media',
url = function url(data, token) {
if (token) {
data[_this5.token] = 1;
}
return base + '&' + _jquery2.default.param(data);
};
return {
url: url,
get: function get(data, success) {
return _this5.$http.get(url(data)).then(success);
},
post: function post(data, success) {
data[_this5.token] = 1;
return _this5.$http.post(base, data, { emulateJSON: true }).then(success);
}
};
}
},
methods: {
/**
* API
*/
setView: function setView(view) {
this.view = _storage2.default[storageView] = view;
},
setPath: function setPath(path) {
this.path = _storage2.default[storagePath] = path;
},
getPath: function getPath() {
return this.path;
},
getFullPath: function getFullPath() {
return (this.getRoot() + this.getPath()).replace(/^\/+|\/+$/g, '') + '/';
},
getRoot: function getRoot() {
return this.root.replace(/^\/+|\/+$/g, '');
},
removeSelection: function removeSelection() {
this.selected = [];
},
toggleSelect: function toggleSelect(name) {
var index = this.selected.indexOf(name);
~index ? this.selected.splice(index, 1) : this.selected.push(name);
},
isSelected: function isSelected(name) {
return name && ~this.selected.indexOf(name.toString());
},
createFolder: function createFolder() {
var _this6 = this;
_uikit.modal.prompt(this.$trans('Folder Name'), '', { stack: true }).then(function (name) {
if (name) {
_this6.command('folder.create', { foldername: name, folderbase: _this6.path });
}
});
},
remove: function remove(names) {
if (names.target) {
names = this.selected;
}
if (names) {
this.command('folder.delete', { folder: this.path, rm: names });
}
},
/**
* Helper functions
*/
encodeURI: function (_encodeURI) {
function encodeURI(_x) {
return _encodeURI.apply(this, arguments);
}
encodeURI.toString = function () {
return _encodeURI.toString();
};
return encodeURI;
}(function (url) {
return encodeURI(url).replace(/'/g, '%27');
}),
isImage: function isImage(url) {
return url.match(/\.(?:gif|jpe?g|png|svg|ico)$/i);
},
isVideo: function isVideo(url) {
return url.match(/\.(mpeg|ogv|mp4|webm|wmv)$/i);
},
command: function command(cmd, params) {
var _this7 = this;
return this.resource.post(_jquery2.default.extend({ task: cmd }, params)).then(function (_ref2) {
var body = _ref2.body;
var msg = (0, _jquery2.default)(body).find('.alert');
msg.find('.alert-message').length && _this7.$notify(msg.find('.alert-message').text(), msg.hasClass('alert-success') ? '' : 'danger');
_this7.load();
}, function (_ref3) {
var body = _ref3.body,
status = _ref3.status;
if (body.indexOf('<!DOCTYPE') !== 0) {
_this7.$notify(status === 500 ? 'Unknown error.' : body, 'danger');
}
_this7.load();
});
},
load: function load() {
var _this8 = this;
return this.$http.get('finder', { params: { folder: this.path } }).then(function (_ref4) {
var data = _ref4.data;
_this8.items = data;
_this8.selected = [];
}, function () {
return _this8.$notify('Unable to access directory.', 'danger');
});
}
},
partials: {
table: _table2.default,
thumbnail: _thumbnail2.default
}
};
// </script>
/***/ }),
/***/ 554:
/***/ (function(module, exports) {
module.exports = "<table class=\"uk-table uk-table-divider uk-table-hover uk-table-middle\">\n <thead>\n <th class=\"uk-table-shrink\"><input class=\"uk-checkbox\" type=\"checkbox\" v-check-all:selected.literal=\"input[name=name]\"></th>\n <th colspan=\"2\">{{ $trans('Name') }}</th>\n <th class=\"uk-table-shrink uk-text-center\">{{ $trans('Size') }}</th>\n </thead>\n <tbody>\n\n <tr v-for=\"folder in searched | filterBy 'folder' in 'type'\" class=\"uk-visible-hover\" :class=\"{'uk-active': isSelected(folder.name)}\" @click.prevent=\"toggleSelect(folder.name)\">\n <td><input class=\"uk-checkbox\" type=\"checkbox\" name=\"name\" :value=\"folder.name\" v-model=\"selected\" @click.stop></td>\n <td class=\"uk-table-shrink\">\n <span class=\"uk-preserve-width\" uk-icon=\"finder-folder\"></span>\n </td>\n <td class=\"uk-table-expand uk-text-break\"><a @click.stop=\"setPath(folder.path)\">{{ folder.name }}</a></td>\n <td></td>\n </tr>\n\n <tr v-for=\"file in searched | filterBy 'file' in 'type'\" class=\"uk-visible-hover\" :class=\"{'uk-active': isSelected(file.name)}\" @click.prevent=\"toggleSelect(file.name)\">\n <td><input class=\"uk-checkbox\" type=\"checkbox\" name=\"name\" :value=\"file.name\" v-model=\"selected\" @click.stop></td>\n <td class=\"uk-table-shrink\">\n <span v-if=\"isImage(file.url)\" class=\"uk-icon uk-icon-image\" v-lazy-background=\"$url(file.url)\"></span>\n <span uk-icon=\"finder-file\" v-else></span>\n </td>\n <td class=\"uk-table-expand uk-text-break\">{{ file.name }}</td>\n <td class=\"uk-text-right uk-text-nowrap\">{{ file.size }}</td>\n </tr>\n\n </tbody>\n</table>\n";
/***/ }),
/***/ 555:
/***/ (function(module, exports) {
module.exports = "<ul v-if=\"items.length\" class=\"uk-grid-medium uk-grid-match uk-child-width-1-2@s uk-child-width-1-3@l uk-child-width-1-4@xl\" uk-grid>\n\n <li v-for=\"folder in searched | filterBy 'folder' in 'type'\">\n <div class=\"uk-card uk-card-default uk-card-small\" @click.prevent=\"toggleSelect(folder.name)\">\n <div class=\"uk-card-media-top uk-position-relative\">\n <div class=\"uk-background-cover uk-position-cover yo-finder-thumbnail-folder\"></div>\n <canvas width=\"800\" height=\"550\"></canvas>\n </div>\n <div class=\"uk-card-body uk-text-center uk-text-truncate uk-text-nowrap\">\n <input class=\"uk-checkbox\" type=\"checkbox\" :value=\"folder.name\" v-model=\"selected\" @click.stop>\n <a @click.stop=\"setPath(folder.path, $event)\">{{ folder.name }}</a>\n </div>\n </div>\n </li>\n\n <li v-for=\"file in searched | filterBy 'file' in 'type'\">\n <div class=\"uk-card uk-card-default uk-card-small\" @click.prevent=\"toggleSelect(file.name)\">\n <div class=\"uk-card-media-top uk-position-relative\">\n <div class=\"uk-background-contain uk-position-cover\" v-if=\"isImage(file.path)\" v-lazy-background=\"$url(file.url)\"></div>\n <div class=\"uk-background-cover uk-position-cover yo-finder-thumbnail-file\" v-else></div>\n <canvas width=\"800\" height=\"550\"></canvas>\n </div>\n <div class=\"uk-card-body uk-text-center uk-text-truncate uk-text-nowrap\">\n <input class=\"uk-checkbox\" type=\"checkbox\" :value=\"file.name\" v-model=\"selected\" @click.stop>\n {{ file.name }}\n </div>\n </div>\n </li>\n\n</ul>\n";
/***/ }),
/***/ 556:
/***/ (function(module, exports) {
module.exports = "\n\n<div v-show=\"items\">\n\n <div class=\"uk-child-width-auto uk-flex-between uk-flex-middle\" uk-grid>\n <div>\n\n <div class=\"uk-grid-small uk-child-width-auto uk-flex-middle\" uk-grid>\n <div>\n\n <h2 class=\"uk-modal-title uk-margin-remove\" v-show=\"!selected.length\">{{ $transChoice('{0} %count% Files|{1} %count% File|]1,Inf[ %count% Files', count, {count: count}) }}</h2>\n <h2 class=\"uk-modal-title uk-margin-remove\" v-else>{{ $transChoice('{1} %count% File selected|]1,Inf[ %count% Files selected', selected.length, {count: selected.length}) }}</h2>\n\n </div>\n <div v-show=\"selected.length && canDelete\">\n\n <a class=\"uk-icon-link\" :title=\"$trans('Delete')\" uk-icon=\"trash\" uk-tooltip=\"delay: 500\" @click.prevent=\"remove\" v-confirm=\"$trans('Delete files?')\"></a>\n\n </div>\n <div>\n\n <div class=\"yo-finder-search\">\n <form class=\"uk-search uk-search-navbar\">\n <span uk-search-icon></span>\n <input class=\"uk-search-input\" type=\"search\" v-model=\"search\">\n </form>\n </div>\n\n </div>\n </div>\n\n </div>\n <div>\n\n <div class=\"uk-grid-medium uk-child-width-auto uk-flex-middle\" uk-grid>\n <div>\n\n <ul class=\"uk-grid-small uk-child-width-auto\" uk-grid>\n <li :class=\"{'uk-active': view == 'table'}\">\n <a class=\"uk-icon-link\" :title=\"$trans('Table')\" uk-icon=\"table\" uk-tooltip=\"delay: 500\" @click.prevent=\"setView('table')\"></a>\n </li>\n <li class=\"{'uk-active': view == 'thumbnail'}\">\n <a class=\"uk-icon-link\" :title=\"$trans('Thumbnails')\" uk-icon=\"thumbnails\" uk-tooltip=\"delay: 500\" @click.prevent=\"setView('thumbnail')\"></a>\n </li>\n </ul>\n\n </div>\n <div v-show=\"canCreate\">\n\n <button class=\"uk-button uk-button-default uk-margin-small-right\" @click.prevent=\"createFolder()\">{{ $trans('Add Folder') }}</button>\n\n <div uk-form-custom>\n <input type=\"file\" name=\"files[]\" multiple=\"multiple\">\n <button class=\"uk-button uk-button-default\">{{ $trans('Upload') }}</button>\n </div>\n\n </div>\n </div>\n\n </div>\n </div>\n\n <ul class=\"uk-breadcrumb\">\n <li v-for=\"bc in breadcrumbs\" :class=\"{'uk-active': bc.current}\">\n <span v-show=\"bc.current\">{{ bc.title }}</span>\n <a v-else @click.prevent=\"setPath(bc.path)\">{{ bc.title }}</a>\n </li>\n </ul>\n\n <progress class=\"uk-progress uk-margin-remove\" hidden=\"hidden\" v-el:bar></progress>\n\n <div class=\"yo-finder-body\" uk-overflow-auto v-if=\"count\">\n <partial :name=\"view\"></partial>\n </div>\n\n <h3 class=\"uk-h1 uk-text-muted uk-text-center\" v-else>{{ $trans('No files found.') }}</h3>\n\n</div>\n\n";
/***/ }),
/***/ 557:
/***/ (function(module, exports, __webpack_require__) {
var __vue_script__, __vue_template__
var __vue_styles__ = {}
__vue_script__ = __webpack_require__(558)
if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
console.warn("[vue-loader] vendor/yootheme/theme/platforms/joomla/app/components/unsplash.vue: named exports in *.vue files are ignored.")}
__vue_template__ = __webpack_require__(560)
module.exports = __vue_script__ || {}
if (module.exports.__esModule) module.exports = module.exports.default
var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
if (__vue_template__) {
__vue_options__.template = __vue_template__
}
if (!__vue_options__.computed) __vue_options__.computed = {}
Object.keys(__vue_styles__).forEach(function (key) {
var module = __vue_styles__[key]
__vue_options__.computed[key] = function () { return module }
})
if (false) {(function () { module.hot.accept()
var hotAPI = require("vue-hot-reload-api")
hotAPI.install(require("vue"), false)
if (!hotAPI.compatible) return
var id = "_v-50231b3f/unsplash.vue"
if (!module.hot.data) {
hotAPI.createRecord(id, module.exports)
} else {
hotAPI.update(id, module.exports, __vue_template__)
}
})()}
/***/ }),
/***/ 558:
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
var _unsplash = __webpack_require__(152);
var _unsplash2 = _interopRequireDefault(_unsplash);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = _unsplash2.default;
// </script>
// <template>
//
// <div class="yo-min-height-small uk-position-relative">
//
// <div class="uk-child-width-auto uk-flex-between uk-flex-middle uk-margin" uk-grid>
// <div>
//
// <div class="uk-grid-small uk-child-width-auto uk-flex-middle" uk-grid>
// <div>
//
// <h2 class="uk-modal-title uk-margin-remove">{{ title }}</h2>
//
// </div>
// <div>
//
// <div class="yo-finder-search">
// <div class="uk-search uk-search-navbar">
// <span uk-search-icon></span>
// <input class="uk-search-input" type="search" v-model="search" @keydown.enter="reset()" debounce="500">
// </div>
// </div>
//
// </div>
// </div>
//
// </div>
// <div>
//
// <ul class="uk-subnav uk-subnav-divider uk-flex-center uk-margin" uk-margin>
// <li :class="{'uk-active': type === 'photos' && !user && !collection}"><a href @click.prevent="reset('photos')">{{ $trans('Photos') }}</a></li>
// <li :class="{'uk-active': type === 'collections' && !user || collection}"><a href @click.prevent="reset('collections')">{{ $trans('Collections') }}</a></li>
// <li :class="{'uk-active': type === 'users' && !collection || user}"><a href @click.prevent="reset('users')">{{ $trans('Users') }}</a></li>
// </ul>
//
// </div>
// </div>
//
// <div v-if="result.collection" class="uk-margin">
// <h3 class="uk-display-inline-block uk-margin-remove">{{ result.collection.title }}</h3>
// <span class="uk-margin-left" @click.prevent="user = result.collection.user">{{{ $trans('Curated by <a>%user%</a>', {user: result.collection.user.name}) }}}</span>
// </div>
//
// <div v-if="result.user" class="uk-grid uk-grid-medium uk-child-width-auto uk-flex-middle uk-margin">
// <div>
//
// <div class="uk-flex uk-flex-middle">
// <img class="uk-border-circle" :data-src="result.user.image" width="30" height="30" alt="{{ result.user.name }}" uk-img>
// <h3 class="uk-h4 uk-margin-remove-vertical uk-margin-small-left">{{ result.user.name }}</h3>
// </div>
//
// </div>
// <div>
//
// <ul class="uk-subnav">
// <li :class="{'uk-active': type === 'photos'}"><a href @click.prevent="type = 'photos'">{{ $trans('Photos') }}</a></li>
// <li :class="{'uk-active': type === 'collections'}"><a href @click.prevent="type = 'collections'">{{ $trans('Collections') }}</a></li>
// </ul>
//
// </div>
// </div>
//
// <div class="yo-finder-body" uk-overflow-auto v-show="result && result.total" v-el:scroll>
//
// <div :style="{opacity: spinner ? .3 : 1}">
//
// <ul class="uk-grid uk-grid-medium" :class="{'uk-child-width-1-2@s uk-child-width-1-3@m uk-child-width-1-4@l uk-child-width-1-5@xl': result.users, 'uk-child-width-1-2@s uk-child-width-1-3@m': !(result.users)}" :masonry="(result.type === 'photos').toString()" uk-grid>
// <li v-for="photo in result.photos" track-by="id">
//
// <div class="uk-inline uk-box-shadow-medium uk-box-shadow-hover-large uk-transition-toggle uk-light">
//
// <img :data-src="photo.urls.regular" :data-srcset="photo.urls.raw+'&auto=format&fit=crop&w=600&q=60 600w, '+photo.urls.raw+'&auto=format&fit=crop&w=1200&q=60 1200w'" :data-width="photo.width" sizes="(min-width: 600px) 600px" :data-height="photo.height" uk-img>
//
// <div class="yo-overlay-image uk-position-cover uk-transition-fade"></div>
//
// <a class="uk-position-cover" href @click.prevent="select(photo)"></a>
//
// <div class="uk-position-bottom-left uk-position-small uk-transition-fade">
// <ul class="uk-subnav uk-subnav-divider yo-subnav uk-margin-remove">
// <li>
// <img class="uk-border-circle" :data-src="photo.user.image" width="30" height="30" alt="{{ photo.user.name }}" uk-img>
// <a class="uk-margin-small-left" :href="photo.user.link" target="_blank">{{ photo.user.name }}</a>
// </li>
// <li><a href @click.prevent="user = photo.user">{{ $trans('View Photos') }}</a></li>
// </ul>
// </div>
//
// </div>
//
// </li>
// <li v-for="coll in result.collections" track-by="id">
//
// <div class="uk-inline-clip uk-box-shadow-medium uk-box-shadow-hover-large uk-transition-toggle">
//
// <div class="uk-grid yo-grid-xsmall uk-grid-match">
// <div class="uk-width-2-3">
// <div class="uk-panel uk-overflow-hidden">
// <img :src="coll.previewPhotos[0].regular" :srcset="coll.previewPhotos[0].raw+'&auto=format&fit=crop&w=600&q=60 600w, '+coll.previewPhotos[0].raw+'&auto=format&fit=crop&w=1200&q=60 1200w'" sizes="(min-width: 600px) 600px" uk-cover>
// </div>
// </div>
// <div class="uk-width-1-3">
//
// <div class="uk-grid yo-grid-xsmall yo-grid-xsmall-stack uk-child-width-1-1">
// <div>
// <div class="uk-panel uk-overflow-hidden">
// <canvas width="500" height="600"></canvas>
// <img :src="coll.previewPhotos[1].small" uk-cover v-if="coll.previewPhotos[1]">
// </div>
// </div>
// <div>
// <div class="uk-panel uk-overflow-hidden">
// <canvas width="500" height="600"></canvas>
// <img :src="coll.previewPhotos[2].small" uk-cover v-if="coll.previewPhotos[2]">
// </div>
// </div>
// </div>
//
// </div>
// </div>
//
// <a class="uk-position-cover" href="#" @click.prevent="collection = coll"></a>
//
// </div>
//
// <h3 class="uk-h4 uk-margin-top uk-margin-remove-bottom">{{ coll.title }}</h3>
// <span @click.prevent="user = coll.user">{{ $transChoice('{0} %total% Photos|{1} %total% Photo|]1, Inf[ %total% Photos', coll.totalPhotos, {total: coll.totalPhotos}) }} · {{{ $trans('Curated by <a>%user%</a>', {user: coll.user.name}) }}}</span>
//
// </li>
// <li v-for="u in result.users" track-by="id">
//
// <a class="uk-grid uk-grid-small uk-flex-middle uk-link-text" href @click.prevent="user = u">
// <div class="uk-width-auto">
//
// <img class="uk-border-circle" :data-src="u.image" width="80" height="80" alt="{{ u.name }}" uk-img>
//
// </div>
// <div class="uk-width-expand">
//
// <h3 class="uk-h4 uk-margin-remove uk-text-break">{{ u.name }}</h3>
// <p class="uk-margin-remove-top uk-text-break">{{ `@${u.username}` }}</p>
// </div>
// </a>
//
// </li>
// </ul>
//
// </div>
//
// </div>
//
// <h3 class="uk-h1 uk-text-danger uk-text-center" v-if="error">{{ $trans(error) }}</h3>
//
// <div class="uk-position-center" v-if="spinner" uk-spinner="ratio: 1.5"></div>
//
// <h3 class="uk-h1 uk-text-muted uk-text-center" v-if="!spinner && result && !result.total">{{ $trans('No results.') }}</h3>
//
// </div>
//
// </template>
//
// <script>
/***/ }),
/***/ 560:
/***/ (function(module, exports) {
module.exports = "\n\n<div class=\"yo-min-height-small uk-position-relative\">\n\n <div class=\"uk-child-width-auto uk-flex-between uk-flex-middle uk-margin\" uk-grid>\n <div>\n\n <div class=\"uk-grid-small uk-child-width-auto uk-flex-middle\" uk-grid>\n <div>\n\n <h2 class=\"uk-modal-title uk-margin-remove\">{{ title }}</h2>\n\n </div>\n <div>\n\n <div class=\"yo-finder-search\">\n <div class=\"uk-search uk-search-navbar\">\n <span uk-search-icon></span>\n <input class=\"uk-search-input\" type=\"search\" v-model=\"search\" @keydown.enter=\"reset()\" debounce=\"500\">\n </div>\n </div>\n\n </div>\n </div>\n\n </div>\n <div>\n\n <ul class=\"uk-subnav uk-subnav-divider uk-flex-center uk-margin\" uk-margin>\n <li :class=\"{'uk-active': type === 'photos' && !user && !collection}\"><a href @click.prevent=\"reset('photos')\">{{ $trans('Photos') }}</a></li>\n <li :class=\"{'uk-active': type === 'collections' && !user || collection}\"><a href @click.prevent=\"reset('collections')\">{{ $trans('Collections') }}</a></li>\n <li :class=\"{'uk-active': type === 'users' && !collection || user}\"><a href @click.prevent=\"reset('users')\">{{ $trans('Users') }}</a></li>\n </ul>\n\n </div>\n </div>\n\n <div v-if=\"result.collection\" class=\"uk-margin\">\n <h3 class=\"uk-display-inline-block uk-margin-remove\">{{ result.collection.title }}</h3>\n <span class=\"uk-margin-left\" @click.prevent=\"user = result.collection.user\">{{{ $trans('Curated by <a>%user%</a>', {user: result.collection.user.name}) }}}</span>\n </div>\n\n <div v-if=\"result.user\" class=\"uk-grid uk-grid-medium uk-child-width-auto uk-flex-middle uk-margin\">\n <div>\n\n <div class=\"uk-flex uk-flex-middle\">\n <img class=\"uk-border-circle\" :data-src=\"result.user.image\" width=\"30\" height=\"30\" alt=\"{{ result.user.name }}\" uk-img>\n <h3 class=\"uk-h4 uk-margin-remove-vertical uk-margin-small-left\">{{ result.user.name }}</h3>\n </div>\n\n </div>\n <div>\n\n <ul class=\"uk-subnav\">\n <li :class=\"{'uk-active': type === 'photos'}\"><a href @click.prevent=\"type = 'photos'\">{{ $trans('Photos') }}</a></li>\n <li :class=\"{'uk-active': type === 'collections'}\"><a href @click.prevent=\"type = 'collections'\">{{ $trans('Collections') }}</a></li>\n </ul>\n\n </div>\n </div>\n\n <div class=\"yo-finder-body\" uk-overflow-auto v-show=\"result && result.total\" v-el:scroll>\n\n <div :style=\"{opacity: spinner ? .3 : 1}\">\n\n <ul class=\"uk-grid uk-grid-medium\" :class=\"{'uk-child-width-1-2@s uk-child-width-1-3@m uk-child-width-1-4@l uk-child-width-1-5@xl': result.users, 'uk-child-width-1-2@s uk-child-width-1-3@m': !(result.users)}\" :masonry=\"(result.type === 'photos').toString()\" uk-grid>\n <li v-for=\"photo in result.photos\" track-by=\"id\">\n\n <div class=\"uk-inline uk-box-shadow-medium uk-box-shadow-hover-large uk-transition-toggle uk-light\">\n\n <img :data-src=\"photo.urls.regular\" :data-srcset=\"photo.urls.raw+'&auto=format&fit=crop&w=600&q=60 600w, '+photo.urls.raw+'&auto=format&fit=crop&w=1200&q=60 1200w'\" :data-width=\"photo.width\" sizes=\"(min-width: 600px) 600px\" :data-height=\"photo.height\" uk-img>\n\n <div class=\"yo-overlay-image uk-position-cover uk-transition-fade\"></div>\n\n <a class=\"uk-position-cover\" href @click.prevent=\"select(photo)\"></a>\n\n <div class=\"uk-position-bottom-left uk-position-small uk-transition-fade\">\n <ul class=\"uk-subnav uk-subnav-divider yo-subnav uk-margin-remove\">\n <li>\n <img class=\"uk-border-circle\" :data-src=\"photo.user.image\" width=\"30\" height=\"30\" alt=\"{{ photo.user.name }}\" uk-img>\n <a class=\"uk-margin-small-left\" :href=\"photo.user.link\" target=\"_blank\">{{ photo.user.name }}</a>\n </li>\n <li><a href @click.prevent=\"user = photo.user\">{{ $trans('View Photos') }}</a></li>\n </ul>\n </div>\n\n </div>\n\n </li>\n <li v-for=\"coll in result.collections\" track-by=\"id\">\n\n <div class=\"uk-inline-clip uk-box-shadow-medium uk-box-shadow-hover-large uk-transition-toggle\">\n\n <div class=\"uk-grid yo-grid-xsmall uk-grid-match\">\n <div class=\"uk-width-2-3\">\n <div class=\"uk-panel uk-overflow-hidden\">\n <img :src=\"coll.previewPhotos[0].regular\" :srcset=\"coll.previewPhotos[0].raw+'&auto=format&fit=crop&w=600&q=60 600w, '+coll.previewPhotos[0].raw+'&auto=format&fit=crop&w=1200&q=60 1200w'\" sizes=\"(min-width: 600px) 600px\" uk-cover>\n </div>\n </div>\n <div class=\"uk-width-1-3\">\n\n <div class=\"uk-grid yo-grid-xsmall yo-grid-xsmall-stack uk-child-width-1-1\">\n <div>\n <div class=\"uk-panel uk-overflow-hidden\">\n <canvas width=\"500\" height=\"600\"></canvas>\n <img :src=\"coll.previewPhotos[1].small\" uk-cover v-if=\"coll.previewPhotos[1]\">\n </div>\n </div>\n <div>\n <div class=\"uk-panel uk-overflow-hidden\">\n <canvas width=\"500\" height=\"600\"></canvas>\n <img :src=\"coll.previewPhotos[2].small\" uk-cover v-if=\"coll.previewPhotos[2]\">\n </div>\n </div>\n </div>\n\n </div>\n </div>\n\n <a class=\"uk-position-cover\" href=\"#\" @click.prevent=\"collection = coll\"></a>\n\n </div>\n\n <h3 class=\"uk-h4 uk-margin-top uk-margin-remove-bottom\">{{ coll.title }}</h3>\n <span @click.prevent=\"user = coll.user\">{{ $transChoice('{0} %total% Photos|{1} %total% Photo|]1, Inf[ %total% Photos', coll.totalPhotos, {total: coll.totalPhotos}) }} · {{{ $trans('Curated by <a>%user%</a>', {user: coll.user.name}) }}}</span>\n\n </li>\n <li v-for=\"u in result.users\" track-by=\"id\">\n\n <a class=\"uk-grid uk-grid-small uk-flex-middle uk-link-text\" href @click.prevent=\"user = u\">\n <div class=\"uk-width-auto\">\n\n <img class=\"uk-border-circle\" :data-src=\"u.image\" width=\"80\" height=\"80\" alt=\"{{ u.name }}\" uk-img>\n\n </div>\n <div class=\"uk-width-expand\">\n\n <h3 class=\"uk-h4 uk-margin-remove uk-text-break\">{{ u.name }}</h3>\n <p class=\"uk-margin-remove-top uk-text-break\">{{ `@${u.username}` }}</p>\n </div>\n </a>\n\n </li>\n </ul>\n\n </div>\n\n </div>\n\n <h3 class=\"uk-h1 uk-text-danger uk-text-center\" v-if=\"error\">{{ $trans(error) }}</h3>\n\n <div class=\"uk-position-center\" v-if=\"spinner\" uk-spinner=\"ratio: 1.5\"></div>\n\n <h3 class=\"uk-h1 uk-text-muted uk-text-center\" v-if=\"!spinner && result && !result.total\">{{ $trans('No results.') }}</h3>\n\n</div>\n\n";
/***/ }),
/***/ 561:
/***/ (function(module, exports) {
module.exports = "\n\n<div>\n\n <modal container keepalive v-ref:modal>\n\n <div class=\"uk-modal-header\">\n\n <ul uk-tab=\"connect: !div +ul; animation: uk-animation-fade\" :active=\"initial\">\n <li><a href>{{ $trans('Files') }}</a></li>\n <li v-if=\"showUnsplash\"><a href>Unsplash</a></li>\n </ul>\n\n </div>\n\n <ul class=\"uk-switcher\">\n <li @show=\"mode('finder')\">\n\n <div class=\"uk-modal-body\">\n <Finder @selected=\"update\"></Finder>\n </div>\n\n <div class=\"uk-modal-footer uk-text-right\">\n <button class=\"uk-button uk-button-text uk-modal-close uk-margin-right\" type=\"button\">{{ $trans('Cancel') }}</button>\n <button class=\"uk-button uk-button-primary\" type=\"button\" :disabled=\"!hasSelection\" @click.prevent=\"select(files)\">{{ $trans('Select') }}</button>\n </div>\n\n </li>\n <li v-if=\"showUnsplash\" @show=\"mode('unsplash')\">\n\n <div class=\"uk-modal-body\">\n <Unsplash @selected=\"select\"></Unsplash>\n </div>\n\n </li>\n </ul>\n\n </modal>\n\n</div>\n\n";
/***/ }),
/***/ 562:
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
var _merge3 = __webpack_require__(6);
var _merge4 = _interopRequireDefault(_merge3);
var _get3 = __webpack_require__(17);
var _get4 = _interopRequireDefault(_get3);
var _vue = __webpack_require__(3);
var _vue2 = _interopRequireDefault(_vue);
var _jquery = __webpack_require__(2);
var _jquery2 = _interopRequireDefault(_jquery);
var _editorVisual = __webpack_require__(153);
var _editorVisual2 = _interopRequireDefault(_editorVisual);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
if (window.tinyMCE && !window.WFEditor) {
var getToken = function getToken() {
return $customizer.token ? $customizer.token + '=1' : '';
};
window.jSelectArticle = window.jSelectArticle || function (id, title, catid, object, link, lang) {
jInsertEditorText('<a' + (lang ? ' hreflang = "' + lang + '"' : '') + ' href="' + link + '">' + title + '</a>', 'jform_articletext');
jModalClose();
};
tinyMCE.PluginManager.add('jModuleButton', function (editor) {
return editor.addButton('button-0Module', {
text: _vue2.default.Translator.trans('Module'),
title: _vue2.default.Translator.trans('Module'),
icon: 'none icon-file-add',
onclick: function onclick() {
return editor.windowManager.open({
title: _vue2.default.Translator.trans('Module'),
url: 'index.php?option=com_modules&view=modules&layout=modal&tmpl=component&editor=dummy_editor&' + getToken(),
buttons: [{
text: _vue2.default.Translator.trans('Close'),
onclick: 'close'
}],
width: 800,
height: 500
});
}
});
});
tinyMCE.PluginManager.add('jArticleButton', function (editor) {
return editor.addButton('button-1Article', {
text: _vue2.default.Translator.trans('Article'),
title: _vue2.default.Translator.trans('Article'),
icon: 'none icon-file-add',
onclick: function onclick() {
return editor.windowManager.open({
title: _vue2.default.Translator.trans('Article'),
url: 'index.php?option=com_content&view=articles&layout=modal&tmpl=component&editor=dummy_editor&' + getToken(),
buttons: [{
text: _vue2.default.Translator.trans('Close'),
onclick: 'close'
}],
width: 800,
height: 500
});
}
});
});
tinyMCE.PluginManager.add('jImageButton', function (editor) {
return editor.addButton('button-2Image', {
text: _vue2.default.Translator.trans('Image'),
title: _vue2.default.Translator.trans('Image'),
icon: 'none icon-pictures',
onclick: function onclick() {
return editor.windowManager.open({
title: _vue2.default.Translator.trans('Image'),
url: 'index.php?option=com_media&view=images&tmpl=component&asset=com_content&editor=dummy_editor&' + getToken(),
buttons: [{
text: _vue2.default.Translator.trans('Close'),
onclick: 'close'
}],
width: 800,
height: 500
});
}
});
});
// Joomla >= 3.7
if (Joomla.getOptions) {
window.jInsertEditorText = function (text, editor) {
tinyMCE.activeEditor.execCommand('mceInsertContent', false, text);
};
tinyMCE.PluginManager.add('jMenuButton', function (editor) {
return editor.addButton('button-3Menu', {
text: _vue2.default.Translator.trans('Menu'),
title: _vue2.default.Translator.trans('Menu'),
icon: 'none icon-share-alt',
onclick: function onclick() {
return editor.windowManager.open({
title: _vue2.default.Translator.trans('Menu'),
url: 'index.php?option=com_menus&view=items&layout=modal&tmpl=component&editor=dummy_editor&' + getToken(),
buttons: [{
text: _vue2.default.Translator.trans('Close'),
onclick: 'close'
}],
width: 800,
height: 500
});
}
});
});
tinyMCE.PluginManager.add('jContactButton', function (editor) {
return editor.addButton('button-4Contact', {
text: _vue2.default.Translator.trans('Contact'),
title: _vue2.default.Translator.trans('Contact'),
icon: 'none icon-address',
onclick: function onclick() {
return editor.windowManager.open({
title: _vue2.default.Translator.trans('Contact'),
url: 'index.php?option=com_contact&view=contacts&layout=modal&tmpl=component&editor=dummy_editor&' + getToken(),
buttons: [{
text: _vue2.default.Translator.trans('Close'),
onclick: 'close'
}],
width: 800,
height: 500
});
}
});
});
}
} /* global jInsertEditorText, jModalClose, jSelectArticle, $customizer */
exports.default = {
extends: _editorVisual2.default,
attached: function attached() {
this.settings = (0, _merge4.default)({},
// default settings Joomla >= 3.7
Joomla.getOptions && (0, _get4.default)(Joomla.getOptions('plg_editor_tinymce', {}), 'tinyMCE.default')
// default settings Joomla < 3.7
|| (window.tinyMCE || window.WFEditor).settings);
if (window.WFEditor) {
(0, _jquery2.default)('#' + this.id).after('<input type="hidden" id="wf_' + this.id + '_token" value="' + Math.random() + '">');
} else {
if (!~this.settings.toolbar1.indexOf('button-1Article')) {
this.settings.toolbar1 += ' | button-0Module% | button-1Article | button-2Image'.replace('%', Joomla.getOptions ? ' | button-3Menu | button-4Contact' : '');
}
if (!~this.settings.plugins.indexOf('jArticleButton')) {
this.settings.plugins += ' jModuleButton% jArticleButton jImageButton'.replace('%', Joomla.getOptions ? ' jMenuButton jContactButton' : '');
}
}
}
};
/***/ }),
/***/ 565:
/***/ (function(module, exports) {
module.exports = "\n\n<div class=\"yo-customizer\">\n <sidebar :config=\"config\" :panels=\"panels\" :sections=\"filteredSections\"></sidebar>\n <preview :src=\"site\"></preview>\n</div>\n\n";
/***/ })
},[517]);