/*globals define*/ /*jslint nomen: true*/ define('de_epages/shop/ui/linkpicker', [ 'jquery/ui/widget', 'de_epages', 'de_epages/shop/linkpicker' /** * linkpicker ui widget * @param {Function} $ jQuery * @param {Function} de_epages * @param {Backbone view} linkpicker instance * @return {Function} de_epages */ ], function ($, de_epages, linkpicker) { 'use strict'; $.widget('ui.shopUiLinkpicker', { options: { linkText: '', linkUrl: '', is_linkTargetBlank: false, linkType: '', callback: $.noop, use_absolute: false, use_ssl: false, dialog: { width: 920, height: 563, draggable: false, modal: true, autoOpen: false } }, /** * Calls 'open' method of the linkpicker instance * @property { Boolean} use_absolute [Initialize linkpicker to return absolute urls] * @property { Boolean} use_ssl [Initialize linkpicker to return https urls] * @property { Function} callback [Callback, returns 'linkText', 'linkUrl', 'linkTarget' and 'linkType'] * @property { Object} dialog [dialog options, see uiDialog] * @property { String} linkText [Text that is displayed as the link's text] * @property { String} linkUrl [Url the link refers to] * @property { Boolean} is_linkTargetBlank [Whether link should be opened in new window or not] * @property { String} linkType [Type of the link. Can either be 'tree', 'additional', 'filemanager' or 'external'] */ open: function () { linkpicker.open({ use_absolute: this.options.use_absolute, use_ssl: this.options.use_ssl, callback: this.options.callback, dialog: this.options.dialog, linkText: this.options.linkText, linkUrl: this.options.linkUrl, is_linkTargetBlank: this.options.is_linkTargetBlank, linkType: this.options.linkType }); }, /** * Calls 'close' method of the linkpicker instance */ close: function () { linkpicker.close(); } }); return de_epages; });