@ -1 +0,0 @@ |
|||||
tTFEibLh222u4a7SJ+I4zCkfPRBRF4mHF446OSRQtILNZ2tH0Te/rSM7MCt1FzvLAy5KeNlZHfwdlS+AJZDa6w== |
|
||||
@ -1,17 +0,0 @@ |
|||||
<?xml version="1.0" encoding="utf-8"?> |
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd"> |
|
||||
<metadata> |
|
||||
<id>Fody</id> |
|
||||
<version>2.3.24</version> |
|
||||
<authors>Simon Cropp</authors> |
|
||||
<owners>Simon Cropp</owners> |
|
||||
<requireLicenseAcceptance>false</requireLicenseAcceptance> |
|
||||
<developmentDependency>true</developmentDependency> |
|
||||
<licenseUrl>http://www.opensource.org/licenses/mit-license.php</licenseUrl> |
|
||||
<projectUrl>http://github.com/Fody/Fody</projectUrl> |
|
||||
<iconUrl>https://raw.github.com/Fody/Fody/master/package_icon.png</iconUrl> |
|
||||
<description>Extensible tool for weaving .net assemblies.</description> |
|
||||
<copyright></copyright> |
|
||||
<tags>ILWeaving, Fody, Cecil, AOP</tags> |
|
||||
</metadata> |
|
||||
</package> |
|
||||
@ -1 +0,0 @@ |
|||||
5W20j9jiNog4dHUEt+cCnePb8z6jFEMnkwO4XilajM7FCnen3KTnN/G8PAUGuQieSlTI9MRe0sRYcafLJl900w== |
|
||||
@ -1,23 +0,0 @@ |
|||||
<?xml version="1.0" encoding="utf-8"?> |
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd"> |
|
||||
<metadata> |
|
||||
<id>Microsoft.Orleans.OrleansCodeGenerator.Build</id> |
|
||||
<version>2.0.0-beta1-fix</version> |
|
||||
<title>Microsoft Orleans Build-time Code Generator</title> |
|
||||
<authors>Microsoft</authors> |
|
||||
<owners>Microsoft</owners> |
|
||||
<requireLicenseAcceptance>false</requireLicenseAcceptance> |
|
||||
<developmentDependency>true</developmentDependency> |
|
||||
<licenseUrl>https://github.com/dotnet/Orleans#license</licenseUrl> |
|
||||
<projectUrl>https://github.com/dotnet/Orleans</projectUrl> |
|
||||
<iconUrl>https://raw.githubusercontent.com/dotnet/orleans/gh-pages/assets/logo_128.png</iconUrl> |
|
||||
<description>Microsoft Orleans build-time code generator to install in all grain interface & implementation projects.</description> |
|
||||
<copyright>© Microsoft Corporation. All rights reserved.</copyright> |
|
||||
<tags>Orleans Cloud-Computing Actor-Model Actors Distributed-Systems C# .NET</tags> |
|
||||
<repository type="git" url="https://github.com/dotnet/Orleans" /> |
|
||||
<dependencies> |
|
||||
<group targetFramework=".NETFramework4.6.1" /> |
|
||||
<group targetFramework=".NETCoreApp2.0" /> |
|
||||
</dependencies> |
|
||||
</metadata> |
|
||||
</package> |
|
||||
@ -1 +0,0 @@ |
|||||
mBHlGWl+bNTPP463JBEB/dftmdZKQRD8X72F7lsTFqYWddW5Ytp1gbzChCxW0d/Pt71KLF6XrVmyecbFlNdFBA== |
|
||||
@ -1,25 +0,0 @@ |
|||||
<?xml version="1.0" encoding="utf-8"?> |
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd"> |
|
||||
<metadata> |
|
||||
<id>OrleansDashboard</id> |
|
||||
<version>2.0.0-beta3</version> |
|
||||
<authors>OrleansContrib</authors> |
|
||||
<owners>OrleansContrib</owners> |
|
||||
<requireLicenseAcceptance>false</requireLicenseAcceptance> |
|
||||
<licenseUrl>https://opensource.org/licenses/MIT</licenseUrl> |
|
||||
<projectUrl>https://github.com/OrleansContrib/OrleansDashboard</projectUrl> |
|
||||
<iconUrl>http://dotnet.github.io/orleans/assets/logo.png</iconUrl> |
|
||||
<description>An admin dashboard for Microsoft Orleans</description> |
|
||||
<copyright>Copyright © 2017</copyright> |
|
||||
<tags>orleans dashboard metrics monitor</tags> |
|
||||
<repository url="https://github.com/OrleansContrib/OrleansDashboard" /> |
|
||||
<dependencies> |
|
||||
<group targetFramework=".NETStandard2.0"> |
|
||||
<dependency id="Microsoft.AspNetCore" version="2.0.1" exclude="Build,Analyzers" /> |
|
||||
<dependency id="Microsoft.Orleans.Core" version="2.0.0-beta1" exclude="Build,Analyzers" /> |
|
||||
<dependency id="Microsoft.Orleans.OrleansCodeGenerator.Build" version="2.0.0-beta1" exclude="Build,Analyzers" /> |
|
||||
<dependency id="Microsoft.Orleans.OrleansRuntime" version="2.0.0-beta1" exclude="Build,Analyzers" /> |
|
||||
</group> |
|
||||
</dependencies> |
|
||||
</metadata> |
|
||||
</package> |
|
||||
@ -0,0 +1,67 @@ |
|||||
|
/* |
||||
|
* Squidex Headless CMS |
||||
|
* |
||||
|
* @license |
||||
|
* Copyright (c) Squidex UG (haftungsbeschränkt). All rights reserved. |
||||
|
*/ |
||||
|
|
||||
|
import { Directive, forwardRef, ElementRef, HostListener, Renderer } from '@angular/core'; |
||||
|
import { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms'; |
||||
|
|
||||
|
import slugify from 'slugify'; |
||||
|
|
||||
|
import { Types } from './../utils/types'; |
||||
|
|
||||
|
export const SQX_SLUGIFY_INPUT_VALUE_ACCESSOR: any = { |
||||
|
provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SlugifyInputDirective), multi: true |
||||
|
}; |
||||
|
|
||||
|
@Directive({ |
||||
|
selector: '[sqxSlugifyInput]', |
||||
|
providers: [SQX_SLUGIFY_INPUT_VALUE_ACCESSOR] |
||||
|
}) |
||||
|
export class SlugifyInputDirective implements ControlValueAccessor { |
||||
|
private callChange = (v: any) => { /* NOOP */ }; |
||||
|
private callTouched = () => { /* NOOP */ }; |
||||
|
|
||||
|
constructor( |
||||
|
private readonly element: ElementRef, |
||||
|
private readonly renderer: Renderer |
||||
|
) { |
||||
|
} |
||||
|
|
||||
|
@HostListener('input', ['$event.target.value']) |
||||
|
public onChange(value: any) { |
||||
|
const normalizedValue = this.transform(value); |
||||
|
|
||||
|
this.renderer.setElementProperty(this.element.nativeElement, 'value', normalizedValue); |
||||
|
this.callChange(normalizedValue); |
||||
|
} |
||||
|
|
||||
|
@HostListener('blur') |
||||
|
public onTouched() { |
||||
|
this.callTouched(); |
||||
|
} |
||||
|
|
||||
|
public writeValue(value: string) { |
||||
|
const normalizedValue = this.transform(value); |
||||
|
|
||||
|
this.renderer.setElementProperty(this.element.nativeElement, 'value', normalizedValue); |
||||
|
} |
||||
|
|
||||
|
public setDisabledState(isDisabled: boolean): void { |
||||
|
this.renderer.setElementProperty(this.element.nativeElement, 'disabled', isDisabled); |
||||
|
} |
||||
|
|
||||
|
public registerOnChange(fn: any) { |
||||
|
this.callChange = fn; |
||||
|
} |
||||
|
|
||||
|
public registerOnTouched(fn: any) { |
||||
|
this.callTouched = fn; |
||||
|
} |
||||
|
|
||||
|
private transform(value: any): string { |
||||
|
return Types.isString(value) ? slugify(value, { lower: true }) : ''; |
||||
|
} |
||||
|
} |
||||
|
Before Width: | Height: | Size: 69 KiB After Width: | Height: | Size: 71 KiB |
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
|
After Width: | Height: | Size: 2.6 KiB |
|
After Width: | Height: | Size: 1.9 KiB |
|
After Width: | Height: | Size: 2.6 KiB |