Quantcast
Channel: Experiencing Adobe Experience Manager (AEM, CQ)
Viewing all articles
Browse latest Browse all 525

AEM 62 - Touch UI Disable Upload of File in Granite Fileupload Widget

$
0
0

Goal


Disable Browse and Upload file in FileUpload widget - /libs/granite/ui/components/foundation/form/fileupload of Image component - /libs/foundation/components/image, in Touch UI

Demo | Package Install




Solution


1) Login to CRXDE Lite (http://localhost:4502/crx/de) and create folder /apps/eaem-fileupload-widget-disable-upload

2) Create node /apps/eaem-fileupload-widget-disable-upload/clientlib of type cq:ClientLibraryFolder and add a String property categories with value cq.authoring.dialog and dependencies to underscore

3) Create file (nt:file) /apps/eaem-fileupload-widget-disable-upload/clientlib/js.txt and add

                       disable-upload.js

4) Create file (nt:file) /apps/eaem-fileupload-widget-disable-upload/clientlib/disable-upload.js and add the following code

(function ($, $document, gAuthor) {
var COMPONENT = "foundation/components/image",
FILE_UPLOAD = ".coral-FileUpload",
FILE_UPLOAD_BROWSE = ".cq-FileUpload-browse",
DATA_ATTR_FILE_UPLOAD = "fileUpload";

if(!gAuthor){
return;
}

$document.on('dialog-ready', disableUpload);

function disableUpload(){
var editable = gAuthor.DialogFrame.currentDialog.editable;

//if not an image component dialog, return
if((editable.type !== COMPONENT)){
return;
}

var $fileUploads = $(FILE_UPLOAD), cuiFileUpload, $uploadBrowse;

$fileUploads.each(function(index, fileUpload){
cuiFileUpload = $(fileUpload).data(DATA_ATTR_FILE_UPLOAD);

$uploadBrowse = cuiFileUpload.$element.find(FILE_UPLOAD_BROWSE);

$uploadBrowse.off().on("click tap", function(){
showErrorAlert("Upload Disabled");
});

cuiFileUpload.$element.find("input[type='file']").remove();
});
}

function showErrorAlert(message, title){
var fui = $(window).adaptTo("foundation-ui"),
options = [{
text: "OK",
warning: true
}];

message = message || "Unknown Error";
title = title || "Error";

fui.prompt(title, message, "error", options);
}
}(jQuery, jQuery(document), Granite.author));


Viewing all articles
Browse latest Browse all 525

Trending Articles