Skip to content

Commit

Permalink
Merge pull request #37929 from nextcloud/enh/a11y-create-new-label
Browse files Browse the repository at this point in the history
Create new file/folder labels
  • Loading branch information
juliusknorr authored Apr 27, 2023
2 parents 63912cc + 966bc06 commit 2646fd5
Show file tree
Hide file tree
Showing 8 changed files with 40 additions and 10 deletions.
6 changes: 5 additions & 1 deletion apps/files/js/newfilemenu.js
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@
templateName: t('files', 'New folder'),
iconClass: 'icon-folder',
fileType: 'folder',
actionLabel: t('files', 'Create new folder'),
actionHandler: function(name) {
self.fileList.createDirectory(name);
}
Expand Down Expand Up @@ -112,10 +113,12 @@

var newName = $target.attr('data-templatename');
var fileType = $target.attr('data-filetype');
var actionLabel = $target.attr('data-action-label');
var $form = $(OCA.Files.Templates['newfilemenu_filename_form']({
fileName: newName,
cid: this.cid,
fileType: fileType
fileType: fileType,
actionLabel,
}));

//this.trigger('actionPerformed', action);
Expand Down Expand Up @@ -207,6 +210,7 @@
iconClass: actionSpec.iconClass,
fileType: actionSpec.fileType,
useInput: actionSpec.useInput,
actionLabel: actionSpec.actionLabel,
actionHandler: actionSpec.actionHandler,
checkFilename: actionSpec.checkFilename,
shouldShow: actionSpec.shouldShow,
Expand Down
10 changes: 7 additions & 3 deletions apps/files/js/templates.js
Original file line number Diff line number Diff line change
Expand Up @@ -344,10 +344,12 @@ templates['newfilemenu'] = template({"1":function(container,depth0,helpers,parti
+ alias4(((helper = (helper = lookupProperty(helpers,"fileType") || (depth0 != null ? lookupProperty(depth0,"fileType") : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"fileType","hash":{},"data":data,"loc":{"start":{"line":7,"column":84},"end":{"line":7,"column":96}}}) : helper)))
+ "\" data-action=\""
+ alias4(((helper = (helper = lookupProperty(helpers,"id") || (depth0 != null ? lookupProperty(depth0,"id") : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"id","hash":{},"data":data,"loc":{"start":{"line":7,"column":111},"end":{"line":7,"column":117}}}) : helper)))
+ "\" data-action-label=\""
+ alias4(((helper = (helper = lookupProperty(helpers,"actionLabel") || (depth0 != null ? lookupProperty(depth0,"actionLabel") : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"actionLabel","hash":{},"data":data,"loc":{"start":{"line":7,"column":138},"end":{"line":7,"column":153}}}) : helper)))
+ "\"><span class=\"icon "
+ alias4(((helper = (helper = lookupProperty(helpers,"iconClass") || (depth0 != null ? lookupProperty(depth0,"iconClass") : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"iconClass","hash":{},"data":data,"loc":{"start":{"line":7,"column":137},"end":{"line":7,"column":150}}}) : helper)))
+ alias4(((helper = (helper = lookupProperty(helpers,"iconClass") || (depth0 != null ? lookupProperty(depth0,"iconClass") : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"iconClass","hash":{},"data":data,"loc":{"start":{"line":7,"column":173},"end":{"line":7,"column":186}}}) : helper)))
+ " svg\"></span><span class=\"displayname\">"
+ alias4(((helper = (helper = lookupProperty(helpers,"displayName") || (depth0 != null ? lookupProperty(depth0,"displayName") : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"displayName","hash":{},"data":data,"loc":{"start":{"line":7,"column":189},"end":{"line":7,"column":204}}}) : helper)))
+ alias4(((helper = (helper = lookupProperty(helpers,"displayName") || (depth0 != null ? lookupProperty(depth0,"displayName") : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"displayName","hash":{},"data":data,"loc":{"start":{"line":7,"column":225},"end":{"line":7,"column":240}}}) : helper)))
+ "</span></a>\n </li>\n";
},"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) {
var stack1, helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=container.hooks.helperMissing, alias3="function", alias4=container.escapeExpression, lookupProperty = container.lookupProperty || function(parent, propertyName) {
Expand Down Expand Up @@ -379,7 +381,9 @@ templates['newfilemenu_filename_form'] = template({"compiler":[8,">= 4.3.0"],"ma
+ alias4(((helper = (helper = lookupProperty(helpers,"fileType") || (depth0 != null ? lookupProperty(depth0,"fileType") : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"fileType","hash":{},"data":data,"loc":{"start":{"line":2,"column":26},"end":{"line":2,"column":38}}}) : helper)))
+ "\" type=\"text\" value=\""
+ alias4(((helper = (helper = lookupProperty(helpers,"fileName") || (depth0 != null ? lookupProperty(depth0,"fileName") : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"fileName","hash":{},"data":data,"loc":{"start":{"line":2,"column":59},"end":{"line":2,"column":71}}}) : helper)))
+ "\" autocomplete=\"off\" autocapitalize=\"off\">\n <input type=\"submit\" value=\" \" class=\"icon-confirm\" />\n</form>\n";
+ "\" autocomplete=\"off\" autocapitalize=\"off\">\n <input type=\"submit\" value=\" \" class=\"icon-confirm\" aria-label=\""
+ alias4(((helper = (helper = lookupProperty(helpers,"actionLabel") || (depth0 != null ? lookupProperty(depth0,"actionLabel") : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"actionLabel","hash":{},"data":data,"loc":{"start":{"line":3,"column":65},"end":{"line":3,"column":80}}}) : helper)))
+ "\" />\n</form>\n";
},"useData":true});
templates['operationprogressbar'] = template({"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) {
var helper, lookupProperty = container.lookupProperty || function(parent, propertyName) {
Expand Down
2 changes: 1 addition & 1 deletion apps/files/js/templates/newfilemenu.handlebars
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
</li>
{{#each items}}
<li>
<a href="#" class="menuitem" data-templatename="{{templateName}}" data-filetype="{{fileType}}" data-action="{{id}}"><span class="icon {{iconClass}} svg"></span><span class="displayname">{{displayName}}</span></a>
<a href="#" class="menuitem" data-templatename="{{templateName}}" data-filetype="{{fileType}}" data-action="{{id}}" data-action-label="{{actionLabel}}"><span class="icon {{iconClass}} svg"></span><span class="displayname">{{displayName}}</span></a>
</li>
{{/each}}
</ul>
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<form class="filenameform">
<input id="{{cid}}-input-{{fileType}}" type="text" value="{{fileName}}" autocomplete="off" autocapitalize="off">
<input type="submit" value=" " class="icon-confirm" />
<input type="submit" value=" " class="icon-confirm" aria-label="{{actionLabel}}" />
</form>
2 changes: 2 additions & 0 deletions apps/files/src/templates.js
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ window.addEventListener('DOMContentLoaded', function() {
templateName: t('files', 'Templates'),
iconClass: 'icon-template-add',
fileType: 'file',
actionLabel: t('files', 'Create new templates folder'),
actionHandler(name) {
initTemplatesFolder(name)
menu.removeMenuEntry('template-init')
Expand Down Expand Up @@ -109,6 +110,7 @@ templates.forEach((provider, index) => {
templateName: provider.label + provider.extension,
iconClass: provider.iconClass || 'icon-file',
fileType: 'file',
actionLabel: provider.actionLabel,
actionHandler(name) {
TemplatePicker.open(name, provider)
},
Expand Down
4 changes: 2 additions & 2 deletions dist/files-main.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/files-main.js.map

Large diffs are not rendered by default.

22 changes: 21 additions & 1 deletion lib/public/Files/Template/TemplateFileCreator.php
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,10 @@ final class TemplateFileCreator implements \JsonSerializable {
protected $iconClass;
protected $ratio = null;
protected $order = 100;
/**
* @since 27.0.0
*/
protected string $actionLabel;

/**
* @since 21.0.0
Expand Down Expand Up @@ -103,6 +107,21 @@ public function getOrder(): int {
return $this->order;
}

/**
* @since 27.0.0
*/
public function setActionLabel(string $actionLabel): TemplateFileCreator {
$this->actionLabel = $actionLabel;
return $this;
}

/**
* @since 27.0.0
*/
public function getActionLabel(): string {
return $this->actionLabel;
}

/**
* @since 21.0.0
*/
Expand All @@ -113,7 +132,8 @@ public function jsonSerialize(): array {
'extension' => $this->fileExtension,
'iconClass' => $this->iconClass,
'mimetypes' => $this->mimetypes,
'ratio' => $this->ratio
'ratio' => $this->ratio,
'actionLabel' => $this->actionLabel,
];
}
}

0 comments on commit 2646fd5

Please sign in to comment.