Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Binary file not shown.
File renamed without changes.

Large diffs are not rendered by default.

File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

Large diffs are not rendered by default.

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<parameters>
<parameter name="umbracoDbDSN-Web.config Connection String" description="umbracoDbDSN Connection String used in web.config by the application to access the database." defaultValue="Data Source=|DataDirectory|\Umbraco.sdf;Flush Interval=1;" tags="SqlConnectionString">
<parameterEntry kind="XmlFile" scope="C:\\Dev\\GitHub\\BasicFrontend\\BasicFrontend\.Umbraco\\obj\\Release\\Package\\PackageTmp\\Web\.config$" match="/configuration/connectionStrings/add[@name='umbracoDbDSN']/@connectionString" />
</parameter>
</parameters>
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<handlers>
<clear />
<add name="StaticFile" path="*" verb="*" modules="StaticFileModule,DefaultDocumentModule,DirectoryListingModule" resourceType="Either" requireAccess="Read" />
</handlers>
</system.webServer>
</configuration>
@@ -0,0 +1,58 @@
<?xml version="1.0"?>

<configuration>
<configSections>
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
<section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
</sectionGroup>
</configSections>

<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<pages pageBaseType="System.Web.Mvc.WebViewPage">
<namespaces>
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Routing" />
</namespaces>
</pages>
</system.web.webPages.razor>

<appSettings>
<add key="webpages:Enabled" value="false" />
</appSettings>

<system.web>
<httpHandlers>
<add path="*" verb="*" type="System.Web.HttpNotFoundHandler"/>
</httpHandlers>

<!--
Enabling request validation in view pages would cause validation to occur
after the input has already been processed by the controller. By default
MVC performs request validation before a controller processes the input.
To change this behavior apply the ValidateInputAttribute to a
controller or action.
-->
<pages
validateRequest="false"
pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
pageBaseType="System.Web.Mvc.ViewPage, System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
userControlBaseType="System.Web.Mvc.ViewUserControl, System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<controls>
<add assembly="System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" namespace="System.Web.Mvc" tagPrefix="mvc" />
</controls>
</pages>
</system.web>

<system.webServer>
<validation validateIntegratedModeConfiguration="false" />

<handlers>
<remove name="BlockViewHandler"/>
<add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
</handlers>
</system.webServer>
</configuration>
@@ -0,0 +1,8 @@
<?xml version="1.0"?>
<configuration>
<system.webServer>
<staticContent>
<clientCache cacheControlCustom="private" cacheControlMode="UseMaxAge" cacheControlMaxAge="3.00:00:00" />
</staticContent>
</system.webServer>
</configuration>
@@ -0,0 +1,41 @@
<?xml version="1.0"?>

<configuration>
<configSections>
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
<section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
</sectionGroup>
</configSections>

<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<pages pageBaseType="System.Web.Mvc.WebViewPage">
<namespaces>
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Routing" />
</namespaces>
</pages>
</system.web.webPages.razor>

<appSettings>
<add key="webpages:Enabled" value="false" />
</appSettings>

<system.webServer>
<handlers>
<remove name="BlockViewHandler"/>
<add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
</handlers>
</system.webServer>

<system.web>
<compilation>
<assemblies>
<add assembly="System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
</assemblies>
</compilation>
</system.web>
</configuration>
@@ -0,0 +1,6 @@
<?xml version="1.0"?>
<configuration>
<system.web>

</system.web>
</configuration>
@@ -0,0 +1,18 @@
<?xml version="1.0"?>

<!-- Blocks public downloading of anything in this folder and sub folders -->

<configuration>
<system.web>
<httpHandlers>
<add path="*" verb="*" type="System.Web.HttpNotFoundHandler"/>
</httpHandlers>
</system.web>
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<handlers>
<remove name="BlockViewHandler"/>
<add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
</handlers>
</system.webServer>
</configuration>
@@ -0,0 +1,71 @@
<?xml version="1.0" encoding="utf-8"?>

<configuration>
<configSections>
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
<section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
</sectionGroup>
</configSections>



<system.web.webPages.razor>

<pages pageBaseType="System.Web.Mvc.WebViewPage">
<namespaces>
<!--<add namespace="responsive_kaysta.ch" />-->
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Routing" />
<add namespace="Umbraco.Web" />
<add namespace="Umbraco.Core" />
<add namespace="Umbraco.Core.Models" />
<add namespace="Umbraco.Web.Mvc" />
<add namespace="umbraco" />
<add namespace="Examine" />
<add namespace="Umbraco.Web.PublishedContentModels" />
</namespaces>
</pages>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
</system.web.webPages.razor>





<system.web>
<compilation>
<assemblies>
<add assembly="System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
</assemblies>
</compilation>
<httpHandlers>
<add path="*" verb="*" type="System.Web.HttpNotFoundHandler" />
</httpHandlers>
<!--
Enabling request validation in view pages would cause validation to occur
after the input has already been processed by the controller. By default
MVC performs request validation before a controller processes the input.
To change this behavior apply the ValidateInputAttribute to a
controller or action.
-->
<pages validateRequest="false" pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" pageBaseType="System.Web.Mvc.ViewPage, System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" userControlBaseType="System.Web.Mvc.ViewUserControl, System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<controls>
<add assembly="System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" namespace="System.Web.Mvc" tagPrefix="mvc" />
</controls>
</pages>
</system.web>
<appSettings>
<add key="webpages:Enabled" value="false" />
</appSettings>
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />

<handlers>
<remove name="BlockViewHandler" />
<add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
</handlers>
</system.webServer>
</configuration>

Large diffs are not rendered by default.

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<handlers>
<clear />
<add name="StaticFile" path="*" verb="*" modules="StaticFileModule,DefaultDocumentModule,DirectoryListingModule" resourceType="Either" requireAccess="Read" />
</handlers>
</system.webServer>
</configuration>
@@ -0,0 +1,58 @@
<?xml version="1.0"?>

<configuration>
<configSections>
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
<section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
</sectionGroup>
</configSections>

<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<pages pageBaseType="System.Web.Mvc.WebViewPage">
<namespaces>
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Routing" />
</namespaces>
</pages>
</system.web.webPages.razor>

<appSettings>
<add key="webpages:Enabled" value="false" />
</appSettings>

<system.web>
<httpHandlers>
<add path="*" verb="*" type="System.Web.HttpNotFoundHandler"/>
</httpHandlers>

<!--
Enabling request validation in view pages would cause validation to occur
after the input has already been processed by the controller. By default
MVC performs request validation before a controller processes the input.
To change this behavior apply the ValidateInputAttribute to a
controller or action.
-->
<pages
validateRequest="false"
pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
pageBaseType="System.Web.Mvc.ViewPage, System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
userControlBaseType="System.Web.Mvc.ViewUserControl, System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<controls>
<add assembly="System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" namespace="System.Web.Mvc" tagPrefix="mvc" />
</controls>
</pages>
</system.web>

<system.webServer>
<validation validateIntegratedModeConfiguration="false" />

<handlers>
<remove name="BlockViewHandler"/>
<add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
</handlers>
</system.webServer>
</configuration>
@@ -0,0 +1,8 @@
<?xml version="1.0"?>
<configuration>
<system.webServer>
<staticContent>
<clientCache cacheControlCustom="private" cacheControlMode="UseMaxAge" cacheControlMaxAge="3.00:00:00" />
</staticContent>
</system.webServer>
</configuration>
@@ -0,0 +1,41 @@
<?xml version="1.0"?>

<configuration>
<configSections>
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
<section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
</sectionGroup>
</configSections>

<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<pages pageBaseType="System.Web.Mvc.WebViewPage">
<namespaces>
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Routing" />
</namespaces>
</pages>
</system.web.webPages.razor>

<appSettings>
<add key="webpages:Enabled" value="false" />
</appSettings>

<system.webServer>
<handlers>
<remove name="BlockViewHandler"/>
<add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
</handlers>
</system.webServer>

<system.web>
<compilation>
<assemblies>
<add assembly="System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
</assemblies>
</compilation>
</system.web>
</configuration>
@@ -0,0 +1,18 @@
<?xml version="1.0"?>

<!-- Blocks public downloading of anything in this folder and sub folders -->

<configuration>
<system.web>
<httpHandlers>
<add path="*" verb="*" type="System.Web.HttpNotFoundHandler"/>
</httpHandlers>
</system.web>
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<handlers>
<remove name="BlockViewHandler"/>
<add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
</handlers>
</system.webServer>
</configuration>
@@ -0,0 +1,71 @@
<?xml version="1.0" encoding="utf-8"?>

<configuration>
<configSections>
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
<section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
</sectionGroup>
</configSections>



<system.web.webPages.razor>

<pages pageBaseType="System.Web.Mvc.WebViewPage">
<namespaces>
<!--<add namespace="responsive_kaysta.ch" />-->
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Routing" />
<add namespace="Umbraco.Web" />
<add namespace="Umbraco.Core" />
<add namespace="Umbraco.Core.Models" />
<add namespace="Umbraco.Web.Mvc" />
<add namespace="umbraco" />
<add namespace="Examine" />
<add namespace="Umbraco.Web.PublishedContentModels" />
</namespaces>
</pages>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
</system.web.webPages.razor>





<system.web>
<compilation>
<assemblies>
<add assembly="System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
</assemblies>
</compilation>
<httpHandlers>
<add path="*" verb="*" type="System.Web.HttpNotFoundHandler" />
</httpHandlers>
<!--
Enabling request validation in view pages would cause validation to occur
after the input has already been processed by the controller. By default
MVC performs request validation before a controller processes the input.
To change this behavior apply the ValidateInputAttribute to a
controller or action.
-->
<pages validateRequest="false" pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" pageBaseType="System.Web.Mvc.ViewPage, System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" userControlBaseType="System.Web.Mvc.ViewUserControl, System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<controls>
<add assembly="System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" namespace="System.Web.Mvc" tagPrefix="mvc" />
</controls>
</pages>
</system.web>
<appSettings>
<add key="webpages:Enabled" value="false" />
</appSettings>
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />

<handlers>
<remove name="BlockViewHandler" />
<add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
</handlers>
</system.webServer>
</configuration>

Large diffs are not rendered by default.

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<sitemanifest>
<IisApp path="C:\Dev\GitHub\BasicFrontend\BasicFrontend.Umbraco\obj\Release\Package\PackageTmp" />
<setAcl path="C:\Dev\GitHub\BasicFrontend\BasicFrontend.Umbraco\obj\Release\Package\PackageTmp" setAclResourceType="Directory" />
<setAcl path="C:\Dev\GitHub\BasicFrontend\BasicFrontend.Umbraco\obj\Release\Package\PackageTmp" setAclUser="anonymousAuthenticationUser" setAclResourceType="Directory" />
<setAcl path="C:\Dev\GitHub\BasicFrontend\BasicFrontend.Umbraco\obj\Release\Package\PackageTmp\App_Data" setAclResourceType="Directory" setAclAccess="Write" />
</sitemanifest>
@@ -0,0 +1,10 @@
<browsers>

<browser refID="Default">
<controlAdapters>
<adapter controlType="System.Web.UI.HtmlControls.HtmlForm"
adapterType="umbraco.presentation.urlRewriter.FormRewriterControlAdapter" />
</controlAdapters>
</browser>

</browsers>
@@ -0,0 +1,26 @@
<browsers>
<!--
Browser capability file for the w3c validator

sample UA: "W3C_Validator/1.305.2.148 libwww-perl/5.803"
-->
<browser id="w3cValidator" parentID="default">
<identification>
<userAgent match="^W3C_Validator" />
</identification>

<capture>
<userAgent match="^W3C_Validator/(?'version'(?'major'\d+)(?'minor'\.\d+)\w*).*" />
</capture>

<capabilities>
<capability name="browser" value="w3cValidator" />
<capability name="majorversion" value="${major}" />
<capability name="minorversion" value="${minor}" />
<capability name="version" value="${version}" />
<capability name="w3cdomversion" value="1.0" />
<capability name="xml" value="true" />
<capability name="tagWriter" value="System.Web.UI.HtmlTextWriter" />
</capabilities>
</browser>
</browsers>
@@ -0,0 +1 @@
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\d55bb4e1\2bfc5ec3\App_Web_all.generated.cs.8f9494c4.ixyqfggf.dll
Binary file not shown.

Large diffs are not rendered by default.

@@ -0,0 +1,151 @@
[
{
"name": "Rich text editor",
"alias": "rte",
"view": "rte",
"icon": "icon-article"
},
{
"name": "Image",
"alias": "media",
"view": "media",
"icon": "icon-picture"
},
{
"name": "Image wide",
"alias": "media_wide",
"view": "media",
"render": "/App_Plugins/Grid/Editors/Render/media_wide.cshtml",
"icon": "icon-picture"
},
{
"name": "Image wide cropped",
"alias": "media_wide_cropped",
"view": "media",
"render": "media",
"icon": "icon-picture",
"config": {
"size": {
"width": 1920,
"height": 700
}
}
},
{
"name": "Image rounded",
"alias": "media_round",
"view": "media",
"render": "/App_Plugins/Grid/Editors/Render/media_round.cshtml",
"icon": "icon-picture"
},
{
"name": "Image w/ text right",
"alias": "media_text_right",
"view": "/App_Plugins/Grid/Editors/Views/media_with_description.html",
"render": "/App_Plugins/Grid/Editors/Render/media_text_right.cshtml",
"icon": "icon-picture"
},
{
"name": "Macro",
"alias": "macro",
"view": "macro",
"icon": "icon-settings-alt"
},
{
"name": "Embed",
"alias": "embed",
"view": "embed",
"render": "/App_Plugins/Grid/Editors/Render/embed_videowrapper.cshtml",
"icon": "icon-movie-alt"
},
{
"name": "Banner Headline",
"alias": "banner_headline",
"view": "textstring",
"icon": "icon-coin",
"config": {
"style": "font-size: 36px; line-height: 45px; font-weight: bold; text-align:center",
"markup": "<h1 style='font-size:62px;text-align:center'>#value#</h1>"
}
},
{
"name": "Banner Tagline",
"alias": "banner_tagline",
"view": "textstring",
"icon": "icon-coin",
"config": {
"style": "font-size: 25px; line-height: 35px; font-weight: normal; text-align:center",
"markup": "<h2 style='font-weight: 100; font-size: 40px;text-align:center'>#value#</h2>"
}
},
{
"name": "Headline",
"alias": "headline",
"view": "textstring",
"icon": "icon-coin",
"config": {
"style": "font-size: 36px; line-height: 45px; font-weight: bold",
"markup": "<h1>#value#</h1>"
}
},
{
"name": "Headline centered",
"alias": "headline_centered",
"view": "textstring",
"icon": "icon-coin",
"config": {
"style": "font-size: 30px; line-height: 45px; font-weight: bold; text-align:center;",
"markup": "<h1 style='text-align:center;'>#value#</h1>"
}
},
{
"name": "Abstract",
"alias": "abstract",
"view": "textstring",
"icon": "icon-coin",
"config": {
"style": "font-size: 16px; line-height: 20px; font-weight: bold;",
"markup": "<h3>#value#</h3>"
}
},
{
"name": "Paragraph",
"alias": "paragraph",
"view": "textstring",
"icon": "icon-font",
"config": {
"style": "font-size: 16px; line-height: 20px; font-weight: light;",
"markup": "<p>#value#</p>"
}
},
{
"name": "Quote",
"alias": "quote",
"view": "textstring",
"icon": "icon-quote",
"config": {
"style": "border-left: 3px solid #ccc; padding: 10px; color: #ccc; font-family: serif; font-variant: italic; font-size: 18px",
"markup": "<blockquote>#value#</blockquote>"
}
},
{
"name": "Quote with description",
"alias": "quote_D",
"view": "/App_Plugins/Grid/Editors/Views/quote_with_description.html",
"render": "/App_Plugins/Grid/Editors/Render/quote_with_description.cshtml",
"icon": "icon-quote",
"config": {
"style": "border-left: 3px solid #ccc; padding: 10px; color: #ccc; font-family: serif; font-variant: italic; font-size: 18px"
}
},
{
"name": "Code",
"alias": "code",
"view": "textstring",
"icon": "icon-code",
"config": {
"style": "overflow: auto;padding: 6px 10px;border: 1px solid #ddd;border-radius: 3px;background-color: #f8f8f8;font-size: .9rem;font-family: 'Courier 10 Pitch', Courier, monospace;line-height: 19px;",
"markup": "<pre>#value#</pre>"
}
}
]
@@ -0,0 +1,29 @@
@inherits Umbraco.Web.Mvc.UmbracoViewPage<dynamic>

@if (Model.editor.config.markup != null)
{
string markup = Model.editor.config.markup.ToString();

markup = markup.Replace("#value#", Model.value.ToString());
markup = markup.Replace("#style#", Model.editor.config.style.ToString());

<text>
@Html.Raw(markup)
</text>
}
else
{
<text>
<article id="main">
<header>
<h2>@Model.value.headline</h2>
<p>@Model.value.description</p>
</header>
<section class="wrapper style5">
<div class="inner">
@Html.Raw(Model.value.content)
</div>
</section>
</article>
</text>
}
@@ -0,0 +1,33 @@
@inherits Umbraco.Web.Mvc.UmbracoViewPage<dynamic>

@{
var button1_url = Model.value.cta_button1_url;
var button1_text = Model.value.cta_button1_text;

var button2_url = Model.value.cta_button2_url;
var button2_text = Model.value.cta_button2_text;
}

@if (Model.editor.config.markup != null)
{
string markup = Model.editor.config.markup.ToString();

markup = markup.Replace("#value#", Model.value.ToString());
markup = markup.Replace("#style#", Model.editor.config.style.ToString());

<text>
@Html.Raw(markup)
</text>
}
else
{
<text>
<section id="banner">
<div class="inner">
<h2>@Model.value.headline</h2>
<p>@Html.Raw(Model.value.paragraph)</p>
</div>
<a href="#one" class="more scrolly">@Model.value.ancorreadmore</a>
</section>
</text>
}
@@ -0,0 +1,31 @@
@inherits Umbraco.Web.Mvc.UmbracoViewPage<dynamic>
@if (Model.editor.config.markup != null)
{
string markup = Model.editor.config.markup.ToString();

markup = markup.Replace("#value#", Model.value.ToString());
markup = markup.Replace("#style#", Model.editor.config.style.ToString());

<text>
@Html.Raw(markup)
</text>
}
else
{
<text>
<div class="container">
<section id="cta" class="wrapper">
<div class="inner">
<header>
<h2>@Model.value.headline</h2>
<p>@Model.value.description</p>
</header>
<ul class="actions vertical">
<li><a href="@Model.value.button1_url" class="button fit special">@Model.value.button1_text</a></li>
<li><a href="@Model.value.button2_url" class="button fit">@Model.value.button2_text</a></li>
</ul>
</div>
</section>
</div>
</text>
}
@@ -0,0 +1,5 @@
@inherits Umbraco.Web.Mvc.UmbracoViewPage<dynamic>

<div class="video-wrapper">
@Html.Raw(Model.value)
</div>
@@ -0,0 +1,26 @@
@inherits Umbraco.Web.Mvc.UmbracoViewPage<dynamic>

@if (Model.editor.config.markup != null)
{
string markup = Model.editor.config.markup.ToString();

markup = markup.Replace("#value#", Model.value.ToString());
markup = markup.Replace("#style#", Model.editor.config.style.ToString());

<text>
@Html.Raw(markup)
</text>
}
else
{
<text>
<section id="@Model.value.id" class="@Model.value.style">
<div class="inner">
<header class="major">
<h2>@Model.value.headline</h2>
<p>@Html.Raw(Model.value.paragraph)</p>
</header>
</div>
</section>
</text>
}
@@ -0,0 +1,22 @@
@inherits Umbraco.Web.Mvc.UmbracoViewPage<dynamic>

@if (Model.editor.config.markup != null)
{
string markup = Model.editor.config.markup.ToString();

markup = markup.Replace("#value#", Model.value.ToString());
markup = markup.Replace("#style#", Model.editor.config.style.ToString());

<text>
@Html.Raw(markup)
</text>
}
else
{
<text>
<div class="jumbotron">
<h1>@Model.value.headline</h1>
<p>@Model.value.description</p>
</div>
</text>
}
@@ -0,0 +1,22 @@
@inherits Umbraco.Web.Mvc.UmbracoViewPage<dynamic>

@if (Model.value != null)
{
var url = Model.value.image;
if(Model.editor.config != null && Model.editor.config.size != null){
url += "?width=" + Model.editor.config.size.width;
url += "&height=" + Model.editor.config.size.height;

if(Model.value.focalPoint != null){
url += "&center=" + Model.value.focalPoint.top +"," + Model.value.focalPoint.left;
url += "&mode=crop";
}
}

<img class="round center" src="@url" alt="@Model.value.caption">

if (Model.value.caption != null)
{
<strong>@Model.value.caption</strong>
}
}
@@ -0,0 +1,42 @@
@inherits Umbraco.Web.Mvc.UmbracoViewPage<dynamic>

@if (Model.value != null)
{
var url = Model.value.image;
if(Model.editor.config != null && Model.editor.config.size != null){
url += "?width=" + Model.editor.config.size.width;
url += "&height=" + Model.editor.config.size.height;

if(Model.value.focalPoint != null){
url += "&center=" + Model.value.focalPoint.top +"," + Model.value.focalPoint.left;
url += "&mode=crop";
}
}

<div class="equalizer">
<div class="col-sm-8 column">
<div class="equal center">
<img class="wide" src="@url" alt="@Model.value.caption">
</div>
</div>

@if (Model.value.headline != null)
{
<div class="col-sm-4 column">
<div class="equal">
<p class="small vcenter">
<strong>@Model.value.headline</strong>
<br>
@Model.value.paragraph
</p>
</div>
</div>
}
@if (Model.value.paragraph != null)
{
<div class="col-md-4 column">

</div>
}
</div>
}
@@ -0,0 +1,22 @@
@inherits Umbraco.Web.Mvc.UmbracoViewPage<dynamic>

@if (Model.value != null)
{
var url = Model.value.image;
if(Model.editor.config != null && Model.editor.config.size != null){
url += "?width=" + Model.editor.config.size.width;
url += "&height=" + Model.editor.config.size.height;

if(Model.value.focalPoint != null){
url += "&center=" + Model.value.focalPoint.top +"," + Model.value.focalPoint.left;
url += "&mode=crop";
}
}

<img class="wide" src="@url" alt="@Model.value.caption">

if (Model.value.caption != null)
{
<p class="caption">@Model.value.caption</p>
}
}
@@ -0,0 +1,29 @@
@inherits Umbraco.Web.Mvc.UmbracoViewPage<dynamic>

@if (Model.editor.config.markup != null)
{
string markup = Model.editor.config.markup.ToString();

markup = markup.Replace("#value#", Model.value.ToString());
markup = markup.Replace("#style#", Model.editor.config.style.ToString());

<text>
@Html.Raw(markup)
</text>
}
else
{
<text>

<div class="panel panel-default" style="min-height: 210px;">
<div class="panel-heading">
<h3 class="panel-title">@Model.value.headline</h3>
</div>
<div class="panel-body">
<p>@Model.value.description</p>
<div><a href="@Model.value.link">weiter...</a></div>
</div>
</div>

</text>
}
@@ -0,0 +1,34 @@
@inherits Umbraco.Web.Mvc.UmbracoViewPage<dynamic>

@if (Model.editor.config.markup != null)
{
string markup = Model.editor.config.markup.ToString();

markup = markup.Replace("#value#", Model.value.ToString());
markup = markup.Replace("#style#", Model.editor.config.style.ToString());

<text>
@Html.Raw(markup)
</text>
}
else
{
<text>
<div class="equalizer">
<div class="col-sm-8">
<div class="equal center">
<blockquote>@Model.value.quote</blockquote>
</div>
</div>
<div class="col-sm-4">
<div class="equal">
<p class="small vcenter">
<strong>@Model.value.headline</strong>
<br>
@Model.value.description
</p>
</div>
</div>
</div>
</text>
}
@@ -0,0 +1,50 @@
@using umbraco.cms.helpers
@inherits Umbraco.Web.Mvc.UmbracoViewPage<dynamic>

@*
https://our.umbraco.org/forum/umbraco-7/using-umbraco-7/65278-Creating-grid-editor-with-Image-upload-
*@

@{
var url = Model.value.image;
if (Model.editor.config != null && Model.editor.config.size != null)
{
url += "?width=" + Model.editor.config.size.width;
url += "&height=" + Model.editor.config.size.height;

if (Model.value.focalPoint != null)
{
url += "&center=" + Model.value.focalPoint.top + "," + Model.value.focalPoint.left;
url += "&mode=crop";
}
}
}

@if (Model.editor.config.markup != null)
{
string markup = Model.editor.config.markup.ToString();

markup = markup.Replace("#value#", Model.value.ToString());
markup = markup.Replace("#style#", Model.editor.config.style.ToString());

<text>
@Html.Raw(markup)
</text>
}
else
{
<text>
<section class="spotlight equal">
<div class="image">
<img class="wide" src="@url" alt="@Model.value.caption">
</div>
<div class="content">
<h2>@Model.value.headline</h2>
<p>@Model.value.paragraph</p>
<ul class="actions">
<li><a href="@Model.value.cta_button_url" class="button special">@Model.value.cta_button_text</a></li>
</ul>
</div>
</section>
</text>
}
@@ -0,0 +1,21 @@
<div ng-controller="Umbraco.PropertyEditors.Grid.TextStringController">

<textarea rows="1"
umb-auto-resize
class="textstring input-block-level" id="{{control.uniqueId}}_text"
ng-model="control.value.headline"
ng-attr-style="{{control.editor.config.style}}" placeholder="Write headerline here..."></textarea>

<textarea rows="2"
umb-auto-resize
class="textstring input-block-level" id="{{control.uniqueId}}_text"
ng-model="control.value.description"
ng-attr-style="{{control.editor.config.style}}" placeholder="Write description here..."></textarea>

<textarea rows="4"
umb-auto-resize
class="textstring input-block-level" id="{{control.uniqueId}}_text"
ng-model="control.value.content"
ng-attr-style="{{control.editor.config.style}}" placeholder="Write content here..."></textarea>

</div>
@@ -0,0 +1,24 @@
<div ng-controller="Umbraco.PropertyEditors.Grid.TextStringController">

<textarea rows="1" umb-auto-resize
class="textstring input-block-level" id="{{control.uniqueId}}_text"
ng-model="control.value.headline"
ng-attr-style="{{control.editor.config.style}}" placeholder="Write headerline here...">

</textarea>

<textarea rows="1" umb-auto-resize
class="textstring input-block-level" id="{{control.uniqueId}}_text"
ng-model="control.value.paragraph"
ng-attr-style="{{control.editor.config.style}}" placeholder="Write paragraph here...">

</textarea>

<textarea rows="1" umb-auto-resize
class="textstring input-block-level" id="{{control.uniqueId}}_text"
ng-model="control.value.ancorreadmore"
ng-attr-style="{{control.editor.config.style}}" placeholder="Write ancorreadmore here...">

</textarea>

</div>
@@ -0,0 +1,50 @@
<div ng-controller="Umbraco.PropertyEditors.Grid.TextStringController">

<textarea rows="1"
umb-auto-resize
class="textstring input-block-level"
id="{{control.uniqueId}}_text"
ng-model="control.value.headline"
ng-attr-style="{{control.editor.config.style}}"
placeholder="Write headerline here..."></textarea>

<textarea rows="3"
umb-auto-resize
class="textstring input-block-level"
id="{{control.uniqueId}}_text"
ng-model="control.value.description"
ng-attr-style="{{control.editor.config.style}}"
placeholder="Write description here..."></textarea>

<textarea rows="1"
umb-auto-resize
class="textstring input-block-level"
id="{{control.uniqueId}}_text"
ng-model="control.value.button1_text"
ng-attr-style="{{control.editor.config.style}}"
placeholder="Button 1 Text here..."></textarea>


<textarea rows="1"
umb-auto-resize
class="textstring input-block-level"
id="{{control.uniqueId}}_text"
ng-model="control.value.button1_url"
ng-attr-style="{{control.editor.config.style}}"
placeholder="Button 1 Url here..."></textarea>

<textarea rows="1"
umb-auto-resize
class="textstring input-block-level" id="{{control.uniqueId}}_text"
ng-model="control.value.button2_text"
ng-attr-style="{{control.editor.config.style}}" placeholder="Button 2 Text here..."></textarea>


<textarea rows="1"
umb-auto-resize
class="textstring input-block-level" id="{{control.uniqueId}}_text"
ng-model="control.value.button2_url"
ng-attr-style="{{control.editor.config.style}}" placeholder="Button 2 Url here..."></textarea>


</div>
@@ -0,0 +1,56 @@
<div ng-controller="Umbraco.PropertyEditors.Grid.TextStringController">

<textarea rows="1" umb-auto-resize
class="textstring input-block-level"
id="{{control.uniqueId}}_text"
ng-model="control.value.headline"
ng-attr-style="{{control.editor.config.style}}"
placeholder="Write headerline here...">

</textarea>

<textarea rows="3" umb-auto-resize
class="textstring input-block-level"
id="{{control.uniqueId}}_text"
ng-model="control.value.paragraph"
ng-attr-style="{{control.editor.rte}}" placeholder="Write your text here...">

</textarea>

<textarea rows="1" umb-auto-resize
class="textstring input-block-level"
id="{{control.uniqueId}}_text"
ng-model="control.value.id"
ng-attr-style="{{control.editor.config.style}}"
placeholder="Write an id here...">

</textarea>

<select umb-auto-resize
class="textstring input-block-level"
id="{{control.uniqueId}}_text"
ng-model="control.value.style"
ng-attr-style="{{control.editor.config.style}}"
placeholder="Select the style...">

<option value="wrapper style1 special">wrapper special: green ground</option>
<option value="wrapper style2 special">wrapper special: gray ground</option>
<option value="wrapper style3 special">wrapper special: purple ground</option>
<option value="wrapper style4 special">wrapper special: transparent ground</option>
<option value="wrapper style5 special">wrapper special: white ground</option>

<option value="wrapper alt style1">wrapper alt: green ground</option>
<option value="wrapper alt style2">wrapper alt: gray ground</option>
<option value="wrapper alt style3">wrapper alt: purple ground</option>
<option value="wrapper alt style4">wrapper alt: transparent ground</option>
<option value="wrapper alt style5">wrapper alt: white ground</option>

<option value="wrapper style1">wrapper: green ground</option>
<option value="wrapper style2">wrapper: gray ground</option>
<option value="wrapper style3">wrapper: purple ground</option>
<option value="wrapper style4">wrapper: transparent ground</option>
<option value="wrapper style5">wrapper: white ground</option>

</select>

</div>
@@ -0,0 +1,12 @@
<div ng-controller="Umbraco.PropertyEditors.Grid.TextStringController">
<textarea rows="1"
umb-auto-resize
class="textstring input-block-level" id="{{control.uniqueId}}_text"
ng-model="control.value.headline"
ng-attr-style="{{control.editor.config.style}}" placeholder="Write headerline here..."></textarea>
<textarea rows="1"
umb-auto-resize
class="textstring input-block-level" id="{{control.uniqueId}}_text"
ng-model="control.value.description"
ng-attr-style="{{control.editor.config.style}}" placeholder="Write description here..."></textarea>
</div>
@@ -0,0 +1,32 @@
<div ng-controller="Umbraco.PropertyEditors.Grid.MediaController">

<div class="usky-editor-placeholder" ng-click="setImage()" ng-if="control.value === null">
<i class="icon icon-picture"></i>
<div ng-id="!control.$inserted" class="help-text">Click to insert image</div>
</div>

<div ng-if="control.value">
<div style="width:49%;display:inline-block">
<img
ng-if="url"
ng-click="setImage()"
ng-src="{{url}}"
class="fullSizeImage" />
</div>
<div style="width:49%;display:inline-block;vertical-align:bottom;">
<textarea
rows="1"
umb-auto-resize
umb-auto-focus
class="textstring input-block-level" id="{{control.uniqueId}}_text"
ng-model="control.value.headline"
ng-attr-style="{{control.editor.config.style}}" style="font-weight:bold; font-size:17px;" placeholder="Image headline..."></textarea>
<textarea
rows="1"
umb-auto-resize
class="textstring input-block-level" id="{{control.uniqueId}}_text"
ng-model="control.value.paragraph"
ng-attr-style="{{control.editor.config.style}}" placeholder="Image description..."></textarea>
</div>
</div>
</div>
@@ -0,0 +1,17 @@
<div ng-controller="Umbraco.PropertyEditors.Grid.TextStringController">
<textarea rows="1"
umb-auto-resize
class="textstring input-block-level" id="{{control.uniqueId}}_text"
ng-model="control.value.headline"
ng-attr-style="{{control.editor.config.style}}" placeholder="Write headerline here..."></textarea>
<textarea rows="1"
umb-auto-resize
class="textstring input-block-level" id="{{control.uniqueId}}_text"
ng-model="control.value.description"
ng-attr-style="{{control.editor.config.style}}" placeholder="Write description here..."></textarea>
<textarea rows="1"
umb-auto-resize
class="textstring input-block-level" id="{{control.uniqueId}}_text"
ng-model="control.value.link"
ng-attr-style="{{control.editor.config.style}}" placeholder="Insert link here..."></textarea>
</div>
@@ -0,0 +1,21 @@
<div ng-controller="Umbraco.PropertyEditors.Grid.TextStringController">
<textarea
rows="1"
umb-auto-resize
umb-auto-focus
class="textstring input-block-level" id="{{control.uniqueId}}_text"
ng-model="control.value.quote"
ng-attr-style="{{control.editor.config.style}}" placeholder="Write quote here..."></textarea>
<textarea
rows="1"
umb-auto-resize
class="textstring input-block-level" id="{{control.uniqueId}}_text"
ng-model="control.value.headline"
ng-attr-style="{{control.editor.config.style}}" placeholder="Write headerline here..."></textarea>
<textarea
rows="1"
umb-auto-resize
class="textstring input-block-level" id="{{control.uniqueId}}_text"
ng-model="control.value.description"
ng-attr-style="{{control.editor.config.style}}" placeholder="Write description here..."></textarea>
</div>
@@ -0,0 +1,60 @@
<div ng-controller="Umbraco.PropertyEditors.Grid.MediaController">
<div class="usky-editor-placeholder"
ng-click="setImage()"
ng-if="control.value === null">
<i class="icon icon-picture"></i>
<div ng-id="!control.$inserted"
class="help-text">
<localize key="grid_clickToInsertImage">Click to insert image</localize>
</div>
</div>
<div ng-if="control.value">
<img ng-if="url"
ng-click="setImage()"
ng-src="{{url}}"
class="fullSizeImage"
style="max-width: 300px;" />
<input type="text"
class="caption"
ng-model="control.value.caption"
localize="placeholder"
placeholder="@grid_placeholderImageCaption" />
</div>
</div>

<div ng-controller="Umbraco.PropertyEditors.Grid.TextStringController">
<textarea rows="1"
umb-auto-resize
class="textstring input-block-level"
id="{{control.uniqueId}}_text"
ng-model="control.value.headline"
ng-attr-style="{{control.editor.config.style}}"
placeholder="Write headline here..."></textarea>
</div>

<div ng-controller="Umbraco.PropertyEditors.Grid.RichTextEditorController">
<textarea rows="3"
umb-auto-resize
class="textstring input-block-level"
id="{{control.uniqueId}}_text"
ng-model="control.value.paragraph"
ng-attr-style="{{control.editor.config.style}}"
placeholder="Write paragraph here..."></textarea>
</div>

<div ng-controller="Umbraco.PropertyEditors.Grid.TextStringController">
<textarea rows="1"
umb-auto-resize
class="textstring input-block-level"
id="{{control.uniqueId}}_text"
ng-model="control.value.cta_button_text"
ng-attr-style="{{control.editor.config.style}}"
placeholder="Write Button Text here..."></textarea>
<textarea rows="1"
umb-auto-resize
class="textstring input-block-level"
id="{{control.uniqueId}}_text"
ng-model="control.value.cta_button_url"
ng-attr-style="{{control.editor.config.style}}"
placeholder="The URL here..."></textarea>
</div>
@@ -0,0 +1,53 @@
angular.module("umbraco")
.controller("Umbraco.PropertyEditors.Grid.MediaController",
function ($scope, $rootScope, $timeout, dialogService) {

$scope.setImage = function () {

dialogService.mediaPicker({
startNodeId: $scope.control.editor.config && $scope.control.editor.config.startNodeId ? $scope.control.editor.config.startNodeId : undefined,
multiPicker: false,
cropSize: $scope.control.editor.config && $scope.control.editor.config.size ? $scope.control.editor.config.size : undefined,
showDetails: true,
callback: function (data) {

$scope.control.value = {
focalPoint: data.focalPoint,
id: data.id,
image: data.image
};

$scope.setUrl();
}
});
};

$scope.setUrl = function () {

if ($scope.control.value.image) {
var url = $scope.control.value.image;

if ($scope.control.editor.config && $scope.control.editor.config.size) {
url += "?width=" + $scope.control.editor.config.size.width;
url += "&height=" + $scope.control.editor.config.size.height;

if ($scope.control.value.focalPoint) {
url += "&center=" + $scope.control.value.focalPoint.top + "," + $scope.control.value.focalPoint.left;
url += "&mode=crop";
}
}

$scope.url = url;
}
};

$timeout(function () {
if ($scope.control.$initializing) {
$scope.setImage();
} else {
$scope.setUrl();
}
}, 200);

}
);
@@ -0,0 +1,31 @@
function modelsBuilderController($scope, umbRequestHelper, $log, $http, modelsBuilderResource) {

$scope.generate = function() {
$scope.generating = true;
umbRequestHelper.resourcePromise(
$http.post(umbRequestHelper.getApiUrl("modelsBuilderBaseUrl", "BuildModels")),
'Failed to generate.')
.then(function (result) {
$scope.generating = false;
$scope.dashboard = result;
});
};

$scope.reload = function () {
$scope.ready = false;
modelsBuilderResource.getDashboard().then(function (result) {
$scope.dashboard = result;
$scope.ready = true;
});
};

function init() {
modelsBuilderResource.getDashboard().then(function(result) {
$scope.dashboard = result;
$scope.ready = true;
});
}

init();
}
angular.module("umbraco").controller("Umbraco.Dashboard.ModelsBuilderController", modelsBuilderController);
@@ -0,0 +1,41 @@
<div id="modelsBuilder" ng-controller="Umbraco.Dashboard.ModelsBuilderController">

<div ng-show="ready" style="float: right;">
<button type="button" class="btn" ng-click="reload()"><span>Reload</span></button>
</div>

<h3>Models Builder</h3>

<div ng-show="!ready">
Loading...
</div>

<div ng-show="ready">
<div ng-bind-html-unsafe="dashboard.text"></div>

<div ng-if="dashboard.outOfDateModels">
<p>Models are <strong>out-of-date</strong>.
</p>
</div>

<div ng-if="dashboard.canGenerate">
<div ng-if="dashboard.generateCausesRestart">
<p style="color: red; font-weight: bold;">Generating models will restart the application.</p>
</div>
<div ng-show="!generating">
<button type="button" ng-click="generate()" class="btn btn-danger">
<span>Generate models</span>
</button>
</div>
<div class="umb-loader-wrapper" ng-show="generating">
<div class="umb-loader"></div>
</div>
</div>

<div ng-if="dashboard.lastError" style="margin-top: 32px;" ng-show="!generating">
<span style="color: red; font-weight: bold;">Last generation failed with the following error:</span>
<pre style="width: 80%; white-space: pre-line; background: #f8f8f8; padding: 4px; font-size: small;">{{dashboard.lastError}}</pre>
</div>
</div>

</div>
@@ -0,0 +1,23 @@
function modelsBuilderResource($q, $http, umbRequestHelper) {

return {
getModelsOutOfDateStatus: function () {
return umbRequestHelper.resourcePromise(
$http.get(umbRequestHelper.getApiUrl("modelsBuilderBaseUrl", "GetModelsOutOfDateStatus")),
"Failed to get models out-of-date status");
},

buildModels: function () {
return umbRequestHelper.resourcePromise(
$http.post(umbRequestHelper.getApiUrl("modelsBuilderBaseUrl", "BuildModels")),
"Failed to build models");
},

getDashboard: function () {
return umbRequestHelper.resourcePromise(
$http.get(umbRequestHelper.getApiUrl("modelsBuilderBaseUrl", "GetDashboard")),
"Failed to get dashboard");
}
};
}
angular.module("umbraco.resources").factory("modelsBuilderResource", modelsBuilderResource);

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

@@ -0,0 +1,16 @@
/* a.less */
/* global.less */
a {
-moz-transition: color 0.2s ease, border-bottom-color 0.2s ease;
-webkit-transition: color 0.2s ease, border-bottom-color 0.2s ease;
-ms-transition: color 0.2s ease, border-bottom-color 0.2s ease;
transition: color 0.2s ease, border-bottom-color 0.2s ease;
border-bottom: dotted 1px;
text-decoration: none;
font-family: 'Trebuchet MS', 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', 'Lato', Arial, sans-serif;
text-transform: lowercase;
color: #d3d3d3;
}
a:hover {
border-bottom-color: transparent;
}
@@ -0,0 +1,22 @@
/* a.less */

@import "../global.less";

a {
-moz-transition: color 0.2s ease, border-bottom-color 0.2s ease;
-webkit-transition: color 0.2s ease, border-bottom-color 0.2s ease;
-ms-transition: color 0.2s ease, border-bottom-color 0.2s ease;
transition: color 0.2s ease, border-bottom-color 0.2s ease;
border-bottom: dotted 1px;

text-decoration: none;

font-family: @base-font-family;
text-transform: @base-text-transform;

color: @base-color;
}

a:hover {
border-bottom-color: transparent;
}
@@ -0,0 +1,11 @@
/* abstract.less */
/* global.less */
.abstract {
font-size: 1.3rem;
font-weight: 700;
margin: 0;
padding: 0;
}
.abstract {
margin-bottom: 0.75rem;
}
@@ -0,0 +1,14 @@
/* abstract.less */

@import "../global.less";

.abstract {
font-size: 1.3rem;
font-weight: 700;
margin: 0;
padding: 0;
}

.abstract {
margin-bottom: 0.75rem;
}
@@ -0,0 +1 @@
.abstract{font-size:1.3rem;font-weight:700;margin:0;padding:0}.abstract{margin-bottom:.75rem}
@@ -0,0 +1,37 @@
/* blockquote.less */
/* global.less */
blockquote,
q {
quotes: none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
content: '';
content: none;
}
blockquote {
font-size: 1.3rem;
font-weight: 400;
line-height: 1.6;
letter-spacing: 0.2px;
}
blockquote {
color: #d3d3d3;
}
blockquote:before,
blockquote:after {
display: inline-block;
padding: 0 2px;
font-size: 1.4rem;
content: '"';
}
blockquote {
padding: 10px;
text-align: center;
position: relative;
}
blockquote + * {
padding: 30px 10px;
}
@@ -0,0 +1,40 @@
/* blockquote.less */

@import "../global.less";

blockquote, q {
quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
content: '';
content: none;
}

blockquote {
font-size: 1.3rem;
font-weight: 400;
line-height: 1.6;
letter-spacing: 0.2px;
}

blockquote {
color: @base-color;
}

blockquote:before, blockquote:after {
display: inline-block;
padding: 0 2px;
font-size: 1.4rem;
content: '"';
}

blockquote {
padding: 10px;
text-align: center;
position: relative;
}

blockquote + * {
padding: 30px 10px;
}
@@ -0,0 +1,12 @@
/* code.less */
/* global.less */
code {
overflow: auto;
border-radius: 10px;
background-color: lightgray;
}
code {
background-color: lightgray;
font-size: 0.75rem;
font-family: "Courier 10 Pitch", Courier, monospace;
}
@@ -0,0 +1,15 @@
/* code.less */

@import "../global.less";

code {
overflow: auto;
border-radius: 10px;
background-color: lightgray;
}

code {
background-color: lightgray;
font-size: 0.75rem;
font-family: "Courier 10 Pitch", Courier, monospace;
}
@@ -0,0 +1,60 @@
/* h.less */
/* global.less */
h1,
h2,
h3,
h4,
h5,
h6 {
color: #d3d3d3;
font-weight: 800;
letter-spacing: 0.225em;
line-height: 1em;
margin: 0 0 1em 0;
text-transform: uppercase;
}
h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
color: inherit;
text-decoration: none;
}
h2 {
font-size: 1.35em;
line-height: 1.75em;
}
h4 {
font-size: 1em;
line-height: 1.5em;
}
h5 {
font-size: 0.8em;
line-height: 1.5em;
}
h6 {
font-size: 0.7em;
line-height: 1.5em;
}
@media screen and (max-width: 736px) {
h2 {
font-size: 1.1em;
line-height: 1.65em;
}
h3 {
font-size: 1.15em;
line-height: 1.75em;
}
}
@media screen and (max-width: 736px) {
h2 {
font-size: 1.1em;
line-height: 1.65em;
}
h3 {
font-size: 1.15em;
line-height: 1.75em;
}
}
@@ -0,0 +1,61 @@
/* h.less */

@import "../global.less";

h1, h2, h3, h4, h5, h6 {
color: @base-color;
font-weight: 800;
letter-spacing: 0.225em;
line-height: 1em;
margin: 0 0 1em 0;
text-transform: uppercase;
}

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
color: inherit;
text-decoration: none;
}

h2 {
font-size: 1.35em;
line-height: 1.75em;
}

h4 {
font-size: 1em;
line-height: 1.5em;
}

h5 {
font-size: 0.8em;
line-height: 1.5em;
}

h6 {
font-size: 0.7em;
line-height: 1.5em;
}

@media screen and (max-width: 736px) {
h2 {
font-size: 1.1em;
line-height: 1.65em;
}

h3 {
font-size: 1.15em;
line-height: 1.75em;
}
}

@media screen and (max-width: 736px) {
h2 {
font-size: 1.1em;
line-height: 1.65em;
}

h3 {
font-size: 1.15em;
line-height: 1.75em;
}
}
@@ -0,0 +1,10 @@
/* hr.less */
/* global.less */
hr {
border: 0;
border-bottom: solid 2px #fff;
margin: 3em 0;
}
hr.major {
margin: 4.5em 0;
}
@@ -0,0 +1,13 @@
/* hr.less */

@import "../global.less";

hr {
border: 0;
border-bottom: solid 2px #fff;
margin: 3em 0;
}

hr.major {
margin: 4.5em 0;
}
@@ -0,0 +1 @@
hr{border:0;border-bottom:solid 2px #fff;margin:3em 0}hr.major{margin:4.5em 0}
@@ -0,0 +1,42 @@
/* image.less */
/* global.less */
img {
max-width: 100%;
height: auto;
}
.image {
border-radius: 3px;
border: 0;
display: inline-block;
position: relative;
}
.image img {
border-radius: 3px;
display: block;
}
.image.left {
float: left;
margin: 0 2em 2em 0;
top: 0.25em;
}
.image.right {
float: right;
margin: 0 0 2em 2em;
top: 0.25em;
}
.image.left,
.image.right {
max-width: 40%;
}
.image.left img,
.image.right img {
width: 100%;
}
.image.fit {
display: block;
margin: 0 0 2em 0;
width: 100%;
}
.image.fit img {
width: 100%;
}
@@ -0,0 +1,50 @@
/* image.less */

@import "../global.less";

img {
max-width: 100%;
height: auto;
}

.image {
border-radius: 3px;
border: 0;
display: inline-block;
position: relative;
}

.image img {
border-radius: 3px;
display: block;
}

.image.left {
float: left;
margin: 0 2em 2em 0;
top: 0.25em;
}

.image.right {
float: right;
margin: 0 0 2em 2em;
top: 0.25em;
}

.image.left, .image.right {
max-width: 40%;
}

.image.left img, .image.right img {
width: 100%;
}

.image.fit {
display: block;
margin: 0 0 2em 0;
width: 100%;
}

.image.fit img {
width: 100%;
}
@@ -0,0 +1,23 @@
/* preless */
/* global.less */
pre {
overflow: auto;
border-radius: 10px;
background-color: lightgray;
}
pre {
padding: 20px;
margin-bottom: 30px;
}
pre {
-webkit-overflow-scrolling: touch;
font-family: "Courier New", monospace;
font-size: 0.9em;
margin: 0 0 2em 0;
}
pre code {
display: block;
line-height: 1.75em;
padding: 1em 1.5em;
overflow-x: auto;
}
@@ -0,0 +1,30 @@
/* preless */

@import "../global.less";

@bg-color: lightgray;

pre {
overflow: auto;
border-radius: 10px;
background-color: @bg-color;
}

pre {
padding: 20px;
margin-bottom: 30px;
}

pre {
-webkit-overflow-scrolling: touch;
font-family: "Courier New", monospace;
font-size: 0.9em;
margin: 0 0 2em 0;
}

pre code {
display: block;
line-height: 1.75em;
padding: 1em 1.5em;
overflow-x: auto;
}
@@ -0,0 +1,65 @@
/* text.less */
/* global.less */
p {
font-size: 1.0rem;
font-weight: normal;
line-height: 1.4;
letter-spacing: 0.2px;
}
p {
color: #d3d3d3;
}
p {
margin-bottom: 2em;
}
strong,
b {
color: #d3d3d3;
font-weight: 600;
}
em,
i {
font-style: italic;
}
sub {
font-size: 0.8em;
position: relative;
top: 0.5em;
}
sup {
font-size: 0.8em;
position: relative;
top: -0.5em;
}
.lead {
font-size: 1.2rem;
font-weight: 500;
line-height: 1.6;
}
.lead {
margin: 0;
}
.lead {
margin-bottom: 1.0rem;
}
.small {
font-size: .85rem;
}
.headline {
font-size: 62px;
margin-bottom: 1.0rem;
}
.tagline {
font-weight: 100;
font-size: 40px;
margin-bottom: 1.0rem;
}
.align-left {
text-align: left;
}
.align-center {
text-align: center;
}
.align-right {
text-align: right;
}
@@ -0,0 +1,81 @@
/* text.less */

@import "../global.less";

p {
font-size: 1.0rem;
font-weight: normal;
line-height: 1.4;
letter-spacing: 0.2px;
}

p {
color: @base-color;
}

p {
margin-bottom: 2em;
}

strong, b {
color: @base-color;
font-weight: 600;
}

em, i {
font-style: italic;
}

sub {
font-size: 0.8em;
position: relative;
top: 0.5em;
}

sup {
font-size: 0.8em;
position: relative;
top: -0.5em;
}


.lead {
font-size: 1.2rem;
font-weight: 500;
line-height: 1.6;
}

.lead {
margin: 0;
}

.lead {
margin-bottom: 1.0rem;
}

.small {
font-size: .85rem;
}

.headline {
font-size: 62px;
margin-bottom: 1.0rem;
}

.tagline {
font-weight: 100;
font-size: 40px;
margin-bottom: 1.0rem;
}

.align-left {
text-align: left;
}

.align-center {
text-align: center;
}

.align-right {
text-align: right;
}
@@ -0,0 +1,60 @@
/* triangle.less */
/* global.less */
@media (min-width: 992px) {
.triangle + .dark:before {
border-color: transparent transparent transparent #1c1c1e;
}
.triangle + .light:before {
border-color: transparent transparent transparent #fff;
}
.triangle + .yellow:before {
border-color: transparent transparent transparent #FFCC01;
}
.triangle + .blue:before {
border-color: transparent transparent transparent #51c1f5;
}
.triangle + .purple:before {
border-color: transparent transparent transparent #C2357B;
}
.triangle {
position: relative;
}
.triangle img {
position: relative;
z-index: 100;
}
.triangle:before {
content: "";
display: block;
width: 0;
height: 0;
border-style: solid;
border-width: 0 0 150px 100vw;
border-color: inherit;
position: absolute;
z-index: 120;
}
.triangle + .light,
.triangle + .dark,
.triangle + .blue,
.triangle + .yellow,
.triangle + .purple {
position: relative;
}
.triangle + .light:before,
.triangle + .dark:before,
.triangle + .blue:before,
.triangle + .yellow:before,
.triangle + .purple:before {
content: "";
display: block;
width: 0;
height: 0;
border-style: solid;
border-width: 150px 0 0 100vw;
border-color: none;
position: absolute;
z-index: 120;
top: -150px;
}
}
@@ -0,0 +1,72 @@
/* triangle.less */

@import "../global.less";

@media (min-width: 992px) {

.triangle + .dark:before {
border-color: transparent transparent transparent #1c1c1e;
}

.triangle + .light:before {
border-color: transparent transparent transparent #fff;
}

.triangle + .yellow:before {
border-color: transparent transparent transparent #FFCC01;
}

.triangle + .blue:before {
border-color: transparent transparent transparent #51c1f5;
}

.triangle + .purple:before {
border-color: transparent transparent transparent #C2357B;
}

.triangle {
position: relative;
}

.triangle img {
position: relative;
z-index: 100;
}

.triangle:before {
content: "";
display: block;
width: 0;
height: 0;
border-style: solid;
border-width: 0 0 150px 100vw;
border-color: inherit;
position: absolute;
z-index: 120;
}

.triangle + .light,
.triangle + .dark,
.triangle + .blue,
.triangle + .yellow,
.triangle + .purple {
position: relative;
}

.triangle + .light:before,
.triangle + .dark:before,
.triangle + .blue:before,
.triangle + .yellow:before,
.triangle + .purple:before {
content: "";
display: block;
width: 0;
height: 0;
border-style: solid;
border-width: 150px 0 0 100vw;
border-color: none;
position: absolute;
z-index: 120;
top: -150px;
}
}
@@ -0,0 +1,27 @@
/* blue.less */
.blue {
background: #51c1f5;
}
.blue * {
color: darkgray;
}
.blue p {
color: darkgray;
}
.blue h2 {
color: darkgray;
}
.blue a {
color: darkgray;
width: 100%;
}
.blue .date {
text-align: right;
}
div.page-header {
width: 100%;
border-bottom: darkgray solid thin;
}
.blue div.page-header > h1 {
color: darkgray;
}
@@ -0,0 +1,35 @@
/* blue.less */

.blue {
background: #51c1f5;
}

.blue * {
color: darkgray;
}

.blue p {
color: darkgray;
}

.blue h2 {
color: darkgray;
}

.blue a {
color: darkgray;
width: 100%;
}

.blue .date{
text-align: right;
}

div.page-header {
width: 100%;
border-bottom: darkgray solid thin;
}

.blue div.page-header > h1 {
color: darkgray;
}
@@ -0,0 +1,28 @@
/* dark.less */
.dark {
background: #333333;
}
.dark * {
color: #ccc;
}
.dark p {
color: #ccc;
}
.dark h2 {
color: #ccc;
}
.dark a {
color: #ccc;
width: 100%;
}
.dark .date {
text-align: right;
color: #ccc;
}
div.page-header {
width: 100%;
border-bottom: #ccc solid thin;
}
.dark div.page-header > h1 {
color: #ccc;
}
@@ -0,0 +1,36 @@
/* dark.less */

.dark {
background: #333333;
}

.dark * {
color:#ccc;
}

.dark p {
color: #ccc;
}

.dark h2 {
color: #ccc;
}

.dark a {
color: #ccc;
width: 100%;
}

.dark .date{
text-align: right;
color: #ccc;
}

div.page-header {
width: 100%;
border-bottom: #ccc solid thin;
}

.dark div.page-header > h1 {
color: #ccc;
}
@@ -0,0 +1,27 @@
/* light.less */
.light {
background: white;
}
.light * {
color: black;
}
.light p {
color: black;
}
.light h2 {
color: black;
}
.light a {
color: black;
width: 100%;
}
.light .date {
text-align: right;
}
div.page-header {
width: 100%;
border-bottom: black solid thin;
}
.light div.page-header > h1 {
color: black;
}
@@ -0,0 +1,35 @@
/* light.less */

.light {
background: white;
}

.light * {
color: black;
}

.light p {
color: black;
}

.light h2 {
color: black;
}

.light a {
color: black;
width: 100%;
}

.light .date{
text-align: right;
}

div.page-header {
width: 100%;
border-bottom: black solid thin;
}

.light div.page-header > h1 {
color: black;
}
@@ -0,0 +1,27 @@
/* purple.less */
.purple {
background: #C2357B;
}
.purple * {
color: whitesmoke;
}
.purple p {
color: whitesmoke;
}
.purple h2 {
color: whitesmoke;
}
.purple a {
color: whitesmoke;
width: 100%;
}
.purple .date {
text-align: right;
}
div.page-header {
width: 100%;
border-bottom: whitesmoke solid thin;
}
.purple div.page-header > h1 {
color: whitesmoke;
}
@@ -0,0 +1,35 @@
/* purple.less */

.purple {
background: #C2357B;
}

.purple * {
color: whitesmoke;
}

.purple p {
color: whitesmoke;
}

.purple h2 {
color: whitesmoke;
}

.purple a {
color: whitesmoke;
width: 100%;
}

.purple .date{
text-align: right;
}

div.page-header {
width: 100%;
border-bottom: whitesmoke solid thin;
}

.purple div.page-header > h1 {
color: whitesmoke;
}
@@ -0,0 +1,27 @@
/* yellow.less */
.yellow {
background: #FFCC01;
}
.yellow * {
color: #000;
}
.yellow p {
color: black;
}
.yellow h2 {
color: black;
}
.yellow a {
color: black;
width: 100%;
}
.yellow .date {
text-align: right;
}
div.page-header {
width: 100%;
border-bottom: whitesmoke solid thin;
}
.purple div.page-header > h1 {
color: whitesmoke;
}
@@ -0,0 +1,35 @@
/* yellow.less */

.yellow {
background: #FFCC01;
}

.yellow * {
color: #000;
}

.yellow p {
color: black;
}

.yellow h2 {
color: black;
}

.yellow a {
color: black;
width: 100%;
}

.yellow .date{
text-align: right;
}

div.page-header {
width: 100%;
border-bottom: whitesmoke solid thin;
}

.purple div.page-header > h1 {
color: whitesmoke;
}
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@@ -0,0 +1,18 @@
/* box.less */
/* global.less */
.box {
border-radius: 3px;
border: solid 2px #fff;
margin-bottom: 2em;
padding: 1.5em;
}
.box > :last-child,
.box > :last-child > :last-child,
.box > :last-child > :last-child > :last-child {
margin-bottom: 0;
}
.box.alt {
border: 0;
border-radius: 0;
padding: 0;
}