2017-07-15 18:47:11 +08:00
< form # settingsForm = "ngForm" class = "form-horizontal" >
< div class = "panel panel-default" >
< div class = "panel-heading" >
2017-12-25 07:42:25 +08:00
< h3 class = "panel-title" i18n > Thumbnail settings< / h3 >
2017-07-15 18:47:11 +08:00
< / div >
< div class = "panel-body" >
< div [ hidden ] = " ! error " class = "alert alert-danger" role = "alert" > < strong > Error: < / strong > {{error}}< / div >
2017-07-15 23:29:40 +08:00
< div [ hidden ] = " settings . server . processingLibrary ! = ThumbnailProcessingLib . Jimp "
2017-07-15 20:27:12 +08:00
class="alert alert-warning"
2017-12-25 07:42:25 +08:00
role="alert" i18n>It is highly recommended to use hardware accelerated (sharp or gm) lib for thumbnail
generation
2017-07-15 18:47:11 +08:00
< / div >
< fieldset >
< div class = "form-group" >
2017-12-25 07:42:25 +08:00
< label class = "col-sm-2 control-label" for = "lib" i18n > Thumbnail generation library< / label >
2017-07-15 18:47:11 +08:00
< div class = "col-sm-10" >
2017-07-15 23:29:40 +08:00
< select id = "lib" class = "form-control" [ ( ngModel ) ] = " settings . server . processingLibrary "
2017-07-15 20:27:12 +08:00
name="type" required>
2017-07-15 18:47:11 +08:00
< option * ngFor = "let type of types" [ ngValue ] = " type . key " > {{type.value}}
< / option >
< / select >
2017-07-15 23:29:40 +08:00
< span * ngIf = "settings.server.processingLibrary==ThumbnailProcessingLib.sharp"
2017-12-25 07:42:25 +08:00
class="help-block" i18n>Make sure that sharp node module is installed (npm install sharp).< / span >
2017-07-15 23:29:40 +08:00
< span * ngIf = "settings.server.processingLibrary==ThumbnailProcessingLib.gm"
2017-12-25 07:42:25 +08:00
class="help-block">< ng-container i18n > Make sure that gm node module and< / ng-container > < a
href="http://www.graphicsmagick.org/" i18n>GraphicsMagick< / a > < ng-container i18n > are installed (npm install sharp).< / ng-container > < / span >
2017-07-15 18:47:11 +08:00
< / div >
< / div >
< div class = "form-group" >
2017-12-25 07:42:25 +08:00
< label class = "col-sm-2 control-label" for = "th_folder" i18n > Thumbnail folder< / label >
2017-07-15 18:47:11 +08:00
< div class = "col-sm-10" >
< input type = "text" class = "form-control" placeholder = "path"
2017-12-20 07:20:37 +08:00
id="th_folder"
2017-07-15 23:29:40 +08:00
[(ngModel)]="settings.server.folder"
2017-07-15 18:47:11 +08:00
name="path" required>
2017-12-25 07:42:25 +08:00
< span class = "help-block" i18n > Thumbnails will be saved in this folder. Write access is required< / span >
2017-07-15 18:47:11 +08:00
< / div >
< / div >
2017-07-15 23:29:40 +08:00
< div class = "form-group" [ hidden ] = " simplifiedMode " >
2017-12-25 07:42:25 +08:00
< label class = "col-sm-2 control-label" for = "quality" i18n > Thumbnail Quality< / label >
2017-07-15 18:47:11 +08:00
< div class = "col-sm-10" >
< bSwitch
id="quality"
class="switch"
name="enabled"
[switch-on-color]="'primary'"
[switch-inverse]="'inverse'"
[switch-off-text]="'Low'"
[switch-on-text]="'High'"
[switch-handle-width]="'100'"
[switch-label-width]="'20'"
2017-07-15 23:29:40 +08:00
[(ngModel)]="settings.server.qualityPriority">
2017-07-15 18:47:11 +08:00
< / bSwitch >
2017-12-25 07:42:25 +08:00
< span class = "help-block" i18n > High quality may be slow. Especially with Jimp.< / span >
2017-07-15 18:47:11 +08:00
< / div >
< / div >
2017-07-15 23:29:40 +08:00
< div class = "form-group" [ hidden ] = " simplifiedMode " >
2017-07-15 18:47:11 +08:00
< label class = "col-sm-2 control-label" for = "icon" > Icon size< / label >
< div class = "col-sm-10" >
< input type = "number" class = "form-control" placeholder = "30"
id="icon"
2017-07-15 23:29:40 +08:00
[(ngModel)]="settings.client.iconSize"
2017-07-15 18:47:11 +08:00
min="1"
max="100"
step="1"
name="icon" required>
2017-12-25 07:42:25 +08:00
< span class = "help-block" i18n > Icon size (used on maps)< / span >
2017-07-15 18:47:11 +08:00
< / div >
< / div >
2017-07-15 23:29:40 +08:00
< div class = "form-group" [ hidden ] = " simplifiedMode " >
2017-12-25 07:42:25 +08:00
< label class = "col-sm-2 control-label" for = "thumbnailSizes" i18n > Thumbnail sizes< / label >
2017-07-15 18:47:11 +08:00
< div class = "col-sm-10" >
< input type = "text" class = "form-control" placeholder = "200; 400"
id="thumbnailSizes"
[(ngModel)]="ThumbnailSizes"
name="thumbnailSizes" required>
< span class = "help-block" >
2017-12-25 07:42:25 +08:00
< ng-container i18n > Size of the thumbnails.< / ng-container > < br / >
< ng-container i18n > The best matching size will be generated. (More size gives better quality, but use storage to store and CPU to render.)< / ng-container > < br / >
< ng-container
i18n>';' separated integers. If size is 200, tha thumbnail will have 200^2 pixels.< / ng-container >
2017-07-15 18:47:11 +08:00
< / span >
< / div >
< / div >
< / fieldset >
< button class = "btn btn-success pull-right"
[disabled]="!settingsForm.form.valid || !changed || inProgress"
2017-12-25 07:42:25 +08:00
(click)="save()" i18n>Save
2017-07-15 18:47:11 +08:00
< / button >
< button class = "btn btn-default pull-right"
2017-12-25 07:42:25 +08:00
(click)="reset()" i18n>Reset
2017-07-15 18:47:11 +08:00
< / button >
< / div >
< / div >
< / form >