gui: Add uncamel filter
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/4428 LGTM: imsodin, calmh
This commit is contained in:
committed by
Jakob Borg
parent
694a7de59d
commit
889814a1af
@@ -750,6 +750,7 @@
|
|||||||
<script type="text/javascript" src="syncthing/core/selectOnClickDirective.js"></script>
|
<script type="text/javascript" src="syncthing/core/selectOnClickDirective.js"></script>
|
||||||
<script type="text/javascript" src="syncthing/core/syncthingController.js"></script>
|
<script type="text/javascript" src="syncthing/core/syncthingController.js"></script>
|
||||||
<script type="text/javascript" src="syncthing/core/tooltipDirective.js"></script>
|
<script type="text/javascript" src="syncthing/core/tooltipDirective.js"></script>
|
||||||
|
<script type="text/javascript" src="syncthing/core/uncamelFilter.js"></script>
|
||||||
<script type="text/javascript" src="syncthing/core/uniqueFolderDirective.js"></script>
|
<script type="text/javascript" src="syncthing/core/uniqueFolderDirective.js"></script>
|
||||||
<script type="text/javascript" src="syncthing/core/validDeviceidDirective.js"></script>
|
<script type="text/javascript" src="syncthing/core/validDeviceidDirective.js"></script>
|
||||||
<script type="text/javascript" src="assets/lang/valid-langs.js"></script>
|
<script type="text/javascript" src="assets/lang/valid-langs.js"></script>
|
||||||
|
|||||||
27
gui/default/syncthing/core/uncamelFilter.js
Normal file
27
gui/default/syncthing/core/uncamelFilter.js
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
angular.module('syncthing.core')
|
||||||
|
.filter('uncamel', function () {
|
||||||
|
return function (input) {
|
||||||
|
input = input.replace(/(.)([A-Z][a-z]+)/g, '$1 $2').replace(/([a-z0-9])([A-Z])/g, '$1 $2');
|
||||||
|
var parts = input.split(' ');
|
||||||
|
var lastPart = parts.splice(-1)[0];
|
||||||
|
switch (lastPart) {
|
||||||
|
case "S":
|
||||||
|
parts.push('(seconds)');
|
||||||
|
break;
|
||||||
|
case "M":
|
||||||
|
parts.push('(minutes)');
|
||||||
|
break;
|
||||||
|
case "H":
|
||||||
|
parts.push('(hours)');
|
||||||
|
break;
|
||||||
|
case "Ms":
|
||||||
|
parts.push('(milliseconds)');
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
parts.push(lastPart);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
input = parts.join(' ');
|
||||||
|
return input.charAt(0).toUpperCase() + input.slice(1);
|
||||||
|
};
|
||||||
|
});
|
||||||
@@ -16,7 +16,7 @@
|
|||||||
<div class="panel-body">
|
<div class="panel-body">
|
||||||
<form class="form-horizontal" role="form">
|
<form class="form-horizontal" role="form">
|
||||||
<div ng-repeat="(key, value) in advancedConfig.gui" ng-init="type = inputTypeFor(key, value)" ng-if="type != 'skip'" class="form-group">
|
<div ng-repeat="(key, value) in advancedConfig.gui" ng-init="type = inputTypeFor(key, value)" ng-if="type != 'skip'" class="form-group">
|
||||||
<label for="guiInput{{$index}}" class="col-sm-4 control-label">{{key}}</label>
|
<label for="guiInput{{$index}}" class="col-sm-4 control-label">{{key | uncamel}}</label>
|
||||||
<div class="col-sm-8">
|
<div class="col-sm-8">
|
||||||
<input ng-if="inputTypeFor(key, value) == 'list'" id="optionsInput{{$index}}" class="form-control" type="text" ng-model="advancedConfig.gui[key]" ng-list/>
|
<input ng-if="inputTypeFor(key, value) == 'list'" id="optionsInput{{$index}}" class="form-control" type="text" ng-model="advancedConfig.gui[key]" ng-list/>
|
||||||
<input ng-if="inputTypeFor(key, value) != 'list'" id="optionsInput{{$index}}" class="form-control" type="{{inputTypeFor(key, value)}}" ng-model="advancedConfig.gui[key]" />
|
<input ng-if="inputTypeFor(key, value) != 'list'" id="optionsInput{{$index}}" class="form-control" type="{{inputTypeFor(key, value)}}" ng-model="advancedConfig.gui[key]" />
|
||||||
@@ -35,7 +35,7 @@
|
|||||||
<div class="panel-body">
|
<div class="panel-body">
|
||||||
<form class="form-horizontal" role="form">
|
<form class="form-horizontal" role="form">
|
||||||
<div ng-repeat="(key, value) in advancedConfig.options" ng-if="inputTypeFor(key, value) != 'skip'" class="form-group">
|
<div ng-repeat="(key, value) in advancedConfig.options" ng-if="inputTypeFor(key, value) != 'skip'" class="form-group">
|
||||||
<label for="optionsInput{{$index}}" class="col-sm-4 control-label">{{key}}</label>
|
<label for="optionsInput{{$index}}" class="col-sm-4 control-label">{{key | uncamel}}</label>
|
||||||
<div class="col-sm-8">
|
<div class="col-sm-8">
|
||||||
<input ng-if="inputTypeFor(key, value) == 'list'" id="optionsInput{{$index}}" class="form-control" type="text" ng-model="advancedConfig.options[key]" ng-list/>
|
<input ng-if="inputTypeFor(key, value) == 'list'" id="optionsInput{{$index}}" class="form-control" type="text" ng-model="advancedConfig.options[key]" ng-list/>
|
||||||
<input ng-if="inputTypeFor(key, value) != 'list'" id="optionsInput{{$index}}" class="form-control" type="{{inputTypeFor(key, value)}}" ng-model="advancedConfig.options[key]" />
|
<input ng-if="inputTypeFor(key, value) != 'list'" id="optionsInput{{$index}}" class="form-control" type="{{inputTypeFor(key, value)}}" ng-model="advancedConfig.options[key]" />
|
||||||
@@ -59,7 +59,7 @@
|
|||||||
<div class="panel-body">
|
<div class="panel-body">
|
||||||
<form class="form-horizontal" role="form">
|
<form class="form-horizontal" role="form">
|
||||||
<div ng-repeat="(key, value) in folder" ng-if="inputTypeFor(key, value) != 'skip'" class="form-group">
|
<div ng-repeat="(key, value) in folder" ng-if="inputTypeFor(key, value) != 'skip'" class="form-group">
|
||||||
<label for="folder{{$index}}Input{{$index}}" class="col-sm-4 control-label">{{key}}</label>
|
<label for="folder{{$index}}Input{{$index}}" class="col-sm-4 control-label">{{key | uncamel}}</label>
|
||||||
<div class="col-sm-8">
|
<div class="col-sm-8">
|
||||||
<input ng-if="inputTypeFor(key, value) == 'list'" id="optionsInput{{$index}}" class="form-control" type="text" ng-model="folder[key]" ng-list/>
|
<input ng-if="inputTypeFor(key, value) == 'list'" id="optionsInput{{$index}}" class="form-control" type="text" ng-model="folder[key]" ng-list/>
|
||||||
<input ng-if="inputTypeFor(key, value) != 'list'" id="optionsInput{{$index}}" class="form-control" type="{{inputTypeFor(key, value)}}" ng-model="folder[key]" />
|
<input ng-if="inputTypeFor(key, value) != 'list'" id="optionsInput{{$index}}" class="form-control" type="{{inputTypeFor(key, value)}}" ng-model="folder[key]" />
|
||||||
@@ -80,7 +80,7 @@
|
|||||||
<div class="panel-body">
|
<div class="panel-body">
|
||||||
<form class="form-horizontal" role="form">
|
<form class="form-horizontal" role="form">
|
||||||
<div ng-repeat="(key, value) in device" ng-if="inputTypeFor(key, value) != 'skip'" class="form-group">
|
<div ng-repeat="(key, value) in device" ng-if="inputTypeFor(key, value) != 'skip'" class="form-group">
|
||||||
<label for="device{{$index}}Input{{$index}}" class="col-sm-4 control-label">{{key}}</label>
|
<label for="device{{$index}}Input{{$index}}" class="col-sm-4 control-label">{{key | uncamel}}</label>
|
||||||
<div class="col-sm-8">
|
<div class="col-sm-8">
|
||||||
<input ng-if="inputTypeFor(key, value) == 'list'" id="optionsInput{{$index}}" class="form-control" type="text" ng-model="device[key]" ng-list/>
|
<input ng-if="inputTypeFor(key, value) == 'list'" id="optionsInput{{$index}}" class="form-control" type="text" ng-model="device[key]" ng-list/>
|
||||||
<input ng-if="inputTypeFor(key, value) != 'list'" id="optionsInput{{$index}}" class="form-control" type="{{inputTypeFor(key, value)}}" ng-model="device[key]" />
|
<input ng-if="inputTypeFor(key, value) != 'list'" id="optionsInput{{$index}}" class="form-control" type="{{inputTypeFor(key, value)}}" ng-model="device[key]" />
|
||||||
|
|||||||
Reference in New Issue
Block a user