"use strict";
function UCManagerActionsAddons(){
var g_objCats = new UCManagerAdminCats(), g_objItems;
var g_manager = new UCManagerAdmin();
var g_options, g_addonsType = "", g_emptyAddonsWrapper;
var g_objTooltip, g_objListWrapper, g_objWrapper;
var g_objBrowser = new UniteCreatorBrowser();
var g_objSettingsCategory, g_inputShortcode, g_settingsPageProps;
var g_objDailogPreview, g_objFilterCatalog, g_objFilterActive, g_objFilterSearch;
var g_objBottomCopyPanel, g_objDialogPreviewTemplate, g_objGroupText;
var t = this;
var g_temp = {
isLayout:false,
iframe_screenshot_id: "uc_iframe_make_screenshot",
url_screenshot_template: "",
screenshot_numCurrent:0,
screenshot_bulkItems:null,
class_waiting_screenshot: "uc-waiting-screenshot",
initHeight: 600,
edit_group_id:null,
edit_group_catid:null,
is_edit_group_mode:false
};
if(!g_ucAdmin){
var g_ucAdmin = new UniteAdminUC();
}
/**
* run action function, return if found true/false
*/
function runActionFunctions(action,data){
var arrActionFunctions = g_manager.getActionFunctions();
if(!arrActionFunctions)
return(false);
if(arrActionFunctions.length == 0)
return(false);
jQuery.each(arrActionFunctions, function(index, func){
if(typeof func != "function")
throw new Error(func+" is not a function");
var isFound = func(action, data);
if(isFound == true)
return(true);
});
return(false);
}
/**
* on item button click
*/
this.runItemAction = function(action, data){
switch(action){
case "add_addon":
openAddAddonDialog();
break;
case "update_order":
updateItemsOrder();
break;
case "select_all_items":
g_objItems.selectUnselectAllItems();
break;
case "duplicate_item":
duplicateItems();
break;
case "preview_addon":
previewAddon();
break;
case "preview_thumb":
previewThumbnail();
break;
case "make_screenshots":
makeScreenshots();
break;
case "item_default_action":
onItemDoubleClick();
break;
case "edit_addon":
editAddon();
break;
case "edit_addon_blank":
editAddon(true);
break;
case "quick_edit":
quickEdit();
break;
case "remove_item":
removeSelectedAddons();
break;
case "test_addon":
testAddon();
break;
case "test_addon_blank":
testAddon(true);
break;
case "move_items":
moveAddons(data);
break;
case "copymove_move":
onMoveOperationClick();
break;
case "get_cat_items":
getSelectedCatAddons();
break;
case "import_addon":
openImportAddonDialog();
break;
case "export_addon":
exportAddon();
break;
case "activate_addons":
activateAddons(true);
break;
case "deactivate_addons":
activateAddons(false);
break;
case "export_cat_addons":
var catID = data;
exportCatAddons(catID);
break;
case "page_props":
openPagePropertiesDialog();
break;
case "edit_layout_group":
onEditLayoutGroupClick();
break;
case "copy":
onCopyClick();
break;
default:
var isFound = runActionFunctions(action, data);
if(isFound == false)
trace("wrong addon action: " + action);
break;
}
}
/**
* copy / move items
*/
function moveAddons(data, callback){
//set status text
var text = g_uctext.moving_addons;
data = addCommonAjaxData(data);
g_manager.ajaxRequestManager("move_addons",data , g_uctext.moving_addons, function(response){
setHtmlListCombo(response);
if(typeof callback == "function")
callback(response);
});
}
/**
* init items
*/
function initItems(){
initAddAddonDialog();
initPagePropsDialog();
initQuickEditDialog();
g_manager.initBottomOperations();
initImportAddonDialog();
}
/**
* set combo lists from response
*/
function setHtmlListCombo(response){
var htmlItems = response.htmlItems;
var htmlCats = response.htmlCats;
g_objItems.setHtmlListItems(htmlItems);
if(g_objCats)
g_objCats.setHtmlListCats(htmlCats);
}
/**
* make some copy/move operation and close the dialog
*/
function onMoveOperationClick(){
var objDrag = g_objItems.getObjDrag();
var data = {};
data.targetCatID = objDrag.targetItemID;
data.selectedCatID = g_objCats.getSelectedCatID();
data.arrAddonIDs = objDrag.arrItemIDs;
moveAddons(data);
g_objItems.resetDragData();
}
function ___________ADDONS_DIALOGS________________(){}
/**
* add common ajax data
*/
function addCommonAjaxData(data){
data["addontype"] = g_addonsType;
data["manager_name"] = g_manager.getManagerName();
var passData = g_manager.getManagerPassData();
if(passData)
data["manager_passdata"] = passData;
return(data);
}
/**
* open page properties dialaog
*/
function openPagePropertiesDialog(){
var selectedItem = g_objItems.getSelectedItem();
var pageTitle = selectedItem.data("title");
var layoutID = selectedItem.data("id");
var dialogID = "uc_dialog_addon_properties";
var options = {
minWidth: 900,
title:"Edit Page: "+pageTitle
};
var objDialog = jQuery("#" + dialogID);
g_ucAdmin.validateDomElement(objDialog, "dialog properties");
var objLoader = objDialog.find(".uc-settings-loader");
g_ucAdmin.validateDomElement(objLoader, "loader");
var objContent = objDialog.find(".uc-settings-content");
g_ucAdmin.validateDomElement(objContent, "content");
objContent.html("").hide();
objLoader.show();
g_ucAdmin.openCommonDialog("#uc_dialog_addon_properties", function(){
var data = {"id":layoutID};
data = addCommonAjaxData(data);
g_ucAdmin.ajaxRequest("get_layouts_params_settings_html", data, function(response){
objLoader.hide();
objContent.show().html(response.html);
//init settings
var objSettingsWrapper = objContent.find(".unite_settings_wrapper");
g_ucAdmin.validateDomElement(objSettingsWrapper, "page properties settings wrapper");
g_settingsPageProps = new UniteSettingsUC();
g_settingsPageProps.init(objSettingsWrapper);
});
} ,options);
}
/**
* init page properties dialog
*/
function initPagePropsDialog(){
var objButton = jQuery("#uc_dialog_addon_properties_action");
if(objButton.length == 0)
return(false);
objButton.on("click",function(){
var selectedItemID = g_objItems.getSelectedItemID();
var selectedItem = g_objItems.getSelectedItem();
var data = {"layoutid":selectedItemID};
data.params = g_settingsPageProps.getSettingsValues();
data["from_manager"] = true;
data = addCommonAjaxData(data);
g_ucAdmin.dialogAjaxRequest("uc_dialog_addon_properties", "update_layout_params", data, function(response){
g_objItems.replaceItemHtml(selectedItem, response.html_item);
});
});
}
/**
* check and fill addon name from title
*/
function checkFillAddonNameFromTitle(){
var objTitle = jQuery(this);
var objName = jQuery("#dialog_add_addon_name")
var title = objTitle.val();
//make all the validations
var isAscii = g_ucAdmin.isStringAscii(title);
if(isAscii == false)
return(true);
//validate that name is empty
var name = objName.val();
name = jQuery.trim(name);
if(name)
return(true);
//convert and set the name
name = g_ucAdmin.getNameFromTitle(title);
objName.val(name);
}
/**
* init add addon dialog actions
*/
function initAddAddonDialog(){
jQuery("#dialog_add_addon_action").on("click",addAddon);
jQuery("#dialog_add_addon_name").add("#dialog_add_addon_title").keyup(function(event){
if(event.keyCode == 13)
addAddon();
});
jQuery("#dialog_add_addon_title").on("blur", checkFillAddonNameFromTitle);
}
/**
* init quick edit dialog
*/
function initQuickEditDialog(){
// set update title onenter function
jQuery("#dialog_quick_edit_title").add("#dialog_quick_edit_name").keyup(function(event){
if(event.keyCode == 13)
updateItemTitle();
});
}
/**
* on add addon click - open add addon dialog
*/
function openAddAddonDialog(){
jQuery(".dialog_addon_input").val("");
var options = {};
options["no_close_button"] = true;
options["minWidth"] = 400;
g_ucAdmin.openCommonDialog("#dialog_add_addon", function(){
jQuery("#dialog_add_addon_title").select();
}, options);
}
function ___________IMPORT_ADDONS_DIALOG________________(){} //sap for outline
/**
* open import addon dialog
*/
function openImportAddonDialog(){
var catData = g_objCats.getSelectedCatData();
var catID = catData.id;
if(!catID || catID == 0 || catID == "all"){
catID = "";
var catName = jQuery("#dialog_import_catname").data("text-autodetect");
}else{
catName = catData.title;
}
var parentID = getCurrentParentID();
jQuery("#dialog_import_addons").data("catid", catID);
jQuery("#dialog_import_addons").data("parentid", parentID);
//reset dialog
jQuery("#dialog_import_catname").val("autodetect");
jQuery("#dialog_import_catname_specific").html(catName);
jQuery("#dialog_import_addons_log").html("").hide();
jQuery("#dialog_import_addons_action").show();
//clear dropzone
var objDialog = jQuery("#dialog_import_addons");
var objDropzone = objDialog.data("dropzone");
objDropzone.removeAllFiles();
var options = {minWidth:700};
options["no_close_button"] = true;
g_ucAdmin.openCommonDialog("#dialog_import_addons", null, options);
}
/**
* init import addon dialog
*/
function initImportAddonDialog(){
var objDialog = jQuery("#dialog_import_addons");
var settingsDropzone = g_ucAdmin.getDropzoneSingleLineSettings();
settingsDropzone.parallelUploads = 1;
settingsDropzone.autoProcessQueue = false;
settingsDropzone.params = {
addontype: g_addonsType
};
try{
//init dropzone
Dropzone.autoDiscover = false;
var objDropzone = new Dropzone("#dialog_import_addons_form", settingsDropzone);
}catch(error){
var strError = error + " Some other plugin loading Dropzone in this page. <br> Please check the console wich of them, and turn it off. They should load dropzone library only in their page.";
g_ucAdmin.showErrorMessage(strError);
throw error;
}
//send file
objDropzone.on("sending", function(file, xhr, formData){
var catID = jQuery("#dialog_import_addons").data("catid");
var parentID = jQuery("#dialog_import_addons").data("parentid");
var isOverwrite = jQuery("#dialog_import_check_overwrite").is(":checked");
var importType = jQuery("#dialog_import_catname").val();
formData.append("catid", catID);
formData.append("parentid", parentID);
formData.append("isoverwrite", isOverwrite);
formData.append("importtype", importType);
});
//on one file complete
objDropzone.on("complete", function(response) {
objDropzone.removeFile(response);
var responseText = response.xhr.responseText;
g_ucAdmin.setErrorMessageID("dialog_import_addons_error");
g_ucAdmin.ajaxReturnCheck(responseText, function(objResponse){
//store response
objDialog.data("last_response", objResponse);
//show log
var objLog = jQuery("#dialog_import_addons_log");
objLog.show();
objLog.append(objResponse.import_log + "<br>");
objDropzone.processQueue();
});
});
//on all complete
objDropzone.on("queuecomplete", function() {
var lastResponse = objDialog.data("last_response");
if(lastResponse)
setHtmlListCombo(lastResponse);
});
objDialog.data("dropzone", objDropzone);
//on action click
var objDialog = objDialog;
jQuery("#dialog_import_addons_action").on("click",function(){
var objDropzone = objDialog.data("dropzone");
objDialog.data("last_response", null);
objDropzone.processQueue();
});
}
function ___________ADDONS_RELATED_OPERATIONS________________(){} //sap for outline
/**
* on dialog add addon click
*/
function addAddon(){
var selectedCatID = 0;
if(g_objCats)
selectedCatID = g_objCats.getSelectedCatID();
var data = {
title: jQuery("#dialog_add_addon_title").val(),
name: jQuery("#dialog_add_addon_name").val(),
description: jQuery("#dialog_add_addon_description").val(),
catid: selectedCatID,
addontype: g_addonsType
};
if(g_temp.is_edit_group_mode == true)
data.parent_id = g_temp.edit_group_id;
g_ucAdmin.dialogAjaxRequest("dialog_add_addon", "add_addon", data, function(response){
var objItem = g_objItems.appendItem(response.htmlItem);
//update categories list
if(g_objCats)
g_objCats.setHtmlListCats(response.htmlCats);
g_objItems.selectSingleItem(objItem);
//var urlAddon = response["url_addon"];
//location.href = urlAddon;
});
}
/**
* get item data from server
*/
function getItemData(itemID, callbackFunction){
var data = {itemid:itemID};
data = addCommonAjaxData(data);
g_manager.ajaxRequestManager("get_item_data",data,g_uctext.loading_item_data,callbackFunction);
}
/**
* get category items
*/
function getSelectedCatAddons(){
var catID = 0;
if(g_objCats){
catID = g_objCats.getSelectedCatID();
}
//--- parent template ID if available
var parentID = null;
if(g_temp.is_edit_group_mode == true){
if(g_temp.edit_group_catid == catID){
parentID = g_temp.edit_group_id;
g_ucAdmin.validateNotEmpty(parentID, "parent template ID");
}else{
exitEditGroupMode();
}
}
var catTitle = null;
var isWeb = false;
if(catID != 0 && catID != -1){
var catData = g_objCats.getSelectedCatData();
catTitle = catData["title"];
isWeb = catData["isweb"];
}
jQuery("#items_loader").show();
jQuery("#uc_list_items").hide();
g_objItems.hideNoAddonsText();
var catalogFilter = getFilterCatalog();
var activeFilter = getFitlerActive();
var searchFilter = getFilterSearch();
if(catalogFilter == "mixed")
activeFilter = "all"; //show all widgets when mixed
var data = {};
data = addCommonAjaxData(data);
data["catID"] = catID;
data["filter_active"] = activeFilter;
if(catalogFilter)
data["filter_catalog"] = catalogFilter;
if(searchFilter){
data["filter_search"] = searchFilter;
//exit group mode on search
if(g_temp.edit_group_catid == catID){
parentID = null;
exitEditGroupMode();
}
}
if(parentID)
data["parent_id"] = parentID;
data["response_combo"] = true;
data["addontype"] = g_addonsType;
data["title"] = catTitle;
data["isweb"] = isWeb;
g_ucAdmin.ajaxRequest("get_cat_addons", data, function(response){
setHtmlListCombo(response);
g_objItems.checkSelectRelatedItems();
//patch for showing no addons html if not items on all
if(catID == "all" && activeFilter == "all" && g_emptyAddonsWrapper){
var numItems = jQuery("#uc_list_items li").length;
if(numItems == 0){
jQuery("#no_items_text").show();
g_emptyAddonsWrapper.show();
g_manager.updateGlobalHeight(null, 390);
}
}
//hide the bottom panel if available
checkBottomCopyPanel();
});
}
/**
* remove items
*/
function removeAddons(arrIDs){
var data = {};
data.arrAddonsIDs = arrIDs;
data.catid = 0;
if(g_objCats)
data.catid = g_objCats.getSelectedCatID();
data = addCommonAjaxData(data);
g_manager.ajaxRequestManager("remove_addons",data, g_uctext.removing_addons, function(response){
setHtmlListCombo(response);
});
}
/**
* remove selected items
*/
function removeSelectedAddons(){
if(g_ucAdmin.isButtonEnabled(this) == false)
return(false);
if(confirm(g_uctext.confirm_remove_addons) == false)
return(false);
var arrIDs = g_objItems.getSelectedItemIDs();
removeAddons(arrIDs);
//hide the bottom panel if available
hideBottomCopyPanel();
}
/**
* run addons view url
*/
function runAddonsViewUrl(view, isNewWindow, addParam){
var itemID = g_objItems.getSelectedItemID();
if(itemID == null)
return(false);
var objItem = g_objItems.getSelectedItem();
if(objItem.length == 0)
return(false);
var urlEdit = objItem.data("urledit");
if(urlEdit){
var urlViewEdit = urlEdit;
}else{
var urlViewEdit = g_ucAdmin.getUrlView(view, "id="+itemID);
}
if(addParam)
urlViewEdit += "&"+addParam;
if(isNewWindow === true){
window.open(urlViewEdit);
}else{
location.href = urlViewEdit;
}
}
/**
* on item double click
*/
function onItemDoubleClick(){
var objItem = g_objItems.getSelectedItem();
if(objItem.length == 0)
return(false);
if(g_temp.isLayout == false){
editAddon();
return(false);
}
var isGroup = objItem.data("isgroup");
if(isGroup == true)
onEditLayoutGroupClick();
else
editAddon(true);
}
/**
* edit item operation. open quick edit dialog
*/
function editAddon(isNewWindow){
var view = "addon";
var addParam = "";
if(g_temp.isLayout == true){
//view = "layout_outer"; //for blox layouts
//addParam = "ucwindow=blank";
}
runAddonsViewUrl(view, isNewWindow, addParam);
}
/**
* preview addon
*/
function previewAddon(){
var itemID = g_objItems.getSelectedItemID();
if(itemID == null)
return(false);
if(g_temp.isLayout == false){
var urlPreview = g_ucAdmin.getUrlView("testaddon", "id="+itemID+"&preview=1");
}else{
//in case of layout
var objItem = g_objItems.getSelectedItem();
var urlPreview = objItem.data("urlview");
if(!urlPreview)
var urlPreview = g_ucAdmin.getUrlView("layout_preview", "id="+itemID, true);
}
window.open(urlPreview);
}
/**
* preview thumb
*/
function previewThumbnail(){
var objItem = g_objItems.getSelectedItem();
if(!objItem)
return(false);
var urlImage = g_objItems.getItemThumbImageUrl(objItem);
if(!urlImage){
alert("no thumb image found");
return(false);
}
window.open(urlImage);
}
/**
* test addon
*/
function testAddon(isNewWindow){
runAddonsViewUrl("testaddon", isNewWindow);
}
/**
* export selected addon
*/
function exportAddon(){
var arrIDs = g_objItems.getSelectedItemIDs();
if(arrIDs.length == 0)
return(false);
var addonID = arrIDs[0];
var params = "id="+addonID;
if(g_temp.isLayout == true){ //export layouts
var urlExport = g_ucAdmin.getUrlAjax("export_layout", params);
}else{ //export addons
params += "&addontype="+g_addonsType;
var urlExport = g_ucAdmin.getUrlAjax("export_addon", params);
}
location.href=urlExport;
}
/**
* export category addons
*/
function exportCatAddons(catID){
var params = "catid=" + catID;
var urlExport = g_ucAdmin.getUrlAjax("export_cat_addons", params);
location.href = urlExport;
}
/**
* edit item title function
*/
function quickEdit(){
var arrIDs = g_objItems.getSelectedItemIDs();
if(arrIDs.length == 0)
return(false);
var itemID = arrIDs[0];
var objItem = g_objItems.getItemByID(itemID);
if(objItem.length == 0)
throw new Error("item not found: "+itemID);
var title = objItem.data("title");
var name = objItem.data("name");
var description = objItem.data("description");
var objDialog = jQuery("#dialog_edit_item_title");
jQuery("#dialog_quick_edit_title").val(title).focus();
jQuery("#dialog_quick_edit_name").val(name);
jQuery("#dialog_quick_edit_description").val(description);
var objIsFree = jQuery("#dialog_quick_isfree");
if(objIsFree.length){
var isFree = objItem.data("isfree");
if(isFree == true)
objIsFree.prop("checked", "checked");
else
objIsFree.prop("checked", false);
}
var buttonOpts = {};
buttonOpts[g_uctext.cancel] = function(){
jQuery("#dialog_edit_item_title").dialog("close");
};
buttonOpts[g_uctext.update] = function(){
updateItemTitle();
}
objDialog.data("itemid", itemID);
objDialog.dialog({
dialogClass:"unite-ui",
buttons:buttonOpts,
minWidth:500,
modal:true,
open:function(){
jQuery("#dialog_quick_edit_title").select();
}
});
}
/**
* update item title - on dialog update press
*/
function updateItemTitle(){
var objDialog = jQuery("#dialog_edit_item_title");
var itemID = objDialog.data("itemid");
var objItem = g_objItems.getItemByID(itemID);
if(objItem.length == 0)
throw new Error("item not found: "+itemID);
var titleHolder = objItem.find(".uc-item-title");
var descHolder = objItem.find(".uc-item-description");
var newTitle = jQuery("#dialog_quick_edit_title").val();
var newName = jQuery("#dialog_quick_edit_name").val();
var newDesc = jQuery("#dialog_quick_edit_description").val();
var data = {
itemID: itemID,
title: newTitle,
name: newName,
description: newDesc
};
//add is free for master
var objIsFree = jQuery("#dialog_quick_isfree");
if(objIsFree.length != 0)
data.isfree = objIsFree.is(":checked");
objDialog.dialog("close");
//update the items
objItem.data("title", newTitle);
objItem.data("name", newName);
objItem.data("description", newDesc);
titleHolder.html(newTitle);
var showDesc = "";
if(newDesc)
showDesc = newDesc;
descHolder.html(showDesc);
data = addCommonAjaxData(data);
g_manager.ajaxRequestManager("update_addon_title",data,g_uctext.updating_addon_title, function(){
if(objIsFree.length)
getSelectedCatAddons();
});
}
/**
* duplicate items
*/
function duplicateItems(){
var arrIDs = g_objItems.getSelectedItemIDs();
if(arrIDs.length == 0)
return(false);
var selectedCatID = 0;
if(g_objCats)
selectedCatID = g_objCats.getSelectedCatID();
if(selectedCatID == -1)
return(false);
var parentID = getCurrentParentID();
var data = {
arrIDs: arrIDs,
catID: selectedCatID
};
if(parentID)
data["parentID"] = parentID;
data = addCommonAjaxData(data);
g_manager.ajaxRequestManager("duplicate_addons",data,g_uctext.duplicating_addons,function(response){
setHtmlListCombo(response);
});
}
/**
* update items order in server
*/
function updateItemsOrder(){
var arrIDs = g_objItems.getArrItemIDs(false, true);
var data = {addons_order:arrIDs};
data = addCommonAjaxData(data);
g_manager.ajaxRequestManager("update_addons_order",data,g_uctext.updating_addons_order);
}
/**
* activate selected addons
*/
function activateAddons(isActive){
var arrIDs = g_objItems.getSelectedItemIDs();
g_objItems.acivateSelectedItems(isActive, true);
var data = {addons_ids:arrIDs,is_active:isActive};
data = addCommonAjaxData(data);
g_manager.ajaxRequestManager("update_addons_activation",data,g_uctext.updating_addons);
}
function ___________BOTTOM_PANEL_MOVE________________(){}
/**
* hide bottom copy panel
*/
function hideBottomCopyPanel(){
if(!g_objBottomCopyPanel)
return(false);
g_objBottomCopyPanel.hide();
}
/**
* check copy panel status when folder change
*/
function checkBottomCopyPanel(){
if(!g_objBottomCopyPanel)
return(false);
if(g_objBottomCopyPanel.is(":visible") == false)
return(false);
var folderItemIDs = g_objItems.getArrItemIDs();
var copiedIDs = g_objBottomCopyPanel.data("item_ids");
var isFound = g_ucAdmin.isArrIncludesAnotherArrItem(folderItemIDs, copiedIDs);
var objButtonMove = g_objBottomCopyPanel.find(".uc-button-copypanel-move");
//check that one contains the others
if(isFound == true){
objButtonMove.addClass("button-disabled");
}else{
objButtonMove.removeClass("button-disabled");
}
}
/**
* copy single item click
*/
function onCopyClick(){
g_ucAdmin.validateDomElement(g_objBottomCopyPanel, "bottom copy panel");
var arrIDs = g_objItems.getSelectedItemIDs();
if(arrIDs.length == 0)
return(false);
g_objBottomCopyPanel.data("item_ids", arrIDs);
//set title
if(arrIDs.length == 1){
var objItem = g_objItems.getSelectedItem();
var title = objItem.data("title");
}else{ //multiple names
var title = arrIDs.length + " templates";
}
g_objBottomCopyPanel.find(".uc-copypanel-addon").html(title);
//disable move button
var objButtonMove = g_objBottomCopyPanel.find(".uc-button-copypanel-move");
objButtonMove.addClass("button-disabled");
g_objBottomCopyPanel.show();
}
/**
* get current category parent id
*/
function getCurrentParentID(){
var parentID = null;
if(g_temp.is_edit_group_mode == true)
parentID = g_temp.edit_group_id;
return(parentID);
}
/**
* on bottom panel move click
*/
function onBottomCopyPanelMoveClick(){
var objLink = jQuery(this);
if(objLink.hasClass("button-disabled") == true)
return(true);
//get category and parent ID if group enabled
var catID = g_objCats.getSelectedCatID();
var parentID = getCurrentParentID();
var copiedIDs = g_objBottomCopyPanel.data("item_ids");
var data = {};
data.arrAddonIDs = copiedIDs;
data.targetCatID = catID;
data.selectedCatID = catID;
data.parentID = parentID;
moveAddons(data, function(response){
hideBottomCopyPanel();
});
}
function ___________GROUP_MODE________________(){}
/**
* exit edit group mode to category
*/
function exitEditGroupMode(){
g_temp.is_edit_group_mode = false;
g_temp.edit_group_id = null;
g_temp.edit_group_catid = null;
g_objWrapper.removeClass("uc-mode-edit-group");
g_objGroupText.html("");
}
/**
* on exit click, exit the group and reload the templates
*/
function onExitGroupButtonClick(){
exitEditGroupMode();
getSelectedCatAddons();
}
/**
* set edit group mode
*/
function setEditGroupMode(itemID, objItemGroup){
g_temp.is_edit_group_mode = true;
g_temp.edit_group_id = itemID;
g_temp.edit_group_catid = g_objCats.getSelectedCatID();
g_objWrapper.addClass("uc-mode-edit-group");
var title = objItemGroup.data("title");
g_objGroupText.html(title);
//clear search filter
clearFilterSearch();
getSelectedCatAddons();
}
/**
* on back button click
*/
function onGroupBackClick(){
exitEditGroupMode();
getSelectedCatAddons();
}
/**
* go to edit layout addon mode
*/
function onEditLayoutGroupClick(){
var itemID = g_objItems.getSelectedItemID();
if(!itemID)
return(true);
var objItem = g_objItems.getSelectedItem();
setEditGroupMode(itemID, objItem);
}
function ___________SCREENSHOTS________________(){}
/**
* make item thumbnail
*/
function makeItemThumb(objItem){
var layoutID = objItem.data("id");
if(!layoutID)
return(false);
objItem.addClass("uc-making-thumb");
var objThumb = objItem.find(".uc-item-thumb");
if(objThumb.length == 0)
return(false);
objThumb.css("background-image", "url('')");
var iframeID = g_temp.iframe_screenshot_id;
//remove if existing
var objIframe = jQuery("#" + iframeID);
if(objIframe.length)
objIframe.remove();
var urlPreview = g_temp.url_screenshot_template.replace("id=0", "id="+layoutID);
var htmlIframe = "<iframe id='"+iframeID+"' src='"+urlPreview+"' width='1000' style='width:1000px;'></iframe>";
jQuery("body").append(htmlIframe);
return(true);
}
/**
* on saved screenshot event, show the thumb image, continue to make screenshots if on the list
*/
function onScreenshotSaved(event, response){
var layoutID = g_ucAdmin.getVal(response, "layoutid");
var urlScreenshot = g_ucAdmin.getVal(response, "url_screenshot");
g_objItems.updateItemScreenshot(layoutID, urlScreenshot);
var objItem = g_objItems.getItemByID(layoutID);
objItem.removeClass("uc-making-thumb");
//for many screenshots
if(objItem.hasClass(g_temp.class_waiting_screenshot)){
objItem.removeClass(g_temp.class_waiting_screenshot);
makeScreenshots(true);
}
}
/**
* make screenshots
*/
function makeScreenshots(isContinue){
var objItems = g_objItems.getSelectedItems(true);
if(isContinue === true){
objItems = objItems.filter("."+g_temp.class_waiting_screenshot);
if(objItems.length == 0){
alert("finished making thumbnails");
}
}else{
if(objItems.length > 1)
objItems.addClass(g_temp.class_waiting_screenshot);
}
if(objItems.length == 0)
return(true);
var firstItem = objItems.first();
makeItemThumb(firstItem);
}
function ___________FILTERS________________(){}
/**
* get active / not active filter
*/
function getFitlerActive(){
if(!g_objFilterActive)
return("all");
var stateActive = g_objFilterActive.val();
return(stateActive);
}
/**
* get catalog filter
*/
function getFilterCatalog(){
if(g_objFilterCatalog == null)
return("");
var isChecked = g_objFilterCatalog.is(":checked");
if(isChecked == true)
var state = g_objFilterCatalog.data("state_active");
else
var state = g_objFilterCatalog.data("state_notactive");
return(state);
}
/**
* get search filter
*/
function getFilterSearch(){
var objInputSearch = jQuery("#uc_manager_addons_input_search");
if(objInputSearch.length == 0)
return("");
var filterSearch = objInputSearch.val();
return(filterSearch);
}
/**
* clear the search filter if exists
*/
function clearFilterSearch(){
var objInputSearch = jQuery("#uc_manager_addons_input_search");
var objIconSearch = jQuery("#uc_manager_addons_icon_search");
var objIconClear = jQuery("#uc_manager_addons_clear_search");
if(objInputSearch.length == 0)
return(false);
objInputSearch.val("");
objIconSearch.show();
objIconClear.hide();
}
/**
* init search filter
*/
function initFilterSearch(){
//init search button
var objInputSearch = jQuery("#uc_manager_addons_input_search");
if(objInputSearch.length == 0)
return(false);
var objIconSearch = jQuery("#uc_manager_addons_icon_search");
var objIconClear = jQuery("#uc_manager_addons_clear_search");
//init search input
objInputSearch.val("");
/**
* on icon click
*/
objIconSearch.click(function(){
var searchValue = objInputSearch.val();
searchValue = jQuery.trim(searchValue);
if(!searchValue)
objInputSearch.focus();
else
getSelectedCatAddons();
});
objInputSearch.doOnEnter(function(){
getSelectedCatAddons();
});
g_ucAdmin.onChangeInputValue(objInputSearch, function(){
var searchValue = objInputSearch.val();
searchValue = jQuery.trim(searchValue);
//handle clear icon
if(searchValue){
//objIconClear.css("visibility", "visible");
objIconClear.show();
objIconSearch.hide();
}
else{
objIconClear.hide();
objIconSearch.show();
}
getSelectedCatAddons();
});
//clear
objIconClear.click(function(){
objIconClear.hide()
objIconSearch.show();
objInputSearch.val("");
getSelectedCatAddons();
});
}
/**
* on filter link click
*/
function onFilterClick(){
var objFilterSetActive = g_objWrapper.find(".uc-filter-set-active");
//g_ucAdmin.validateDomElement(objFilterSetActive, "filter set - active");
//update filters
var filterCatalog = getFilterCatalog();
if(objFilterSetActive.length){
if(filterCatalog == "installed")
objFilterSetActive.show();
else
objFilterSetActive.hide();
}
getSelectedCatAddons();
}
/**
* init filters
*/
function initFilters(){
g_objFilterCatalog = jQuery("#uc_filter_catalog_installed");
if(g_objFilterCatalog.length == 0)
g_objFilterCatalog = null;
g_objFilterActive = jQuery("#uc_manager_filter_active");
if(g_objFilterActive.length == 0)
g_objFilterActive = null;
//g_ucAdmin.validateDomElement(g_objFilterActive, "filter catalog checkbox");
if(g_objFilterCatalog)
g_objFilterCatalog.on("click", onFilterClick);
if(g_objFilterActive)
g_objFilterActive.on("change", onFilterClick);
initFilterSearch();
}
function ___________TOOLTIP________________(){}
/**
* init tooltip
*/
function initTooltip(){
g_objTooltip = jQuery("#uc_manager_addon_preview");
if(g_objTooltip.length == 0)
g_objTooltip = null;
}
/**
* check if the item has tooltip
*/
function checkShowTooltip(objItem){
if(!g_objTooltip)
return(false);
//check if item has preview
var urlPreview = objItem.data("preview");
if(!urlPreview)
return(false);
//show tooltip
g_objTooltip.show();
var gapTop = 10;
var gapLeft = 10;
var itemWidth = objItem.width();
var tooltipHeight = g_objTooltip.height();
var tooltipWidth = g_objTooltip.width();
var maxLeft = g_objWrapper.width() - tooltipWidth;
var pos = g_objItems.getItemWrapperPos(objItem);
pos.top = pos.top - tooltipHeight + gapTop;
pos.left = pos.left + itemWidth - gapLeft;
if(pos.left > maxLeft)
pos.left = maxLeft;
//set position and image
var objCss = {top:pos.top+"px",left:pos.left+"px"};
objCss["background-image"] = "url('"+urlPreview+"')";
g_objTooltip.css(objCss);
}
/**
* hide tooltip if avilable
*/
function hideTooltip(){
if(!g_objTooltip)
return(false);
var objCss = {};
objCss["background-image"] = "";
g_objTooltip.hide();
g_objTooltip.css(objCss);
}
function ___________EDIT_CATEGORY_DIALOG______________(){}
/**
* open category dialog
*/
function openCategoryDialog(objDialog, catID){
var data = {};
data["catid"] = catID;
var objLoader = jQuery("#uc_dialog_edit_category_settings_loader");
var objContent = jQuery("#uc_dialog_edit_category_settings_content");
objContent.hide();
objLoader.show();
data = addCommonAjaxData(data);
g_manager.ajaxRequestManager("get_category_settings_html",data , g_uctext.loading, function(response){
objLoader.hide();
objContent.show();
objContent.html(response.html);
if(g_objSettingsCategory)
g_objSettingsCategory.destroy();
var objSettingsWrapper = objContent.find(".unite_settings_wrapper");
g_ucAdmin.validateDomElement(objSettingsWrapper, "edit category settings wrapper");
g_objSettingsCategory = new UniteSettingsUC();
g_objSettingsCategory.init(objSettingsWrapper);
});
}
/**
* update category click
*/
function onUpdateCategoryClick(){
var objDialog = jQuery("#uc_dialog_edit_category");
var catID = objDialog.data("catid");
var catData = g_objSettingsCategory.getSettingsValues();
var catTitle = catData["category_title"];
var data = {
cat_id: catID,
cat_data: catData
};
g_ucAdmin.dialogAjaxRequest("uc_dialog_edit_category", "update_category", data, function(){
g_objCats.updateTitle(catID, catTitle);
});
}
/**
* init edit category dialog
*/
function initEditCategoryDialog(){
if(!g_objCats)
return(false);
g_objCats.events.onOpenCategoryDialog = openCategoryDialog;
jQuery("#uc_dialog_edit_category_action").on("click",onUpdateCategoryClick);
}
function ___________TEMPLATES_PREVIEW_DIALOG________________(){}
/**
* on web layout click
* open the layout preview and install dialog
*/
function onWebTemplateClick(objItem){
var isGroup = objItem.data("isgroup");
if(isGroup == true){
var itemName = objItem.data("name");
setEditGroupMode(itemName, objItem);
return(false);
}
if(!g_objDialogPreviewTemplate)
return(false);
//-- small reset if error message
g_objDialogPreviewTemplate.removeClass("uc-loading-mode");
g_objDialogPreviewTemplate.removeClass("uc-just-imported");
//---- set the top button - next, prev states
var objButtonNext = g_objDialogPreviewTemplate.find("#uc_dialog_import_template_button_next");
var objButtonPrev = g_objDialogPreviewTemplate.find("#uc_dialog_import_template_button_prev");
var objNextItem = g_objItems.getNextItem(objItem);
var objPrevItem = g_objItems.getPrevItem(objItem);
var classDisabled = "uc-button-disabled";
if(objNextItem)
objButtonNext.removeClass(classDisabled);
else
objButtonNext.addClass(classDisabled);
if(objPrevItem)
objButtonPrev.removeClass(classDisabled);
else
objButtonPrev.addClass(classDisabled);
//------
var isImported = objItem.data("isimported")
//save the item
g_objDialogPreviewTemplate.data("current_item", objItem);
//set title
var objTitle = g_objDialogPreviewTemplate.find(".uc-dialog-preview-template__title");
var templateTitle = objItem.data("title");
var state = objItem.data("state");
objTitle.html(templateTitle);
//set image
var urlPreviewImage = objItem.data("preview");
var objImage = g_objDialogPreviewTemplate.find(".uc-dialog-preview-template__image");
objImage.attr("src", urlPreviewImage);
//clear the create page input
var objPageName = g_objDialogPreviewTemplate.find(".uc-dialog-preview-template__page-name");
objPageName.html("");
//if state - is pro, add pro class, hide the operations
if(state == "pro"){
g_objDialogPreviewTemplate.addClass("uc-pro-mode");
}else
g_objDialogPreviewTemplate.removeClass("uc-pro-mode");
//if already imported - show message dialog
if(isImported === true){
g_objDialogPreviewTemplate.addClass("uc-imported-mode");
var objLinks = {};
objLinks.url = objItem.data("linkview");
objLinks.url_edit = objItem.data("linkedit");
previewDialog_showMessageAfterImport("top", objLinks);
}else{
g_objDialogPreviewTemplate.removeClass("uc-imported-mode");
//hide the message dialog
var objDialogMessage = jQuery("#uc_dialog_import_template_imported_message");
objDialogMessage.hide();
}
//show the template dialog
g_objDialogPreviewTemplate.show();
}
/**
* show message after import
*/
function previewDialog_showMessageAfterImport(position, response){
var urlTemplate = response.url;
var urlTemplateEdit = response.url_edit;
var objDialogMessage = jQuery("#uc_dialog_import_template_imported_message");
var linkView = objDialogMessage.find(".uc-dialog-preview-template__imported-message-link1");
var linkEdit = objDialogMessage.find(".uc-dialog-preview-template__imported-message-link2");
var linkViewText = linkView.data("text-"+position);
var linkEditText = linkEdit.data("text-"+position);
linkView.html(linkViewText);
linkEdit.html(linkEditText);
linkView.attr("href", urlTemplate);
linkEdit.attr("href", urlTemplateEdit);
objDialogMessage.show();
objDialogMessage.appendTo("#uc_dialog_import_template_imported_message_"+position);
}
/**
* on import template click
* imports template from the catalog to elementor template library
*/
function previewDialog_onImportClick(importAgain){
g_objDialogPreviewTemplate.removeClass("uc-imported-mode");
var objDialogMessage = jQuery("#uc_dialog_import_template_imported_message");
objDialogMessage.hide();
var objItem = g_objDialogPreviewTemplate.data("current_item");
var objSuccessMessage = jQuery("#uc_dialog_import_template_success");
var data = {};
data.name = objItem.data("name");
if(importAgain === true)
data.import_again = true;
g_ucAdmin.setAjaxLoaderID("uc_dialog_import_template_loader");
g_ucAdmin.setErrorMessageID("uc_dialog_import_template_error");
objSuccessMessage.hide();
g_objDialogPreviewTemplate.addClass("uc-loading-mode");
//g_ucAdmin.setSuccessMessageID("uc_dialog_import_template_success");
g_ucAdmin.ajaxRequest("import_elementor_catalog_template", data, function(response){
g_objDialogPreviewTemplate.removeClass("uc-loading-mode");
g_objDialogPreviewTemplate.addClass("uc-just-imported");
g_objDialogPreviewTemplate.data("was_import", true);
previewDialog_showMessageAfterImport("top", response);
});
}
/**
* import template again (overwrite the old)
*/
function previewDialog_onImportAgainClick(){
var objImportAgain = jQuery(this);
g_ucAdmin.validateDomElement(objImportAgain, "import again button");
var message = objImportAgain.data("message-confirm");
if(confirm(message) == false)
return(false);
else
previewDialog_onImportClick(true);
}
/**
* create page from the template
*/
function previewDialog_onCreatePageClick(){
var isLoading = g_objDialogPreviewTemplate.hasClass("uc-loading-mode");
if(isLoading == true)
return(false);
g_objDialogPreviewTemplate.removeClass("uc-imported-mode");
var objDialogMessage = jQuery("#uc_dialog_import_template_imported_message");
objDialogMessage.hide();
var objItem = g_objDialogPreviewTemplate.data("current_item");
var objInput = g_objDialogPreviewTemplate.find(".uc-dialog-preview-template__page-name");
var data = {};
data.name = objItem.data("name");
data.create_page = true;
data.page_name = objInput.val();
g_ucAdmin.setAjaxLoaderID("uc_dialog_import_template_createpage_loader");
// -- error handling ---
g_ucAdmin.setErrorMessageID(function(htmlError){
jQuery("#uc_dialog_import_template_createpage_error").show().html(htmlError);
g_objDialogPreviewTemplate.removeClass("uc-loading-mode");
});
g_ucAdmin.setErrorMessageOnHide(function(){
jQuery("#uc_dialog_import_template_createpage_error").hide();
});
g_objDialogPreviewTemplate.addClass("uc-loading-mode");
g_ucAdmin.ajaxRequest("import_elementor_catalog_template", data, function(response){
g_objDialogPreviewTemplate.removeClass("uc-loading-mode");
previewDialog_showMessageAfterImport("bottom", response);
});
}
/**
* on next template click
*/
function previewDialog_onNextTemplateClick(){
var objLink = jQuery(this);
if(objLink.hasClass("uc-button-disabled"))
return(false);
var objItem = g_objDialogPreviewTemplate.data("current_item");
if(!objItem)
return(false);
var objNextItem = g_objItems.getNextItem(objItem);
if(!objNextItem)
return(false);
objNextItem.trigger("click");
}
/**
* on previous template click
*/
function previewDialog_onPreviousTemplateClick(){
var objLink = jQuery(this);
if(objLink.hasClass("uc-button-disabled"))
return(false);
var objItem = g_objDialogPreviewTemplate.data("current_item");
if(!objItem)
return(false);
var objPrevItem = g_objItems.getPrevItem(objItem);
if(!objPrevItem)
return(false);
objPrevItem.trigger("click");
}
/**
* on button close click
*/
function previewDialog_onButtonCloseClick(){
g_objDialogPreviewTemplate.hide();
var wasImport = g_objDialogPreviewTemplate.data("was_import");
if(wasImport == true){
g_objDialogPreviewTemplate.data("was_import", false);
getSelectedCatAddons();
}
}
function ___________EVENTS________________(){}
/**
* on hide empty text, hide no addons message as well
*/
function onItemHideEmptyText(){
if(g_emptyAddonsWrapper)
g_emptyAddonsWrapper.hide();
}
/**
* on item mouseover
*/
function onItemMouseover(event, item){
var objItem = jQuery(item);
if(g_objTooltip)
checkShowTooltip(objItem);
//handle label state
g_objBrowser.onAddonHover(event, objItem);
}
/**
* on item mouseover
*/
function onItemMouseout(event, item){
var objItem = jQuery(item);
if(g_objTooltip)
hideTooltip();
g_objBrowser.onAddonHover(event, objItem);
}
/**
* on item click - if it's web and free addon - install
* if it's layout - go to on web click
*/
function onItemClick(objItem, itemType){
if(itemType != "web")
return(false);
if(g_temp.isLayout == true){
onWebTemplateClick(objItem);
return(false);
}
var state = objItem.data("state");
if(state != "free")
return(false);
var catData = g_objCats.getSelectedCatData();
if(!catData)
return(false);
var catTitle = g_ucAdmin.getVal(catData, "title");
g_objBrowser.installAddon(objItem, catTitle, function(response){
if(g_temp.isLayout == false)
var addonID = g_ucAdmin.getVal(response, "addonid");
else
var addonID = g_ucAdmin.getVal(response, "layoutid");
g_ucAdmin.validateNotEmpty(addonID, "Addon ID or Layout ID");
objItem.data("id", addonID);
objItem.attr("id","uc_item_"+addonID);
objItem.data("itemtype","");
});
return(true);
}
/**
* open preview dialog
*/
function openAddonPreviewDialog(objItem, urlPreview){
g_ucAdmin.validateDomElement(g_objDailogPreview, "dialog preview");
var addonTitle = objItem.data("title");
var objIframe = g_objDailogPreview.find("iframe");
g_ucAdmin.validateDomElement(objIframe, "dialog iframe");
objIframe.attr( "src", urlPreview );
g_objDailogPreview.dialog({
title: addonTitle,
dialogClass:"unite-dialog-responsive",
modal: true,
width: 1020,
height: 600
});
}
/**
* on dialog preview close - clear the iframe
*/
function onDialogPreviewClose(){
var objIframe = g_objDailogPreview.find("iframe");
objIframe.attr( 'src', "");
}
/**
* on item action click
*/
function onItemActionClick(event){
//var obj
var objButton = jQuery(this);
var objItem = objButton.parents("li");
g_objItems.selectSingleItem(objItem);
var action = objButton.data("action");
if(action == "open_menu")
return(true);
t.runItemAction(action);
}
/**
* on item button click
*/
function onItemButtonClick(event){
var objButton = jQuery(this);
//open preview dialog
if(objButton.hasClass("uc-button-preview")){
//don't open the dialog preview
event.stopPropagation();
return(true);
event.preventDefault();
var objItem = objButton.parents("li");
var urlPreview = objButton.data("url-link");
openAddonPreviewDialog(objItem, urlPreview);
event.stopPropagation();
return(false);
}
if(objButton.hasClass("uc-button-free"))
return(true);
event.stopPropagation();
return(true);
}
/**
* on update click
*/
function onUpdateCatalogClick(){
var objButton = jQuery(this);
var objIcon = objButton.find("i");
objIcon.addClass("fa-spin");
var isDebugMode = g_ucAdmin.isDebugMode();
var data = {};
data["force"] = true;
g_ucAdmin.ajaxRequest("check_catalog", data, function(response){
objIcon.removeClass("fa-spin");
var message = g_ucAdmin.getVal(response,"message");
var errorMessage = g_ucAdmin.getVal(response,"error_message");
if(errorMessage)
message += errorMessage;
alert(message);
});
}
/**
* on item action menu click
*/
function onItemActionMenuClick(event){
var objButton = jQuery(this);
var objItem = objButton.parents("li.uc-addon-thumbnail");
g_ucAdmin.validateDomElement(objItem, "item object");
var objMenu = jQuery("#rightmenu_item_actions");
g_ucAdmin.validateDomElement(objMenu, "items action menu");
g_manager.showMenuOnMousePos(event, objMenu);
}
/**
* init events
*/
function initEvents(){
g_manager.onEvent(g_manager.events.ITEM_HIDE_EMPTY_TEXT, onItemHideEmptyText);
g_manager.onEvent(g_manager.events.ITEM_MOUSEOVER, onItemMouseover);
g_manager.onEvent(g_manager.events.ITEM_MOUSEOUT, onItemMouseout);
g_objItems.events.onSpecialItemClick = onItemClick;
g_ucAdmin.onEvent("screenshot_saved", onScreenshotSaved);
//on addon button click
g_objDailogPreview.on( "dialogclose", onDialogPreviewClose );
g_objListWrapper.on("click", ".uc-item-action-menu", onItemActionMenuClick);
g_objListWrapper.on("click", "li .uc-addon-button", onItemButtonClick);
g_objListWrapper.on("click","li .uc-item-action", onItemActionClick);
//group mode events
var objGroup = g_objWrapper.find("#uc_manager_group");
if(objGroup.length){
var objButtonGroupBack = objGroup.find(".uc-manager-group-back");
objButtonGroupBack.on("click", onExitGroupButtonClick);
}
//bottom copy panel
if(g_objBottomCopyPanel){
var objButtonMove = g_objBottomCopyPanel.find(".uc-button-copypanel-move");
var objButtonCancel = g_objBottomCopyPanel.find(".uc-button-copypanel-cancel");
objButtonMove.on("click", onBottomCopyPanelMoveClick);
objButtonCancel.on("click", hideBottomCopyPanel);
}
//update catalog button
var objButtonUpdate = g_objWrapper.find(".manager-button-update-catalog");
if(objButtonUpdate.length)
objButtonUpdate.on("click", onUpdateCatalogClick);
//init preview template dialaog
if(g_objDialogPreviewTemplate){
var objButtonClose = g_objDialogPreviewTemplate.find("#uc_dialog_import_template_button_close");
var objButtonNext = g_objDialogPreviewTemplate.find("#uc_dialog_import_template_button_next");
var objButtonPrev = g_objDialogPreviewTemplate.find("#uc_dialog_import_template_button_prev");
var objButtonImport = g_objDialogPreviewTemplate.find(".uc-dialog-preview-template__button-import");
var objButtonImportAgain = g_objDialogPreviewTemplate.find(".uc-dialog-preview-template__button-import-again");
var objButtonCreatePage = g_objDialogPreviewTemplate.find(".uc-dialog-preview-template__button-create-page");
objButtonClose.on("click", previewDialog_onButtonCloseClick);
objButtonImport.on("click", previewDialog_onImportClick);
objButtonImportAgain.on("click", previewDialog_onImportAgainClick);
objButtonCreatePage.on("click", previewDialog_onCreatePageClick);
objButtonNext.on("click", previewDialog_onNextTemplateClick);
objButtonPrev.on("click", previewDialog_onPreviousTemplateClick);
}
}
/**
* init shortcode input if available
*/
function initShortcode(){
g_inputShortcode = g_objWrapper.find(".uc-filers-set-shortcode");
if(g_inputShortcode.length == 0){
g_inputShortcode = null;
return(false);
}
g_inputShortcode.focus(function(){
this.select();
});
g_manager.onEvent(g_manager.events.ITEM_SELECTION_CHANGE, function(){
var objItem = g_objItems.getSelectedItem();
if(!objItem)
return(true);
var itemID = objItem.data("id");
var title = objItem.data("title");
var shortcode = g_inputShortcode.data("template");
shortcode = shortcode.replace("\"", "");
shortcode = shortcode.replace("%id%", itemID);
shortcode = shortcode.replace("%title%", title);
g_inputShortcode.val(shortcode);
});
}
/**
* init debug dialog
*/
function initDebugDialog(){
var objDebugButton = g_objWrapper.find(".manager-button-debug-dialog");
if(objDebugButton.length == 0)
return(false);
objDebugButton.click(function(){
g_ucAdmin.openCommonDialog("uc_manager_dialog_debug");
});
}
/**
* init the actions
*/
this.init = function(objManager){
g_manager = objManager;
//set addons type
g_objWrapper = g_manager.getObjWrapper();
g_addonsType = g_objWrapper.data("addonstype");
g_options = g_objWrapper.data("options");
g_temp.isLayout = g_ucAdmin.getVal(g_options, "is_layout");
g_temp.url_screenshot_template = g_ucAdmin.getVal(g_options, "url_screenshot_template");
g_manager.setObjAjaxAddData({addontype: g_addonsType});
//init empty addons wrapper
g_emptyAddonsWrapper = jQuery("#uc_empty_addons_wrapper");
if(g_emptyAddonsWrapper.length == 0)
g_emptyAddonsWrapper = null;
//init cats
g_objCats = g_manager.getObjCats();
if(g_objCats)
g_objCats.setObjAjaxAddData({type: g_addonsType});
//init items
g_objItems = g_manager.getObjItems();
g_objItems.setSpacesBetween(15,15);
g_objListWrapper = g_objItems.getObjListWrapper();
//init templates preview dialog
g_objDialogPreviewTemplate = jQuery("#uc_dialog_preview_template");
if(g_objDialogPreviewTemplate.length == 0)
g_objDialogPreviewTemplate = null;
//init group related
g_objGroupText = g_objWrapper.find(".uc-manager-group-text");
if(g_objGroupText.length == 0)
g_objGroupText = null;
//g_manager.setNotUpdateHeight();
g_manager.initItems();
//init browser
g_objBrowser.setAddonType(g_addonsType, g_temp.isLayout, true);
g_objDailogPreview = jQuery('#uc_dialog_item_preview');
//init bottom copy panel
g_objBottomCopyPanel = g_objWrapper.find(".uc-bottom-copypanel");
if(g_objBottomCopyPanel.length == 0)
g_objBottomCopyPanel = null;
initDebugDialog();
initItems();
initFilters();
initTooltip();
initEditCategoryDialog();
initShortcode();
initEvents();
//var totalHeight = g_temp.initHeight;
//g_manager.setTotalHeight(totalHeight);
};
}