Merge remote-tracking branch 'origin/dev-v7' into temp8

# Conflicts:
#	src/Umbraco.Core/Models/UserExtensions.cs
#	src/Umbraco.Core/Persistence/Repositories/AuditRepository.cs
#	src/Umbraco.Core/Persistence/Repositories/RepositoryBase.cs
#	src/Umbraco.Core/Services/ContentService.cs
#	src/Umbraco.Core/StringExtensions.cs
#	src/Umbraco.Tests/Migrations/Upgrades/SqlCeUpgradeTest.cs
#	src/Umbraco.Tests/TestHelpers/BaseDatabaseFactoryTest.cs
#	src/Umbraco.Web.UI.Client/package-lock.json
#	src/Umbraco.Web.UI.Client/package.json
#	src/Umbraco.Web.UI.Client/src/common/services/contenteditinghelper.service.js
#	src/Umbraco.Web.UI.Client/src/views/common/dialogs/treepicker.controller.js
#	src/Umbraco.Web.UI.Client/src/views/common/overlays/linkpicker/linkpicker.controller.js
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/checkboxlist/checkboxlist.html
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/dropdownFlexible/dropdownFlexible.controller.js
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/dropdownFlexible/dropdownFlexible.html
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/radiobuttons/radiobuttons.html
#	src/Umbraco.Web.UI/Umbraco/config/lang/da.xml
#	src/Umbraco.Web.UI/Umbraco/config/lang/fr.xml
#	src/Umbraco.Web.UI/Umbraco/config/lang/ru.xml
#	src/Umbraco.Web.UI/Umbraco/developer/RelationTypes/EditRelationType.aspx
#	src/Umbraco.Web.UI/umbraco/config/lang/en.xml
#	src/Umbraco.Web.UI/umbraco/config/lang/en_us.xml
#	src/Umbraco.Web.UI/umbraco/config/lang/es.xml
#	src/Umbraco.Web/Editors/ContentController.cs
#	src/Umbraco.Web/HealthCheck/Checks/DataIntegrity/XmlDataIntegrityHealthCheck.cs
#	src/Umbraco.Web/HealthCheck/NotificationMethods/EmailNotificationMethod.cs
#	src/Umbraco.Web/Routing/ContentFinderByRedirectUrl.cs
#	src/Umbraco.Web/Trees/ContentTreeControllerBase.cs
#	src/Umbraco.Web/umbraco.presentation/umbraco/create/language.ascx.cs
#	src/Umbraco.Web/umbraco.presentation/umbraco/developer/RelationTypes/EditRelationType.aspx
#	src/Umbraco.Web/umbraco.presentation/umbraco/developer/RelationTypes/EditRelationType.aspx.cs
#	src/Umbraco.Web/umbraco.presentation/umbraco/settings/editLanguage.aspx.cs
#	src/umbraco.cms/businesslogic/language/Language.cs
This commit is contained in:
Shannon
2018-12-06 17:13:23 +11:00
26 changed files with 103 additions and 128 deletions

View File

@@ -44,7 +44,7 @@
"autoprefixer": "9.3.1",
"gulp-clean-css": "4.0.0",
"cssnano": "4.1.7",
"gulp": "3.9.1",
"gulp-connect": "5.6.1",
"gulp-babel": "8.0.0",
"gulp-concat": "2.6.1",
"gulp-connect": "5.6.1",
@@ -60,13 +60,14 @@
"gulp-wrap": "0.14.0",
"gulp-wrap-js": "0.4.1",
"jasmine-core": "3.3.0",
"karma": "3.1.1",
"karma": "^3.1.3",
"karma-jasmine": "2.0.1",
"karma-phantomjs-launcher": "1.0.4",
"less": "3.9.0",
"less": "^3.9.0",
"lodash": "4.17.11",
"merge-stream": "1.0.1",
"run-sequence": "2.2.1",
"marked": "^0.5.2"
"run-sequence": "^2.2.1",
"marked": "^0.5.2",
"event-stream": "3.3.4"
}
}

View File

@@ -116,7 +116,6 @@
@import "components/umb-confirm-action.less";
@import "components/umb-keyboard-shortcuts-overview.less";
@import "components/umb-checkbox-list.less";
@import "components/umb-radiobuttons-list.less";
@import "components/umb-locked-field.less";
@import "components/umb-tabs.less";
@import "components/umb-load-indicator.less";

View File

@@ -204,6 +204,7 @@
box-sizing: border-box;
background: @gray-10;
border-bottom: 1px solid @purple-l3;
pointer-events: none;
}
.umb-overlay__item-details-title-wrapper {

View File

@@ -1,80 +0,0 @@
.umb-radiobuttons{
&__label{
position: relative;
padding: 0;
&-text{
margin: 0 0 0 32px;
position: relative;
top: 1px;
}
}
&__input{
position: absolute;
top: 0;
left: 0;
opacity: 0;
&:focus ~ .umb-radiobuttons__state{
box-shadow: 0 1px 3px fade(@black, 12%), 0 1px 2px fade(@black, 24%);
}
&:focus:checked ~ .umb-radiobuttons__state{
box-shadow: none;
}
&:checked ~ .umb-radiobuttons__state{
&:before{
width: 100%;
height: 100%;
}
}
&:checked ~ .umb-radiobuttons__state .umb-radiobuttons__icon{
opacity: 1;
}
}
&__state{
display: flex;
flex-wrap: wrap;
border: 1px solid @gray-8;
border-radius: 100%;
width: 22px;
height: 22px;
position: relative;
&:before{
content: "";
background: @green;
width: 0;
height: 0;
transition: .1s ease-out;
position: absolute;
left: 0;
right: 0;
top: 0;
bottom: 0;
margin: auto;
border-radius: 100%;
}
}
&__icon{
color: @white;
text-align: center;
font-size: 15px;
opacity: 0;
transition: .3s ease-out;
&:before{
position: absolute;
top: 2px;
right: 0;
left: 0;
bottom: 0;
margin: auto;
}
}
}

View File

@@ -33,8 +33,10 @@
<umb-property-editor model="preValue" is-pre-value="true"></umb-property-editor>
</umb-property>
<button type="button" class="btn" ng-click="toggleEditListViewDataTypeSettings()"><localize key="general_close">Close</localize></button>
<button type="button" class="btn btn-success" ng-click="saveListViewDataType()"><localize key="buttons_saveListView"></localize></button>
<div class="text-right">
<button type="button" class="btn btn-link" ng-click="toggleEditListViewDataTypeSettings()"><localize key="general_close">Close</localize></button>
<button type="button" class="btn btn-success" ng-click="saveListViewDataType()"><localize key="buttons_saveListView"></localize></button>
</div>
</div>
</div>

View File

@@ -1,7 +1,7 @@
<select ng-model="model.value">
<select ng-model="model.value" required>
<option value="STRING">String</option>
<option value="DECIMAL">Decimal</option>
<option value="DATETIME">Date/time</option>
<option value="INT">Integer</option>
<option value="TEXT">Long string</option>
</select>
</select>

View File

@@ -6,7 +6,8 @@
<input type="checkbox" name="checkboxlist"
value="{{item.key}}"
ng-model="item.checked"
ng-change="changed(item)" />
ng-change="changed(item)"
ng-required="model.validation.mandatory && !model.value.length" />
{{item.val}}
</label>
</li>

View File

@@ -77,8 +77,16 @@ angular.module("umbraco").controller("Umbraco.PropertyEditors.DropdownFlexibleCo
// if we run in single mode we'll store the value in a local variable
// so we can pass an array as the model as our PropertyValueEditor expects that
$scope.model.singleDropdownValue = "";
if (!Object.toBoolean($scope.model.config.multiple)) {
if (!Object.toBoolean($scope.model.config.multiple) && $scope.model.value) {
$scope.model.singleDropdownValue = Array.isArray($scope.model.value) ? $scope.model.value[0] : $scope.model.value;
}
// if we run in multiple mode, make sure the model is an array (in case the property was previously saved in single mode)
// also explicitly set the model to null if it's an empty array, so mandatory validation works on the client
if ($scope.model.config.multiple === "1" && $scope.model.value) {
$scope.model.value = !Array.isArray($scope.model.value) ? [$scope.model.value] : $scope.model.value;
if ($scope.model.value.length === 0) {
$scope.model.value = null;
}
}
});

View File

@@ -5,7 +5,8 @@
ng-switch-default
ng-change="updateSingleDropdownValue()"
ng-model="model.singleDropdownValue"
ng-options="item.value as item.value for item in model.config.items">
ng-options="item.value as item.value for item in model.config.items"
ng-required="model.validation.mandatory">
<option></option>
</select>
@@ -15,5 +16,6 @@
ng-switch-when="true"
multiple
ng-model="model.value"
ng-options="item.value as item.value for item in model.config.items"></select>
ng-options="item.value as item.value for item in model.config.items"
ng-required="model.validation.mandatory"></select>
</div>

View File

@@ -69,4 +69,8 @@ angular.module("umbraco").controller("Umbraco.PrevalueEditors.CropSizesControlle
//there was an error, do the highlight (will be set back by the directive)
$scope.hasError = true;
};
$scope.sortableOptions = {
axis: 'y'
}
});

View File

@@ -58,7 +58,7 @@
</div>
<div ui-sortable="sortableOptions" class="umb-cropsizes__sortable">
<div ui-sortable="sortableOptions" class="umb-cropsizes__sortable" ng-model="model.value">
<div class="control-group umb-prevalues-multivalues__listitem" ng-repeat="item in model.value">
<i class="icon icon-navigation handle"></i>
<div class="umb-prevalues-multivalues__left">

View File

@@ -37,7 +37,7 @@
</div>
<div class="umb-nested-content__footer-bar" ng-hide="nodes.length >= maxItems">
<a class="umb-nested-content__icon" ng-click="openNodeTypePicker($event)" prevent-default>
<a href class="umb-nested-content__icon" ng-click="openNodeTypePicker($event)" prevent-default>
<i class="icon icon-add"></i>
</a>
</div>

View File

@@ -1,17 +1,12 @@
<div class="umb-property-editor umb-radiobuttons" ng-controller="Umbraco.PropertyEditors.RadioButtonsController">
<ul class="unstyled">
<li ng-repeat="item in configItems track by item.id">
<label class="radio umb-radiobuttons__label">
<label class="radio">
<input type="radio" name="{{htmlId}}"
value="{{item.id}}"
ng-model="model.value"
class="umb-radiobuttons__input" />
<div class="umb-radiobuttons__state">
<i class="umb-radiobuttons__icon icon-check" aria-hidden="true"></i>
<span class="umb-radiobuttons__label-text">{{item.value}}</span>
</div>
ng-model="model.value" />
{{item.value}}
</label>
</li>
</ul>
</div>
</div>