@@ -234,6 +234,12 @@ function defineDrive (builder: Builder): void {
234234 icon : drive . icon . Drive ,
235235 baseClass : drive . class . Drive ,
236236 availablePermissions : [
237+ drive . permission . CreateFolder ,
238+ drive . permission . UpdateFolder ,
239+ drive . permission . RemoveFolder ,
240+ drive . permission . CreateFile ,
241+ drive . permission . UpdateFile ,
242+ drive . permission . RemoveFile ,
237243 core . permission . UpdateSpace ,
238244 core . permission . ArchiveSpace ,
239245 core . permission . ForbidDeleteObject
@@ -326,7 +332,8 @@ function defineDrive (builder: Builder): void {
326332 mode : [ 'context' , 'browser' ] ,
327333 application : drive . app . Drive ,
328334 group : 'create'
329- }
335+ } ,
336+ visibilityTester : drive . function . CanCreateFolder
330337 } ,
331338 drive . action . CreateRootFolder
332339 )
@@ -475,6 +482,7 @@ function defineFolder (builder: Builder): void {
475482 actions : [
476483 view . action . Open ,
477484 view . action . OpenInNewTab ,
485+ view . action . Delete ,
478486 print . action . Print ,
479487 tracker . action . EditRelatedTargets ,
480488 tracker . action . NewRelatedIssue
@@ -494,7 +502,8 @@ function defineFolder (builder: Builder): void {
494502 mode : [ 'context' , 'browser' ] ,
495503 application : drive . app . Drive ,
496504 group : 'create'
497- }
505+ } ,
506+ visibilityTester : drive . function . CanCreateFolder
498507 } ,
499508 drive . action . CreateChildFolder
500509 )
@@ -518,6 +527,25 @@ function defineFolder (builder: Builder): void {
518527 drive . action . RenameFolder
519528 )
520529
530+ createAction (
531+ builder ,
532+ {
533+ action : view . actionImpl . Delete ,
534+ label : view . string . Delete ,
535+ icon : view . icon . Delete ,
536+ category : drive . category . Drive ,
537+ input : 'none' ,
538+ target : drive . class . Folder ,
539+ context : {
540+ mode : [ 'context' , 'browser' ] ,
541+ application : drive . app . Drive ,
542+ group : 'edit'
543+ } ,
544+ visibilityTester : drive . function . CanDeleteFolder
545+ } ,
546+ drive . action . DeleteFolder
547+ )
548+
521549 createAction ( builder , {
522550 ...actionTemplates . move ,
523551 action : view . actionImpl . ShowPopup ,
@@ -529,6 +557,7 @@ function defineFolder (builder: Builder): void {
529557 }
530558 } ,
531559 target : drive . class . Folder ,
560+ visibilityTester : drive . function . CanUpdateFolder ,
532561 context : {
533562 mode : [ 'browser' , 'context' ] ,
534563 group : 'tools'
@@ -569,7 +598,8 @@ function defineFileVersion (builder: Builder): void {
569598 mode : [ 'context' , 'browser' ] ,
570599 application : drive . app . Drive ,
571600 group : 'edit'
572- }
601+ } ,
602+ visibilityTester : drive . function . CanUpdateFileVersion
573603 } ,
574604 drive . action . RestoreFileVersion
575605 )
@@ -649,6 +679,7 @@ function defineFile (builder: Builder): void {
649679 actions : [
650680 view . action . Open ,
651681 view . action . OpenInNewTab ,
682+ view . action . Delete ,
652683 print . action . Print ,
653684 tracker . action . EditRelatedTargets ,
654685 tracker . action . NewRelatedIssue
@@ -692,6 +723,25 @@ function defineFile (builder: Builder): void {
692723 drive . action . RenameFile
693724 )
694725
726+ createAction (
727+ builder ,
728+ {
729+ action : view . actionImpl . Delete ,
730+ label : view . string . Delete ,
731+ icon : view . icon . Delete ,
732+ category : drive . category . Drive ,
733+ input : 'none' ,
734+ target : drive . class . File ,
735+ context : {
736+ mode : [ 'context' , 'browser' ] ,
737+ application : drive . app . Drive ,
738+ group : 'edit'
739+ } ,
740+ visibilityTester : drive . function . CanDeleteFile
741+ } ,
742+ drive . action . DeleteFile
743+ )
744+
695745 // createAction(
696746 // builder,
697747 // {
@@ -721,6 +771,7 @@ function defineFile (builder: Builder): void {
721771 }
722772 } ,
723773 target : drive . class . File ,
774+ visibilityTester : drive . function . CanUpdateFile ,
724775 context : {
725776 mode : [ 'browser' , 'context' ] ,
726777 group : 'tools'
0 commit comments