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