mirror of https://github.com/abpframework/abp.git
16 changed files with 12363 additions and 4 deletions
File diff suppressed because it is too large
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -0,0 +1,134 @@ |
|||
.tether-element, .tether-element:after, .tether-element:before, .tether-element *, .tether-element *:after, .tether-element *:before { |
|||
box-sizing: border-box; } |
|||
|
|||
.tether-element { |
|||
position: absolute; |
|||
display: none; } |
|||
.tether-element.tether-open { |
|||
display: block; } |
|||
|
|||
.tether-element.tether-theme-arrows-dark { |
|||
max-width: 100%; |
|||
max-height: 100%; } |
|||
.tether-element.tether-theme-arrows-dark .tether-content { |
|||
border-radius: 5px; |
|||
position: relative; |
|||
font-family: inherit; |
|||
background: #000; |
|||
color: #fff; |
|||
padding: 1em; |
|||
font-size: 1.1em; |
|||
line-height: 1.5em; } |
|||
.tether-element.tether-theme-arrows-dark .tether-content:before { |
|||
content: ""; |
|||
display: block; |
|||
position: absolute; |
|||
width: 0; |
|||
height: 0; |
|||
border-color: transparent; |
|||
border-width: 16px; |
|||
border-style: solid; } |
|||
.tether-element.tether-theme-arrows-dark.tether-element-attached-bottom.tether-element-attached-center .tether-content { |
|||
margin-bottom: 16px; } |
|||
.tether-element.tether-theme-arrows-dark.tether-element-attached-bottom.tether-element-attached-center .tether-content:before { |
|||
top: 100%; |
|||
left: 50%; |
|||
margin-left: -16px; |
|||
border-top-color: #000; } |
|||
.tether-element.tether-theme-arrows-dark.tether-element-attached-top.tether-element-attached-center .tether-content { |
|||
margin-top: 16px; } |
|||
.tether-element.tether-theme-arrows-dark.tether-element-attached-top.tether-element-attached-center .tether-content:before { |
|||
bottom: 100%; |
|||
left: 50%; |
|||
margin-left: -16px; |
|||
border-bottom-color: #000; } |
|||
.tether-element.tether-theme-arrows-dark.tether-element-attached-right.tether-element-attached-middle .tether-content { |
|||
margin-right: 16px; } |
|||
.tether-element.tether-theme-arrows-dark.tether-element-attached-right.tether-element-attached-middle .tether-content:before { |
|||
left: 100%; |
|||
top: 50%; |
|||
margin-top: -16px; |
|||
border-left-color: #000; } |
|||
.tether-element.tether-theme-arrows-dark.tether-element-attached-left.tether-element-attached-middle .tether-content { |
|||
margin-left: 16px; } |
|||
.tether-element.tether-theme-arrows-dark.tether-element-attached-left.tether-element-attached-middle .tether-content:before { |
|||
right: 100%; |
|||
top: 50%; |
|||
margin-top: -16px; |
|||
border-right-color: #000; } |
|||
.tether-element.tether-theme-arrows-dark.tether-element-attached-left.tether-target-attached-center .tether-content { |
|||
left: -32px; } |
|||
.tether-element.tether-theme-arrows-dark.tether-element-attached-right.tether-target-attached-center .tether-content { |
|||
left: 32px; } |
|||
.tether-element.tether-theme-arrows-dark.tether-element-attached-top.tether-element-attached-left.tether-target-attached-middle .tether-content { |
|||
margin-top: 16px; } |
|||
.tether-element.tether-theme-arrows-dark.tether-element-attached-top.tether-element-attached-left.tether-target-attached-middle .tether-content:before { |
|||
bottom: 100%; |
|||
left: 16px; |
|||
border-bottom-color: #000; } |
|||
.tether-element.tether-theme-arrows-dark.tether-element-attached-top.tether-element-attached-right.tether-target-attached-middle .tether-content { |
|||
margin-top: 16px; } |
|||
.tether-element.tether-theme-arrows-dark.tether-element-attached-top.tether-element-attached-right.tether-target-attached-middle .tether-content:before { |
|||
bottom: 100%; |
|||
right: 16px; |
|||
border-bottom-color: #000; } |
|||
.tether-element.tether-theme-arrows-dark.tether-element-attached-bottom.tether-element-attached-left.tether-target-attached-middle .tether-content { |
|||
margin-bottom: 16px; } |
|||
.tether-element.tether-theme-arrows-dark.tether-element-attached-bottom.tether-element-attached-left.tether-target-attached-middle .tether-content:before { |
|||
top: 100%; |
|||
left: 16px; |
|||
border-top-color: #000; } |
|||
.tether-element.tether-theme-arrows-dark.tether-element-attached-bottom.tether-element-attached-right.tether-target-attached-middle .tether-content { |
|||
margin-bottom: 16px; } |
|||
.tether-element.tether-theme-arrows-dark.tether-element-attached-bottom.tether-element-attached-right.tether-target-attached-middle .tether-content:before { |
|||
top: 100%; |
|||
right: 16px; |
|||
border-top-color: #000; } |
|||
.tether-element.tether-theme-arrows-dark.tether-element-attached-top.tether-element-attached-left.tether-target-attached-bottom .tether-content { |
|||
margin-top: 16px; } |
|||
.tether-element.tether-theme-arrows-dark.tether-element-attached-top.tether-element-attached-left.tether-target-attached-bottom .tether-content:before { |
|||
bottom: 100%; |
|||
left: 16px; |
|||
border-bottom-color: #000; } |
|||
.tether-element.tether-theme-arrows-dark.tether-element-attached-top.tether-element-attached-right.tether-target-attached-bottom .tether-content { |
|||
margin-top: 16px; } |
|||
.tether-element.tether-theme-arrows-dark.tether-element-attached-top.tether-element-attached-right.tether-target-attached-bottom .tether-content:before { |
|||
bottom: 100%; |
|||
right: 16px; |
|||
border-bottom-color: #000; } |
|||
.tether-element.tether-theme-arrows-dark.tether-element-attached-bottom.tether-element-attached-left.tether-target-attached-top .tether-content { |
|||
margin-bottom: 16px; } |
|||
.tether-element.tether-theme-arrows-dark.tether-element-attached-bottom.tether-element-attached-left.tether-target-attached-top .tether-content:before { |
|||
top: 100%; |
|||
left: 16px; |
|||
border-top-color: #000; } |
|||
.tether-element.tether-theme-arrows-dark.tether-element-attached-bottom.tether-element-attached-right.tether-target-attached-top .tether-content { |
|||
margin-bottom: 16px; } |
|||
.tether-element.tether-theme-arrows-dark.tether-element-attached-bottom.tether-element-attached-right.tether-target-attached-top .tether-content:before { |
|||
top: 100%; |
|||
right: 16px; |
|||
border-top-color: #000; } |
|||
.tether-element.tether-theme-arrows-dark.tether-element-attached-top.tether-element-attached-right.tether-target-attached-left .tether-content { |
|||
margin-right: 16px; } |
|||
.tether-element.tether-theme-arrows-dark.tether-element-attached-top.tether-element-attached-right.tether-target-attached-left .tether-content:before { |
|||
top: 16px; |
|||
left: 100%; |
|||
border-left-color: #000; } |
|||
.tether-element.tether-theme-arrows-dark.tether-element-attached-top.tether-element-attached-left.tether-target-attached-right .tether-content { |
|||
margin-left: 16px; } |
|||
.tether-element.tether-theme-arrows-dark.tether-element-attached-top.tether-element-attached-left.tether-target-attached-right .tether-content:before { |
|||
top: 16px; |
|||
right: 100%; |
|||
border-right-color: #000; } |
|||
.tether-element.tether-theme-arrows-dark.tether-element-attached-bottom.tether-element-attached-right.tether-target-attached-left .tether-content { |
|||
margin-right: 16px; } |
|||
.tether-element.tether-theme-arrows-dark.tether-element-attached-bottom.tether-element-attached-right.tether-target-attached-left .tether-content:before { |
|||
bottom: 16px; |
|||
left: 100%; |
|||
border-left-color: #000; } |
|||
.tether-element.tether-theme-arrows-dark.tether-element-attached-bottom.tether-element-attached-left.tether-target-attached-right .tether-content { |
|||
margin-left: 16px; } |
|||
.tether-element.tether-theme-arrows-dark.tether-element-attached-bottom.tether-element-attached-left.tether-target-attached-right .tether-content:before { |
|||
bottom: 16px; |
|||
right: 100%; |
|||
border-right-color: #000; } |
|||
File diff suppressed because one or more lines are too long
@ -0,0 +1,138 @@ |
|||
.tether-element, .tether-element:after, .tether-element:before, .tether-element *, .tether-element *:after, .tether-element *:before { |
|||
box-sizing: border-box; } |
|||
|
|||
.tether-element { |
|||
position: absolute; |
|||
display: none; } |
|||
.tether-element.tether-open { |
|||
display: block; } |
|||
|
|||
.tether-element.tether-theme-arrows { |
|||
max-width: 100%; |
|||
max-height: 100%; } |
|||
.tether-element.tether-theme-arrows .tether-content { |
|||
border-radius: 5px; |
|||
position: relative; |
|||
font-family: inherit; |
|||
background: #fff; |
|||
color: inherit; |
|||
padding: 1em; |
|||
font-size: 1.1em; |
|||
line-height: 1.5em; |
|||
-webkit-transform: translateZ(0); |
|||
transform: translateZ(0); |
|||
-webkit-filter: drop-shadow(0 1px 4px rgba(0, 0, 0, 0.2)); |
|||
filter: drop-shadow(0 1px 4px rgba(0, 0, 0, 0.2)); } |
|||
.tether-element.tether-theme-arrows .tether-content:before { |
|||
content: ""; |
|||
display: block; |
|||
position: absolute; |
|||
width: 0; |
|||
height: 0; |
|||
border-color: transparent; |
|||
border-width: 16px; |
|||
border-style: solid; } |
|||
.tether-element.tether-theme-arrows.tether-element-attached-bottom.tether-element-attached-center .tether-content { |
|||
margin-bottom: 16px; } |
|||
.tether-element.tether-theme-arrows.tether-element-attached-bottom.tether-element-attached-center .tether-content:before { |
|||
top: 100%; |
|||
left: 50%; |
|||
margin-left: -16px; |
|||
border-top-color: #fff; } |
|||
.tether-element.tether-theme-arrows.tether-element-attached-top.tether-element-attached-center .tether-content { |
|||
margin-top: 16px; } |
|||
.tether-element.tether-theme-arrows.tether-element-attached-top.tether-element-attached-center .tether-content:before { |
|||
bottom: 100%; |
|||
left: 50%; |
|||
margin-left: -16px; |
|||
border-bottom-color: #fff; } |
|||
.tether-element.tether-theme-arrows.tether-element-attached-right.tether-element-attached-middle .tether-content { |
|||
margin-right: 16px; } |
|||
.tether-element.tether-theme-arrows.tether-element-attached-right.tether-element-attached-middle .tether-content:before { |
|||
left: 100%; |
|||
top: 50%; |
|||
margin-top: -16px; |
|||
border-left-color: #fff; } |
|||
.tether-element.tether-theme-arrows.tether-element-attached-left.tether-element-attached-middle .tether-content { |
|||
margin-left: 16px; } |
|||
.tether-element.tether-theme-arrows.tether-element-attached-left.tether-element-attached-middle .tether-content:before { |
|||
right: 100%; |
|||
top: 50%; |
|||
margin-top: -16px; |
|||
border-right-color: #fff; } |
|||
.tether-element.tether-theme-arrows.tether-element-attached-left.tether-target-attached-center .tether-content { |
|||
left: -32px; } |
|||
.tether-element.tether-theme-arrows.tether-element-attached-right.tether-target-attached-center .tether-content { |
|||
left: 32px; } |
|||
.tether-element.tether-theme-arrows.tether-element-attached-top.tether-element-attached-left.tether-target-attached-middle .tether-content { |
|||
margin-top: 16px; } |
|||
.tether-element.tether-theme-arrows.tether-element-attached-top.tether-element-attached-left.tether-target-attached-middle .tether-content:before { |
|||
bottom: 100%; |
|||
left: 16px; |
|||
border-bottom-color: #fff; } |
|||
.tether-element.tether-theme-arrows.tether-element-attached-top.tether-element-attached-right.tether-target-attached-middle .tether-content { |
|||
margin-top: 16px; } |
|||
.tether-element.tether-theme-arrows.tether-element-attached-top.tether-element-attached-right.tether-target-attached-middle .tether-content:before { |
|||
bottom: 100%; |
|||
right: 16px; |
|||
border-bottom-color: #fff; } |
|||
.tether-element.tether-theme-arrows.tether-element-attached-bottom.tether-element-attached-left.tether-target-attached-middle .tether-content { |
|||
margin-bottom: 16px; } |
|||
.tether-element.tether-theme-arrows.tether-element-attached-bottom.tether-element-attached-left.tether-target-attached-middle .tether-content:before { |
|||
top: 100%; |
|||
left: 16px; |
|||
border-top-color: #fff; } |
|||
.tether-element.tether-theme-arrows.tether-element-attached-bottom.tether-element-attached-right.tether-target-attached-middle .tether-content { |
|||
margin-bottom: 16px; } |
|||
.tether-element.tether-theme-arrows.tether-element-attached-bottom.tether-element-attached-right.tether-target-attached-middle .tether-content:before { |
|||
top: 100%; |
|||
right: 16px; |
|||
border-top-color: #fff; } |
|||
.tether-element.tether-theme-arrows.tether-element-attached-top.tether-element-attached-left.tether-target-attached-bottom .tether-content { |
|||
margin-top: 16px; } |
|||
.tether-element.tether-theme-arrows.tether-element-attached-top.tether-element-attached-left.tether-target-attached-bottom .tether-content:before { |
|||
bottom: 100%; |
|||
left: 16px; |
|||
border-bottom-color: #fff; } |
|||
.tether-element.tether-theme-arrows.tether-element-attached-top.tether-element-attached-right.tether-target-attached-bottom .tether-content { |
|||
margin-top: 16px; } |
|||
.tether-element.tether-theme-arrows.tether-element-attached-top.tether-element-attached-right.tether-target-attached-bottom .tether-content:before { |
|||
bottom: 100%; |
|||
right: 16px; |
|||
border-bottom-color: #fff; } |
|||
.tether-element.tether-theme-arrows.tether-element-attached-bottom.tether-element-attached-left.tether-target-attached-top .tether-content { |
|||
margin-bottom: 16px; } |
|||
.tether-element.tether-theme-arrows.tether-element-attached-bottom.tether-element-attached-left.tether-target-attached-top .tether-content:before { |
|||
top: 100%; |
|||
left: 16px; |
|||
border-top-color: #fff; } |
|||
.tether-element.tether-theme-arrows.tether-element-attached-bottom.tether-element-attached-right.tether-target-attached-top .tether-content { |
|||
margin-bottom: 16px; } |
|||
.tether-element.tether-theme-arrows.tether-element-attached-bottom.tether-element-attached-right.tether-target-attached-top .tether-content:before { |
|||
top: 100%; |
|||
right: 16px; |
|||
border-top-color: #fff; } |
|||
.tether-element.tether-theme-arrows.tether-element-attached-top.tether-element-attached-right.tether-target-attached-left .tether-content { |
|||
margin-right: 16px; } |
|||
.tether-element.tether-theme-arrows.tether-element-attached-top.tether-element-attached-right.tether-target-attached-left .tether-content:before { |
|||
top: 16px; |
|||
left: 100%; |
|||
border-left-color: #fff; } |
|||
.tether-element.tether-theme-arrows.tether-element-attached-top.tether-element-attached-left.tether-target-attached-right .tether-content { |
|||
margin-left: 16px; } |
|||
.tether-element.tether-theme-arrows.tether-element-attached-top.tether-element-attached-left.tether-target-attached-right .tether-content:before { |
|||
top: 16px; |
|||
right: 100%; |
|||
border-right-color: #fff; } |
|||
.tether-element.tether-theme-arrows.tether-element-attached-bottom.tether-element-attached-right.tether-target-attached-left .tether-content { |
|||
margin-right: 16px; } |
|||
.tether-element.tether-theme-arrows.tether-element-attached-bottom.tether-element-attached-right.tether-target-attached-left .tether-content:before { |
|||
bottom: 16px; |
|||
left: 100%; |
|||
border-left-color: #fff; } |
|||
.tether-element.tether-theme-arrows.tether-element-attached-bottom.tether-element-attached-left.tether-target-attached-right .tether-content { |
|||
margin-left: 16px; } |
|||
.tether-element.tether-theme-arrows.tether-element-attached-bottom.tether-element-attached-left.tether-target-attached-right .tether-content:before { |
|||
bottom: 16px; |
|||
right: 100%; |
|||
border-right-color: #fff; } |
|||
File diff suppressed because one or more lines are too long
@ -0,0 +1,21 @@ |
|||
.tether-element, .tether-element:after, .tether-element:before, .tether-element *, .tether-element *:after, .tether-element *:before { |
|||
box-sizing: border-box; } |
|||
|
|||
.tether-element { |
|||
position: absolute; |
|||
display: none; } |
|||
.tether-element.tether-open { |
|||
display: block; } |
|||
|
|||
.tether-element.tether-theme-basic { |
|||
max-width: 100%; |
|||
max-height: 100%; } |
|||
.tether-element.tether-theme-basic .tether-content { |
|||
border-radius: 5px; |
|||
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2); |
|||
font-family: inherit; |
|||
background: #fff; |
|||
color: inherit; |
|||
padding: 1em; |
|||
font-size: 1.1em; |
|||
line-height: 1.5em; } |
|||
@ -0,0 +1 @@ |
|||
.tether-element,.tether-element *,.tether-element :after,.tether-element :before,.tether-element:after,.tether-element:before{box-sizing:border-box}.tether-element{position:absolute;display:none}.tether-element.tether-open{display:block}.tether-element.tether-theme-basic{max-width:100%;max-height:100%}.tether-element.tether-theme-basic .tether-content{border-radius:5px;box-shadow:0 2px 8px rgba(0,0,0,.2);font-family:inherit;background:#fff;color:inherit;padding:1em;font-size:1.1em;line-height:1.5em} |
|||
@ -0,0 +1,8 @@ |
|||
.tether-element, .tether-element:after, .tether-element:before, .tether-element *, .tether-element *:after, .tether-element *:before { |
|||
box-sizing: border-box; } |
|||
|
|||
.tether-element { |
|||
position: absolute; |
|||
display: none; } |
|||
.tether-element.tether-open { |
|||
display: block; } |
|||
@ -0,0 +1 @@ |
|||
.tether-element,.tether-element *,.tether-element :after,.tether-element :before,.tether-element:after,.tether-element:before{box-sizing:border-box}.tether-element{position:absolute;display:none}.tether-element.tether-open{display:block} |
|||
File diff suppressed because it is too large
File diff suppressed because one or more lines are too long
@ -0,0 +1,34 @@ |
|||
using System; |
|||
|
|||
namespace Volo.Abp.EmbeddedFiles |
|||
{ |
|||
public static class EmbeddedFilePathHelper |
|||
{ |
|||
public static string NormalizePath(string fullPath) |
|||
{ |
|||
var fileName = fullPath; |
|||
var extension = ""; |
|||
|
|||
if (fileName.Contains(".")) |
|||
{ |
|||
extension = fullPath.Substring(fileName.LastIndexOf(".", StringComparison.Ordinal)); |
|||
if (extension.Contains("/")) |
|||
{ |
|||
//That means the file does not have extension, but a directory has "." char. So, clear extension.
|
|||
extension = ""; |
|||
} |
|||
else |
|||
{ |
|||
fileName = fullPath.Substring(0, fullPath.Length - extension.Length); |
|||
} |
|||
} |
|||
|
|||
return NormalizeChars(fileName) + extension; |
|||
} |
|||
|
|||
private static string NormalizeChars(string fileName) |
|||
{ |
|||
return fileName.Replace(".", "/").Replace("-", "_"); |
|||
} |
|||
} |
|||
} |
|||
Loading…
Reference in new issue