AUI.add("liferay-document-library",function(e){var h=e.Lang,f=e.config.win,k=f&&f.File&&f.FormData&&f.XMLHttpRequest,f=e.Component.create({ATTRS:{editEntryUrl:{validator:h.isString},form:{validator:h.isObject},moveEntryUrl:{validator:h.isString},searchContainerId:{validator:h.isString}},AUGMENTS:[Liferay.PortletBase],EXTENDS:e.Base,NAME:"documentlibrary",prototype:{initializer:function(b){this._documentLibraryContainer=this.byId("documentLibraryContainer");this._eventDataRequest=this.ns("dataRequest");
this._entriesContainer=this.byId("entriesContainer");var a=Liferay.SearchContainer.get(this.NS+this.get("searchContainerId"));a.registerAction("move-to-folder",e.bind("_moveToFolder",this));a.registerAction("move-to-trash",e.bind("_moveToTrash",this));this._searchContainer=a;this._folderId=b.folders.defaultParentFolderId;a=[Liferay.on(this.ns("editEntry"),this._editEntry,this),Liferay.on(this.ns("openDocument"),this._openDocument,this)];this._config=b;var c=themeDisplay.isSignedIn()&&this.one("#addButtonContainer");
k&&c&&this._entriesContainer.inDoc()&&(b.appViewEntryTemplates=this.byId("appViewEntryTemplates"),a.push(e.getDoc().once("dragenter",this._plugUpload,this,b)));this._eventHandles=a},destructor:function(){e.Array.invoke(this._eventHandles,"detach");this._documentLibraryContainer.purge(!0)},getFolderId:function(){return this._folderId},_editEntry:function(b){b=b.action;var a=this.get("editEntryUrl");if("move"===b||"moveEntries"===b)a=this.get("moveEntryUrl");this._processAction(b,a)},_moveToFolder:function(b){var a=
this.NS,c=b.targetItem;b=b.selectedItems;var d=c.attr("data-folder-id");!d||this._searchContainer.select&&!b.indexOf(c.one("input[type\x3dcheckbox]"))||(this.get("form").node.get(a+"newFolderId").val(d),this._processAction("move",this.get("moveEntryUrl")))},_moveToTrash:function(){this._processAction("move_to_trash",this.get("editEntryUrl"))},_openDocument:function(b){var a=this;Liferay.Util.openDocument(b.webDavUrl,null,function(c){c=h.sub("Cannot open the requested document due to the following reason: {0}",
[c.message]);var d=a.ns("openMSOfficeError");d&&(d.setHTML(c),d.removeClass("hide"))})},_plugUpload:function(b,a){this.plug(Liferay.DocumentLibraryUpload,{appViewEntryTemplates:a.appViewEntryTemplates,columnNames:a.columnNames,dimensions:a.folders.dimensions,displayStyle:a.displayStyle,entriesContainer:this._entriesContainer,folderId:this._folderId,maxFileSize:a.maxFileSize,redirect:a.redirect,scopeGroupId:a.scopeGroupId,uploadURL:a.uploadURL,viewFileEntryURL:a.viewFileEntryURL})},_processAction:function(b,
a,c){var d=this.NS,g=this.get("form").node;c=c||location.href;g.attr("method",this.get("form").method);g.get(d+"javax-portlet-action")?g.get(d+"javax-portlet-action").val(b):g.get(d+"cmd").val(b);g.get(d+"redirect").val(c);submitForm(g,a)}}});Liferay.Portlet.DocumentLibrary=f},"",{requires:["document-library-upload","liferay-message","liferay-portlet-base"]});
AUI.add("document-library-upload",function(g){var n=g.Array,v=g.Node,w=Liferay.HistoryManager,p=g.Lang,x=p.String,y=g.Uploader.Queue,t=p.isNumber,q=p.isString,r=p.sub,z=g.config.doc,u=themeDisplay.getPathThemeImages(),A=/\.(aac|auif|bwf|flac|mp3|mp4|m4a|wav|wma)$/i,B=/\.(dmg|gz|tar|tgz|zip)$/i,C=/\.(bmp|gif|jpeg|jpg|png|tiff)$/i,D=/\.(avi|flv|mpe|mpg|mpeg|mov|m4v|ogg|wmv)$/i,E=u+"/file_system/large/",F='\x3cspan class\x3d"app-view-entry-taglib entry-display-style"\x3e\x3ca class\x3d"taglib-icon"\x3e\x3cimg alt\x3d"" class\x3d"icon" src\x3d"'+
u+'/file_system/small/page.png" /\x3e\x3cspan class\x3d"taglib-text"\x3e{0}\x3c/span\x3e\x3c/a\x3e\x3c/span\x3e',G=new g.Template('\x3cspan class\x3d"lfr-status-success-label"\x3e{validFilesLength}\x3c/span\x3e','\x3cspan class\x3d"lfr-status-error-label"\x3e{invalidFilesLength}\x3c/span\x3e','\x3cul class\x3d"list-unstyled"\x3e','\x3ctpl for\x3d"invalidFiles"\x3e',"\x3cli\x3e\x3cb\x3e{name}\x3c/b\x3e: {errorMessage}\x3c/li\x3e","\x3c/tpl\x3e","\x3c/ul\x3e"),H=themeDisplay.getPathContext()+"/documents/{0}/{1}/{2}",
q=g.Component.create({ATTRS:{appViewEntryTemplates:{validator:g.one,value:{}},columnNames:{setter:function(a){a.push("");a.unshift("");return a},validator:Array.isArray,value:[]},dimensions:{value:{}},displayStyle:{validator:q,value:""},entriesContainer:{validator:g.one,value:{}},folderId:{getter:function(){return this.get("host").getFolderId()},readonly:!0,setter:p.toInt,validator:t||q,value:null},maxFileSize:{validator:function(a){return t(a)&&0<a},value:Liferay.PropsValues.UPLOAD_SERVLET_REQUEST_IMPL_MAX_SIZE},
redirect:{validator:q,value:""},scopeGroupId:{validator:t,value:null},uploadURL:{setter:"_decodeURI",validator:q,value:""},viewFileEntryURL:{setter:"_decodeURI",validator:q,value:""}},AUGMENTS:[Liferay.StorageFormatter],EXTENDS:g.Plugin.Base,NAME:"documentlibraryupload",NS:"upload",prototype:{initializer:function(){var a=this.get("appViewEntryTemplates");this._columnNames=this.get("columnNames");this._dimensions=this.get("dimensions");this._displayStyle=this.get("displayStyle");this._entriesContainer=
this.get("entriesContainer");this._maxFileSize=this.get("maxFileSize");this._scopeGroupId=this.get("scopeGroupId");this._handles=[];this._invisibleDescriptiveEntry=a.one(".entry-display-style.display-descriptive");this._invisibleIconEntry=a.one(".entry-display-style.display-icon");this._strings={invalidFileSize:"Please enter a file with a valid file size no larger than {0}.",zeroByteFile:"The file contains no data and cannot be uploaded. Please use the classic uploader."};this._bindDragDropUI()},
destructor:function(){this._dataSet&&this._dataSet.destroy();this._navigationOverlays&&n.invoke(this._navigationOverlays,"destroy");this._uploader&&this._uploader.destroy();this._tooltipDelegate&&this._tooltipDelegate.destroy();this._detachSubscriptions();(new g.EventHandle(this._eventHandles)).detach()},_addFilesToQueueBottom:function(a){var b=this._getUploader().queue;a.forEach(function(c,d){b.addToQueueBottom(c)})},_attachSubscriptions:function(a){var b=this._handles,c=this._getDisplayStyle(),
d=this._getUploader();a.folder?b.push(d.on("alluploadscomplete",this._showFolderUploadComplete,this,a,c),d.on("totaluploadprogress",this._showFolderUploadProgress,this,a),d.on("uploadcomplete",this._detectFolderUploadError,this,a),d.on("uploadstart",this._showFolderUploadStarting,this,a)):b.push(d.after("fileuploadstart",this._showFileUploadStarting,this),d.on("uploadcomplete",this._showFileUploadComplete,this,c),d.on("uploadprogress",this._showFileUploadProgress,this))},_bindDragDropUI:function(){var a=
this,b=g.one(z.documentElement),c=a._entriesContainer,d=a.get("host");g.getWin()._node.onbeforeunload=g.bind("_confirmUnload",a);var d=Liferay.on(d.ns("dataRequest"),a._onDataRequest,a),e=g.debounce(function(){b.removeClass("upload-drop-intent");b.removeClass("upload-drop-active")},500),f=b.on("dragover",function(k){var l=k._event.dataTransfer;if(l&&l.types){var s=l.types||[];-1<n.indexOf(s,"Files")&&-1===n.indexOf(s,"text/html")&&(k.halt(),l.dropEffect="copy",b.addClass("upload-drop-intent"),k=k.target,
b.toggleClass("upload-drop-active",k.compareTo(c)||c.contains(k)),e())}}),h=b.delegate("drop",function(k){var l=k._event.dataTransfer;if(l){var s=l.types||[];-1<n.indexOf(s,"Files")&&-1===n.indexOf(s,"text/html")&&(k.halt(),l=n(l.files),k.fileList=l.map(function(I,K){return new g.FileHTML5(I)}),a._getUploader().fire("fileselect",k))}},'body, .document-container, .overlaymask, .progressbar, [data-folder\x3d"true"]'),m=c.delegate(["dragleave","dragover"],function(k){var l=k._event.dataTransfer.types;
-1<n.indexOf(l,"Files")&&-1===n.indexOf(l,"text/html")&&(l=k.target.ancestor('[data-folder\x3d"true"]'),l||(l=k.target),l.toggleClass("active-area","dragover"==k.type))},'[data-folder\x3d"true"]'),J=c.delegate("click",function(k){k.preventDefault()},".upload-error .entry-display-style a");a._eventHandles=[d,f,h,m,J]},_combineFileLists:function(a,b){b.forEach(function(c,d){a.push(c)})},_confirmUnload:function(){if(this._isUploading())return"Uploads are in progress. If you leave this page, some uploads may not complete."},
_createEntriesContainer:function(a,b){var c="display-style-descriptive tabular-list-group";"icon"===b&&(c="display-style-icon list-unstyled row");c=v.create(p.sub('\x3cul class\x3d"{cssClass}"\x3e\x3c/ul\x3e',{cssClass:c}));a.one(".searchcontainer-content").prepend(c);return c},_createEntryNode:function(a,b,c){var d=this.get("entriesContainer"),e=d.one(".searchcontainer");if("list"===c)d=e.one("tbody"),b=this._createEntryRow(a,b);else{b="ul.tabular-list-group:last-of-type";"icon"===c&&(b="ul.list-unstyled:last-of-type");
d=d.one(b)||this._createEntriesContainer(d,c);b=this._invisibleDescriptiveEntry;var f=r('\x3cinput class\x3d"hide entry-selector" name\x3d"{0}" type\x3d"checkbox" value\x3d""\x3e',[this.get("host").ns("rowIdsFileEntry")]);"icon"===c&&(b=this._invisibleIconEntry);b=b.clone();b.append(f);var h=f=b.one("a");"icon"===c&&(h=b.one(".lfr-card-title-text"));f.attr("title",a);h.setContent(a);this._removeEmptyResultsMessage(e);(e=g.one("div.lfr-search-container-wrapper.main-content-body"))&&e.show()}b.attr({"data-title":a,
id:g.guid()});"icon"==c&&(a=v.create(p.sub('\x3cli class\x3d"lfr-asset-item data-title\x3d"{title}"\x3e\x3c/li\x3e',{title:a})),a.append(b),b=a);d.append(b);b.show().scrollIntoView();return b},_createEntryRow:function(a,b){var c=this,d=c._entriesContainer.one(".searchcontainer"),d=Liferay.SearchContainer.get(d.attr("id")),e=c._columnNames.map(function(f,h){var m="";"name"==f?m=r(F,[a]):"size"==f?m=c.formatStorage(b):"downloads"==f?m="0":0===h&&(m=r('\x3cinput class\x3d"hide entry-selector" name\x3d"{0}" type\x3d"checkbox" value\x3d""\x3e',
[c.get("host").ns("rowIdsFileEntry")]));return m}),d=d.addRow(e,g.guid());d.attr("data-draggable",!0);return d},_createOverlay:function(a,b){var c=(new g.OverlayMask({background:b||null,target:a})).render();c.get("boundingBox").addClass("portlet-document-library-upload-mask");return c},_createProgressBar:function(a){var b=a.height()/5;a=0.8*a.width();return new g.ProgressBar({height:b,on:{complete:function(c){this.set("label","complete!")},valueChange:function(c){this.set("label",c.newVal+"%")}},
width:a})},_createUploadStatus:function(a,b){var c=this._createOverlay(a),d=this._createProgressBar(a);c.show();b?(b.overlay=c,b.progressBar=d,b.target=a):(a.overlay=c,a.progressBar=d)},_decodeURI:function(a){return decodeURI(a)},_destroyEntry:function(){var a=this._getCurrentUploadData(),b=a.fileList;a.folder||b.forEach(function(c,d){c.overlay.destroy();c.progressBar.destroy()});n.invoke(b,"destroy")},_detachSubscriptions:function(){var a=this._handles;n.invoke(a,"detach");a.length=0},_detectFolderUploadError:function(a,
b){var c=this._getUploadResponse(a.data);if(c.error){var d=a.file;d.errorMessage=c.message;b.invalidFiles.push(d)}},_displayEntryError:function(a,b,c){"list"==c?a.one("img.icon").attr("src",u+"/common/close.png"):a.addClass("upload-error");this._displayError(a,b)},_displayError:function(a,b){var c=this;a.attr("data-message",b);var d=c._tooltipDelegate;d||(d=new g.TooltipDelegate({formatter:function(e){return c._formatTooltip(e,this)},trigger:".app-view-entry.upload-error",visible:!1}),c._tooltipDelegate=
d);return a},_displayResult:function(a,b,c){a&&(b="upload-success",c&&(a.removeClass("upload-error").removeClass("upload-warning"),!0===c?b="upload-error":1==c&&(b="upload-warning")),a.addClass(b),a.addClass("entry-display-style"))},_formatTooltip:function(a,b){b.set("zIndex",2);return b.get("trigger").attr("data-message")},_getCurrentUploadData:function(){return this._getDataSet().get("first")},_getDataSet:function(){var a=this._dataSet;a||(this._dataSet=a=new g.DataSet);return a},_getDisplayStyle:function(a){var b=
this.get("host").ns("displayStyle"),b=w.get(b)||this._displayStyle;a&&(b=a==b);return b},_getEmptyMessage:function(){var a=this._emptyMessage;a||(this._emptyMessage=a=this._entriesContainer.one(".entries-empty"));return a},_getFolderEntryNode:function(a){var b;a.hasClass("overlay-content")?b=g.Widget.getByNode(a)._originalConfig.target:("true"===a.attr("data-folder")&&(b=a),b||(b=a.ancestor('.entry-display-style a[data-folder\x3d"true"]')),b||(b=a.ancestor('[data-folder\x3d"true"][data-title]')),
b=b&&b.ancestor());return b},_getMediaThumbnail:function(a){var b="default.png";C.test(a)?b=r(H,[this._scopeGroupId,this.get("folderId"),a]):(x.endsWith(a.toLowerCase(),".pdf")?b="pdf.png":A.test(a)?b="music.png":D.test(a)?b="video.png":B.test(a)&&(b="compressed.png"),b=E+b);return b},_getNavigationOverlays:function(){var a=this,b=a._navigationOverlays;if(!b){var b=[],c=function(e){e&&(e=a._createOverlay(e,"#FFF"),b.push(e))},d=a.get("entriesContainer");c(d.one(".document-entries-pagination"));c(d.one(".app-view-taglib.lfr-header-row"));
c(a.get(".searchcontainer"));a._navigationOverlays=b}return b},_getTargetFolderId:function(a){return(a=(a=this._getFolderEntryNode(a))&&a.one("[data-folder-id]"))&&p.toInt(a.attr("data-folder-id"))||this.get("folderId")},_getUploader:function(){var a=this,b=a._uploader;if(!b){var b=new g.Uploader({appendNewFiles:!1,fileFieldName:"file",multipleFiles:!0,simLimit:1}),c=a._getNavigationOverlays();b.on("uploadstart",function(d){n.invoke(c,"show")});b.after("alluploadscomplete",function(d){n.invoke(c,
"hide");(d=a._getEmptyMessage())&&!d.hasClass("hide")&&d.hide(!0)});b.get("boundingBox").hide();b.render();b.after("alluploadscomplete",a._startNextUpload,a);b.after("fileselect",a._onFileSelect,a);a._uploader=b}return b},_getUploadResponse:function(a){var b,c;try{a=JSON.parse(a)}catch(d){}p.isObject(a)&&(c=(b=a.status&&490<=a.status&&500>a.status)?a.message:this.get("host").ns("fileEntryId\x3d")+a.fileEntryId);return{error:b,message:c}},_getUploadStatus:function(a){return this._getDataSet().item(String(a))},
_getUploadURL:function(a){var b=this._uploadURL;if(!b){var c=this.get("redirect"),b=this.get("uploadURL");this._uploadURL=Liferay.Util.addParams({redirect:c,ts:Date.now()},b)}return r(b,{folderId:a})},_isUploading:function(){var a=this._uploader,a=a&&a.queue;return!!a&&(0<a.queuedFiles.length||0<a.numberOfUploads||!g.Object.isEmpty(a.currentFiles))&&a._currentState==y.UPLOADING},_onDataRequest:function(a){this._isUploading()&&a.halt()},_onFileSelect:function(a){var b=a.details[0].target;a=this._validateFiles(a.fileList);
this._updateStatusUI(b,a);this._queueSelectedFiles(b,a)},_positionProgressBar:function(a,b){var c=b.get("boundingBox");b.render(a.get("boundingBox"));c.center(a.get("contentBox"))},_queueSelectedFiles:function(a,b){var c=this._getTargetFolderId(a),d=this._getUploadStatus(c),e=b.matches;if(d)this._updateDataSetEntry(c,d,e);else{var d=this._getDataSet(),f=null,h=c!==this.get("folderId");h&&(f=this._getFolderEntryNode(a));d.add(c,{fileList:e,folder:h,folderId:c,invalidFiles:b.rejects,target:f})}this._isUploading()||
this._startUpload()},_removeEmptyResultsMessage:function(a){a=a.getAttribute("id");(a=g.one("#"+a+"EmptyResultsMessage"))&&a.hide()},_showFileUploadComplete:function(a,b){var c=a.file,d=c.target,e=this._getUploadResponse(a.data);if(e){var f=!!e.error;if(f)this._displayEntryError(d,e.message,b);else{var h="list"==b,m=JSON.parse(a.data).fileEntryId;h||this._updateThumbnail(d,c.name);this._updateFileLink(d,e.message,h);this._updateFileHiddenInput(d,m)}this._displayResult(d,b,f)}c.overlay.hide()},_showFileUploadProgress:function(a){this._updateProgress(a.file.progressBar,
a.percentLoaded)},_showFileUploadStarting:function(a){a=a.file;this._positionProgressBar(a.overlay,a.progressBar)},_showFolderUploadComplete:function(a,b,c){a=b.target;var d=b.invalidFiles;b=b.fileList.length;var e=d.length,f=0!==e;f&&e!==b&&(f=1);this._displayResult(a,c,f);f&&this._displayError(a,G.parse({invalidFiles:d,invalidFilesLength:e,validFilesLength:b-e}));a.overlay.hide()},_showFolderUploadProgress:function(a,b){this._updateProgress(b.target.progressBar,a.percentLoaded)},_showFolderUploadStarting:function(a,
b){var c=b.target;this._positionProgressBar(c.overlay,c.progressBar)},_startNextUpload:function(a){this._destroyEntry();a=this._getDataSet();a.removeAt(0);a.length&&this._startUpload()},_startUpload:function(){var a=this._getCurrentUploadData(),b=a.fileList,c=this._getUploader();if(b.length){var d=this._getUploadURL(a.folderId);this._attachSubscriptions(a);c.uploadThese(b,d)}else c.fire("alluploadscomplete")},_updateDataSetEntry:function(a,b,c){this._getCurrentUploadData().folderId===a?this._addFilesToQueueBottom(c):
(this._combineFileLists(b.fileList,c),this._getDataSet().replace(a,b))},_updateFileHiddenInput:function(a,b){var c=a.one("input");c&&c.val(b)},_updateFileLink:function(a,b,c){var d=".entry-display-style a";c&&(d=".entry-display-style .taglib-icon");a=a.all(d);a.size()&&a.attr("href",Liferay.Util.addParams(b,this.get("viewFileEntryURL")))},_updateProgress:function(a,b){a.set("value",Math.ceil(b))},_updateStatusUI:function(a,b){var c=this;if(c._getTargetFolderId(a)!==c.get("folderId")){var d=c._getFolderEntryNode(a),
e=d.overlay;e?(e.show(),c._updateProgress(d.progressBar,0)):c._createUploadStatus(d);d.removeClass("active-area")}else{var f=c._getDisplayStyle();b.matches.map(function(h){var m=c._createEntryNode(h.name,h.size,f);c._createUploadStatus(m,h)});b.rejects.map(function(h){var m=c._createEntryNode(h.name,h.size,f);c._displayEntryError(m,h.errorMessage,c._getDisplayStyle())})}},_updateThumbnail:function(a,b){var c=a.one("img"),d=this._getMediaThumbnail(b);c.attr("src",d);"icon"===this._getDisplayStyle()&&
c.ancestor("div").setStyle("backgroundImage",'url("'+d+'")')},_validateFiles:function(a){var b=this,c=b._maxFileSize;return n.partition(a,function(d,e){var f,h=d.get("size")||0,m=b._strings;0!==c&&h>c?f=r(m.invalidFileSize,[b.formatStorage(b._maxFileSize)]):0===h&&(f=m.zeroByteFile);d.errorMessage=f;d.size=h;d.name=d.get("name");return!f})}}});Liferay.DocumentLibraryUpload=q},"",{requires:"aui-component aui-data-set-deprecated aui-overlay-manager-deprecated aui-overlay-mask-deprecated aui-parse-content aui-progressbar aui-template-deprecated aui-tooltip liferay-history-manager liferay-search-container liferay-storage-formatter querystring-parse-simple uploader".split(" ")});
