From 3f30be450dc8d4786bbbaa615716e5954d447f28 Mon Sep 17 00:00:00 2001 From: Warren Buckley Date: Wed, 18 Sep 2019 15:27:30 +0100 Subject: [PATCH 01/16] Emit event when upload of image starts & stops Listen for events in content edit JS controller to change the state of the buttons to be 'busy' to avoid page/node being saved whilst large image is uploaded or slow connection --- .../directives/components/content/edit.controller.js | 12 ++++++++++++ .../src/common/services/tinymce.service.js | 10 +++++++++- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/src/Umbraco.Web.UI.Client/src/common/directives/components/content/edit.controller.js b/src/Umbraco.Web.UI.Client/src/common/directives/components/content/edit.controller.js index 806d43f92b..409efec1b0 100644 --- a/src/Umbraco.Web.UI.Client/src/common/directives/components/content/edit.controller.js +++ b/src/Umbraco.Web.UI.Client/src/common/directives/components/content/edit.controller.js @@ -171,6 +171,18 @@ } })); + evts.push(eventsService.on("rte.file.uploading", function(){ + notificationsService.info("Saving Disabled", "The node cannot be saved until the image/s has finished uploading") + + $scope.page.saveButtonState = "busy"; + $scope.page.buttonGroupState = "busy"; + + })); + + evts.push(eventsService.on("rte.file.uploaded", function(){ + $scope.page.saveButtonState = "success"; + $scope.page.buttonGroupState = "success"; + })); } /** diff --git a/src/Umbraco.Web.UI.Client/src/common/services/tinymce.service.js b/src/Umbraco.Web.UI.Client/src/common/services/tinymce.service.js index a28318519c..7512da293c 100644 --- a/src/Umbraco.Web.UI.Client/src/common/services/tinymce.service.js +++ b/src/Umbraco.Web.UI.Client/src/common/services/tinymce.service.js @@ -7,7 +7,7 @@ * A service containing all logic for all of the Umbraco TinyMCE plugins */ function tinyMceService($rootScope, $q, imageHelper, $locale, $http, $timeout, stylesheetResource, macroResource, macroService, - $routeParams, umbRequestHelper, angularHelper, userService, editorService, entityResource) { + $routeParams, umbRequestHelper, angularHelper, userService, editorService, entityResource, eventsService) { //These are absolutely required in order for the macros to render inline //we put these as extended elements because they get merged on top of the normal allowed elements by tiny mce @@ -167,6 +167,14 @@ function tinyMceService($rootScope, $q, imageHelper, $locale, $http, $timeout, s xhr = new XMLHttpRequest(); xhr.open('POST', Umbraco.Sys.ServerVariables.umbracoUrls.tinyMceApiBaseUrl + 'UploadImage'); + xhr.onloadstart = function(e) { + eventsService.emit("rte.file.uploading"); + }; + + xhr.onloadend = function(e) { + eventsService.emit("rte.file.uploaded"); + }; + xhr.upload.onprogress = function (e) { progress(e.loaded / e.total * 100); }; From e92823f756b3bfa1089ec7164310afc76b61eefa Mon Sep 17 00:00:00 2001 From: Warren Buckley Date: Thu, 19 Sep 2019 10:00:42 +0100 Subject: [PATCH 02/16] Remove the un-needed notificiation --- .../directives/components/content/edit.controller.js | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/common/directives/components/content/edit.controller.js b/src/Umbraco.Web.UI.Client/src/common/directives/components/content/edit.controller.js index 409efec1b0..2bb50bd07b 100644 --- a/src/Umbraco.Web.UI.Client/src/common/directives/components/content/edit.controller.js +++ b/src/Umbraco.Web.UI.Client/src/common/directives/components/content/edit.controller.js @@ -38,7 +38,7 @@ //watch for changes to isNew & the content.id, set the page.isNew accordingly and load the breadcrumb if we can $scope.$watchGroup(['isNew', 'content.id'], function (newVal, oldVal) { - + var contentId = newVal[1]; $scope.page.isNew = Object.toBoolean(newVal[0]); @@ -65,7 +65,7 @@ if (content.id && content.isChildOfListView && content.trashed === false) { $scope.page.listViewPath = "/content/content/edit/" + content.parentId + "?list=" + $routeParams.list - + "&page=" + $routeParams.page + + "&page=" + $routeParams.page + "&filter=" + $routeParams.filter + "&orderBy=" + $routeParams.orderBy + "&orderDirection=" + $routeParams.orderDirection; @@ -172,8 +172,6 @@ })); evts.push(eventsService.on("rte.file.uploading", function(){ - notificationsService.info("Saving Disabled", "The node cannot be saved until the image/s has finished uploading") - $scope.page.saveButtonState = "busy"; $scope.page.buttonGroupState = "busy"; @@ -505,7 +503,7 @@ $scope.unpublish = function () { clearNotifications($scope.content); - if (formHelper.submitForm({ scope: $scope, action: "unpublish", skipValidation: true })) { + if (formHelper.submitForm({ scope: $scope, action: "unpublish", skipValidation: true })) { var dialog = { parentScope: $scope, view: "views/content/overlays/unpublish.html", From 8708a0ae979e32e12cd2ae4270041816de27a1d5 Mon Sep 17 00:00:00 2001 From: Warren Buckley Date: Thu, 19 Sep 2019 10:38:33 +0100 Subject: [PATCH 03/16] Wrap in safeApply --- .../src/common/services/tinymce.service.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/common/services/tinymce.service.js b/src/Umbraco.Web.UI.Client/src/common/services/tinymce.service.js index 7512da293c..69db2be561 100644 --- a/src/Umbraco.Web.UI.Client/src/common/services/tinymce.service.js +++ b/src/Umbraco.Web.UI.Client/src/common/services/tinymce.service.js @@ -168,11 +168,15 @@ function tinyMceService($rootScope, $q, imageHelper, $locale, $http, $timeout, s xhr.open('POST', Umbraco.Sys.ServerVariables.umbracoUrls.tinyMceApiBaseUrl + 'UploadImage'); xhr.onloadstart = function(e) { - eventsService.emit("rte.file.uploading"); + angularHelper.safeApply($rootScope, function() { + eventsService.emit("rte.file.uploading"); + }); }; xhr.onloadend = function(e) { - eventsService.emit("rte.file.uploaded"); + angularHelper.safeApply($rootScope, function() { + eventsService.emit("rte.file.uploaded"); + }); }; xhr.upload.onprogress = function (e) { From 7c2643d57af14eabd55c0aa1f04765917805f629 Mon Sep 17 00:00:00 2001 From: Steve Megson Date: Mon, 16 Sep 2019 15:33:07 +0100 Subject: [PATCH 04/16] Reload after rollback --- .../directives/components/content/edit.controller.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/Umbraco.Web.UI.Client/src/common/directives/components/content/edit.controller.js b/src/Umbraco.Web.UI.Client/src/common/directives/components/content/edit.controller.js index 806d43f92b..5324869061 100644 --- a/src/Umbraco.Web.UI.Client/src/common/directives/components/content/edit.controller.js +++ b/src/Umbraco.Web.UI.Client/src/common/directives/components/content/edit.controller.js @@ -171,6 +171,14 @@ } })); + evts.push(eventsService.on("editors.content.reload", function (name, args) { + if (args && args.node && $scope.content.id === args.node.id) { + reload(); + loadBreadcrumb(); + syncTreeNode($scope.content, $scope.content.path); + } + })); + } /** From e9bd67b695c4df195376258f524ab65b78880ed5 Mon Sep 17 00:00:00 2001 From: stevemegson Date: Thu, 19 Sep 2019 14:20:17 +0100 Subject: [PATCH 05/16] V8: Tours - fix scrolling highlighted element into view (#6356) --- .../application/umbtour.directive.js | 22 +++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/common/directives/components/application/umbtour.directive.js b/src/Umbraco.Web.UI.Client/src/common/directives/components/application/umbtour.directive.js index b749518660..287962b6d3 100644 --- a/src/Umbraco.Web.UI.Client/src/common/directives/components/application/umbtour.directive.js +++ b/src/Umbraco.Web.UI.Client/src/common/directives/components/application/umbtour.directive.js @@ -327,10 +327,24 @@ In the following example you see how to run some custom logic before a step goes } var scrollParent = element.scrollParent(); - var scrollToCenterOfContainer = element[0].offsetTop - (scrollParent[0].clientHeight / 2 ) + (element[0].clientHeight / 2); + var el = element; + var offsetTop = 0; + if (scrollParent[0] === document) { + offsetTop = el[0].offsetTop; + } else { + while ($.contains(scrollParent[0], el[0])) { + offsetTop += el[0].offsetTop; + el = el.offsetParent(); + } + } + + var scrollToCenterOfContainer = offsetTop - (scrollParent[0].clientHeight / 2); + if (element[0].clientHeight < scrollParent[0].clientHeight) { + scrollToCenterOfContainer += (element[0].clientHeight / 2); + } // Detect if scroll is needed - if (element[0].offsetTop > scrollParent[0].clientHeight) { + if (offsetTop > scrollParent[0].clientHeight - 200) { scrollParent.animate({ scrollTop: scrollToCenterOfContainer }, function () { @@ -391,7 +405,7 @@ In the following example you see how to run some custom logic before a step goes } if (position === "right") { - if (offset.top < documentHeight / 2) { + if (offset.top + popoverHeight < documentHeight) { css.top = offset.top; css.left = offset.left + width + margin; } else { @@ -411,7 +425,7 @@ In the following example you see how to run some custom logic before a step goes } if (position === "left") { - if (offset.top < documentHeight / 2) { + if (offset.top + popoverHeight < documentHeight) { css.top = offset.top; css.left = offset.left - popoverWidth - margin; } else { From 97ac31a858fed26bdeb7d384de6263500bf0a1d3 Mon Sep 17 00:00:00 2001 From: Kenn Jacobsen Date: Wed, 28 Aug 2019 18:30:11 +0200 Subject: [PATCH 06/16] Fix preview with multiple cultures + highlight the current culture --- .../src/less/canvas-designer.less | 10 +++++++++- .../src/preview/preview.controller.js | 5 ++++- src/Umbraco.Web.UI/Umbraco/Views/Preview/Index.cshtml | 8 ++++---- 3 files changed, 17 insertions(+), 6 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/less/canvas-designer.less b/src/Umbraco.Web.UI.Client/src/less/canvas-designer.less index 4db2e434d2..8b043c9045 100644 --- a/src/Umbraco.Web.UI.Client/src/less/canvas-designer.less +++ b/src/Umbraco.Web.UI.Client/src/less/canvas-designer.less @@ -272,7 +272,6 @@ a, a:hover{ ul.sections { display: block; background: #1b264f; - height: 100%; position:absolute; top: 90px; width: 80px; @@ -281,12 +280,21 @@ ul.sections { margin:0; padding:0; margin-left: -80px; + overflow: scroll; + overflow-x: hidden; + height: calc(100% - 91px); + + &::-webkit-scrollbar { + width: 0px; + background: transparent; + } } ul.sections li { display: block; border-left: 4px #1b264f solid; transition: all .3s linear; + cursor: pointer; } .fix-left-menu ul.sections li a span, diff --git a/src/Umbraco.Web.UI.Client/src/preview/preview.controller.js b/src/Umbraco.Web.UI.Client/src/preview/preview.controller.js index 1316642e93..c4cb821818 100644 --- a/src/Umbraco.Web.UI.Client/src/preview/preview.controller.js +++ b/src/Umbraco.Web.UI.Client/src/preview/preview.controller.js @@ -143,7 +143,10 @@ var app = angular.module("umbraco.preview", ['umbraco.resources', 'umbraco.servi setPageUrl(); } }; - + + $scope.isCurrentCulture = function(culture) { + return $location.search().culture === culture; + } }) diff --git a/src/Umbraco.Web.UI/Umbraco/Views/Preview/Index.cshtml b/src/Umbraco.Web.UI/Umbraco/Views/Preview/Index.cshtml index 17a2f3c66a..65f77dbf85 100644 --- a/src/Umbraco.Web.UI/Umbraco/Views/Preview/Index.cshtml +++ b/src/Umbraco.Web.UI/Umbraco/Views/Preview/Index.cshtml @@ -44,21 +44,21 @@ From a0c0f61ef4e54c90076007e13ec722612015af22 Mon Sep 17 00:00:00 2001 From: Shannon Date: Fri, 20 Sep 2019 11:03:45 +1000 Subject: [PATCH 07/16] fix js unit test --- src/Umbraco.Web.UI.Client/package-lock.json | 96 +++++++++---------- .../propertyeditors/rte-controller.spec.js | 14 ++- 2 files changed, 61 insertions(+), 49 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/package-lock.json b/src/Umbraco.Web.UI.Client/package-lock.json index b14c415dfb..be1582f1e4 100644 --- a/src/Umbraco.Web.UI.Client/package-lock.json +++ b/src/Umbraco.Web.UI.Client/package-lock.json @@ -955,7 +955,7 @@ }, "ansi-escapes": { "version": "3.1.0", - "resolved": "http://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz", "integrity": "sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw==", "dev": true }, @@ -1178,7 +1178,7 @@ "array-slice": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", - "integrity": "sha1-42jqFfibxwaff/uJrsOmx9SsItQ=", + "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==", "dev": true }, "array-sort": { @@ -1555,7 +1555,7 @@ }, "readable-stream": { "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "dev": true, "optional": true, @@ -1571,7 +1571,7 @@ }, "string_decoder": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "optional": true, @@ -1746,7 +1746,7 @@ "buffer-alloc": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "integrity": "sha1-iQ3ZDZI6hz4I4Q5f1RpX5bfM4Ow=", "dev": true, "requires": { "buffer-alloc-unsafe": "^1.1.0", @@ -1756,7 +1756,7 @@ "buffer-alloc-unsafe": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", + "integrity": "sha1-vX3CauKXLQ7aJTvgYdupkjScGfA=", "dev": true }, "buffer-crc32": { @@ -2455,7 +2455,7 @@ }, "string_decoder": { "version": "1.1.1", - "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { @@ -2578,7 +2578,7 @@ "core-js": { "version": "2.5.7", "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz", - "integrity": "sha1-+XJgj/DOrWi4QaFqky0LGDeRgU4=", + "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==", "dev": true }, "core-util-is": { @@ -3562,7 +3562,7 @@ "doctrine": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha1-XNAfwQFiG0LEzX9dGmYkNxbT850=", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, "requires": { "esutils": "^2.0.2" @@ -4166,7 +4166,7 @@ }, "engine.io-client": { "version": "3.2.1", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.2.1.tgz", + "resolved": "http://registry.npmjs.org/engine.io-client/-/engine.io-client-3.2.1.tgz", "integrity": "sha512-y5AbkytWeM4jQr7m/koQLc5AxpRKC1hEVUb/s1FUAWEJq5AzJJ4NLvzuKPuxtDi5Mq755WuDvZ6Iv2rXj4PTzw==", "dev": true, "requires": { @@ -4368,7 +4368,7 @@ "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, "optional": true } @@ -4463,7 +4463,7 @@ "eslint-scope": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.0.tgz", - "integrity": "sha1-UL8wcekzi83EMzF5Sgy1M/ATYXI=", + "integrity": "sha512-1G6UTDi7Jc1ELFwnR58HV4fK9OQK4S6N985f166xqXxpjU6plxFISJa2Ba9KCQuFa8RCnj/lSFJbHo7UFDBnUA==", "dev": true, "requires": { "esrecurse": "^4.1.0", @@ -4473,13 +4473,13 @@ "eslint-utils": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.3.1.tgz", - "integrity": "sha1-moUbqJ7nxGA0b5fPiTnHKYgn5RI=", + "integrity": "sha512-Z7YjnIldX+2XMcjr7ZkgEsOj/bREONV60qYeB/bjMAqqqZ4zxKyWX+BOUkdmRmA9riiIPVvo5x86m5elviOk0Q==", "dev": true }, "eslint-visitor-keys": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", - "integrity": "sha1-PzGA+y4pEBdxastMnW1bXDSmqB0=", + "integrity": "sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==", "dev": true }, "espree": { @@ -4502,7 +4502,7 @@ "esquery": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz", - "integrity": "sha1-QGxRZYsfWZGl+bYrHcJbAOPlxwg=", + "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", "dev": true, "requires": { "estraverse": "^4.0.0" @@ -4511,7 +4511,7 @@ "esrecurse": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", - "integrity": "sha1-AHo7n9vCs7uH5IeeoZyS/b05Qs8=", + "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", "dev": true, "requires": { "estraverse": "^4.1.0" @@ -4587,7 +4587,7 @@ "exec-buffer": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/exec-buffer/-/exec-buffer-3.2.0.tgz", - "integrity": "sha512-wsiD+2Tp6BWHoVv3B+5Dcx6E7u5zky+hUwOHjuH2hKSLR3dvRmX8fk8UD8uqQixHs4Wk6eDmiegVrMPjKj7wpA==", + "integrity": "sha1-sWhtvZBMfPmC5lLB9aebHlVzCCs=", "dev": true, "optional": true, "requires": { @@ -4796,7 +4796,7 @@ "fill-range": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", - "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", + "integrity": "sha1-6x53OrsFbc2N8r/favWbizqTZWU=", "dev": true, "requires": { "is-number": "^2.1.0", @@ -5352,7 +5352,7 @@ "fs-constants": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "integrity": "sha1-a+Dem+mYzhavivwkSXue6bfM2a0=", "dev": true, "optional": true }, @@ -6140,7 +6140,7 @@ "global-modules": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", - "integrity": "sha1-bXcPDrUjrHgWTXK15xqIdyZcw+o=", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", "dev": true, "requires": { "global-prefix": "^1.0.1", @@ -6743,7 +6743,7 @@ "gulp-eslint": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/gulp-eslint/-/gulp-eslint-5.0.0.tgz", - "integrity": "sha1-KiaECV93Syz3kxAmIHjFbMehK1I=", + "integrity": "sha512-9GUqCqh85C7rP9120cpxXuZz2ayq3BZc85pCTuPJS03VQYxne0aWPIXWx6LSvsGPa3uRqtSO537vaugOh+5cXg==", "dev": true, "requires": { "eslint": "^5.0.1", @@ -8198,7 +8198,7 @@ "is-absolute": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", - "integrity": "sha1-OV4a6EsR8mrReV5zwXN45IowFXY=", + "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", "dev": true, "requires": { "is-relative": "^1.0.0", @@ -8497,7 +8497,7 @@ "is-relative": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", - "integrity": "sha1-obtpNc6MXboei5dUubLcwCDiJg0=", + "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", "dev": true, "requires": { "is-unc-path": "^1.0.0" @@ -8506,7 +8506,7 @@ "is-resolvable": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", - "integrity": "sha1-+xj4fOH+uSUWnJpAfBkxijIG7Yg=", + "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", "dev": true }, "is-retry-allowed": { @@ -8556,7 +8556,7 @@ "is-unc-path": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", - "integrity": "sha1-1zHoiY7QkKEsNSrS6u1Qla0yLJ0=", + "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", "dev": true, "requires": { "unc-path-regex": "^0.1.2" @@ -8716,7 +8716,7 @@ "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, "json-stable-stringify-without-jsonify": { @@ -9475,7 +9475,7 @@ "lowercase-keys": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", - "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", + "integrity": "sha1-b54wtHCE2XGnyCD/FabFFnt0wm8=", "dev": true, "optional": true }, @@ -9510,7 +9510,7 @@ "make-dir": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "integrity": "sha1-ecEDO4BRW9bSTsmTPoYMp17ifww=", "dev": true, "requires": { "pify": "^3.0.0" @@ -9527,7 +9527,7 @@ "make-iterator": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", - "integrity": "sha1-KbM/MSqo9UfEpeSQ9Wr87JkTOtY=", + "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==", "dev": true, "requires": { "kind-of": "^6.0.2" @@ -9724,7 +9724,7 @@ "mimic-fn": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha1-ggyGo5M0ZA6ZUWkovQP8qIBX0CI=", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", "dev": true }, "minimatch": { @@ -12877,7 +12877,7 @@ "dependencies": { "minimist": { "version": "0.0.10", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", + "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", "dev": true }, @@ -13269,7 +13269,7 @@ "pluralize": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz", - "integrity": "sha1-KYuJ34uTsCIdv0Ia0rGx6iP8Z3c=", + "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==", "dev": true }, "posix-character-classes": { @@ -13961,7 +13961,7 @@ }, "string_decoder": { "version": "1.1.1", - "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { @@ -14459,7 +14459,7 @@ "safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo=", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true }, "sax": { @@ -14648,7 +14648,7 @@ "setprototypeof": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha1-0L2FU2iHtv58DYGMuWLZ2RxU5lY=", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", "dev": true }, "shebang-command": { @@ -14926,7 +14926,7 @@ }, "socket.io-parser": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.2.0.tgz", + "resolved": "http://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.2.0.tgz", "integrity": "sha512-FYiBx7rc/KORMJlgsXysflWx/RIvtqZbyGLlHZvjfmPTPeuD/I8MaW7cfFrj5tRltICJdgwflhfZ3NVVbVLFQA==", "dev": true, "requires": { @@ -15071,7 +15071,7 @@ }, "chalk": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "optional": true, @@ -15224,7 +15224,7 @@ "stream-consume": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/stream-consume/-/stream-consume-0.1.1.tgz", - "integrity": "sha1-0721mMK9CugrjKx6xQsRB6eZbEg=", + "integrity": "sha512-tNa3hzgkjEP7XbCkbRXe1jpg+ievoa0O4SCFlMOYEscGSS4JJsckGL8swUyAa/ApGU3Ae4t6Honor4HhL+tRyg==", "dev": true }, "stream-shift": { @@ -15237,7 +15237,7 @@ "streamroller": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-0.7.0.tgz", - "integrity": "sha1-odG3z4PTmvsNYwSaWsv5NJO99ks=", + "integrity": "sha512-WREzfy0r0zUqp3lGO096wRuUp7ho1X6uo/7DJfTlEi0Iv/4gT7YHqXDjKC2ioVGBZtE8QzsQD9nx1nIuoZ57jQ==", "dev": true, "requires": { "date-format": "^1.2.0", @@ -15264,7 +15264,7 @@ "readable-stream": { "version": "2.3.6", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha1-sRwn2IuP8fvgcGQ8+UsMea4bCq8=", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "dev": true, "requires": { "core-util-is": "~1.0.0", @@ -15279,7 +15279,7 @@ "string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { "safe-buffer": "~5.1.0" @@ -15296,7 +15296,7 @@ "string-width": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { "is-fullwidth-code-point": "^2.0.0", @@ -15492,7 +15492,7 @@ "strip-outer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", - "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", + "integrity": "sha1-sv0qv2YEudHmATBXGV34Nrip1jE=", "dev": true, "optional": true, "requires": { @@ -15661,7 +15661,7 @@ }, "readable-stream": { "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "dev": true, "optional": true, @@ -15873,7 +15873,7 @@ "tmp": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha1-bTQzWIl2jSGyvNoKonfO07G/rfk=", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "dev": true, "requires": { "os-tmpdir": "~1.0.2" @@ -15910,7 +15910,7 @@ "to-buffer": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", - "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==", + "integrity": "sha1-STvUj2LXxD/N7TE6A9ytsuEhOoA=", "dev": true, "optional": true }, @@ -16246,13 +16246,13 @@ "upath": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz", - "integrity": "sha1-NSVll+RqWB20eT0M5H+prr/J+r0=", + "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==", "dev": true }, "uri-js": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha1-lMVA4f93KVbiKZUHwBCupsiDjrA=", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", "dev": true, "requires": { "punycode": "^2.1.0" diff --git a/src/Umbraco.Web.UI.Client/test/unit/app/propertyeditors/rte-controller.spec.js b/src/Umbraco.Web.UI.Client/test/unit/app/propertyeditors/rte-controller.spec.js index 274d256a64..f813ec24a8 100644 --- a/src/Umbraco.Web.UI.Client/test/unit/app/propertyeditors/rte-controller.spec.js +++ b/src/Umbraco.Web.UI.Client/test/unit/app/propertyeditors/rte-controller.spec.js @@ -1,6 +1,18 @@ describe('RTE controller tests', function () { var scope, controllerFactory; - + + //mock tinymce globals + if ((typeof tinymce) === "undefined") { + tinymce = { + DOM: { + events: { + domLoaded: false + } + }, + baseUrl: "" + } + } + beforeEach(module('umbraco', function ($provide) { $provide.value('tinyMceAssets', []); })); From 77e41489c1cbda9aa679383039834e31a7c1cac6 Mon Sep 17 00:00:00 2001 From: Lynne Finnigan Date: Thu, 19 Sep 2019 17:24:06 +0100 Subject: [PATCH 08/16] Changed 'customize' anchor tag to a button element --- .../src/installer/steps/user.html | 123 +++++++++--------- 1 file changed, 61 insertions(+), 62 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/installer/steps/user.html b/src/Umbraco.Web.UI.Client/src/installer/steps/user.html index 73107f79a4..a7ebc33f39 100644 --- a/src/Umbraco.Web.UI.Client/src/installer/steps/user.html +++ b/src/Umbraco.Web.UI.Client/src/installer/steps/user.html @@ -1,72 +1,71 @@ -
-

Install Umbraco 8

+
+

Install Umbraco 8

-

Enter your name, email and password to install Umbraco 8 with its default settings, alternatively you can customize your installation

+

Enter your name, email and password to install Umbraco 8 with its default settings, alternatively you can customize your installation

-
+ -
-
-
-
- -
- -
-
- -
- -
- - Your email will be used as your login -
-
- -
- -
- - - At least {{installer.current.model.minCharLength}} characters long - - - At least {{installer.current.model.minNonAlphaNumericLength}} symbol{{installer.current.model.minNonAlphaNumericLength > 1 ? 's' : ''}} - +
+
+
+
+ +
+ +
+
+ +
+ +
+ + Your email will be used as your login +
+
+ +
+ +
+ + + At least {{installer.current.model.minCharLength}} characters long + + + At least {{installer.current.model.minNonAlphaNumericLength}} symbol{{installer.current.model.minNonAlphaNumericLength > 1 ? 's' : ''}} + +
-
-
-
- -
-
+
+
+ +
+
-
-
- - Customize -
-
+
+
+ + +
+
-
-
-
- +
+
+
+
From 1d6dbbebe31518c45e327ed7e4c0035cb972d586 Mon Sep 17 00:00:00 2001 From: Kenn Jacobsen Date: Thu, 19 Sep 2019 21:47:07 +0200 Subject: [PATCH 09/16] Make mandatory validation work for Markdown Editor --- .../views/propertyeditors/markdowneditor/markdowneditor.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/markdowneditor/markdowneditor.html b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/markdowneditor/markdowneditor.html index 68fc86f002..0834c4705b 100644 --- a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/markdowneditor/markdowneditor.html +++ b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/markdowneditor/markdowneditor.html @@ -1,7 +1,7 @@
- +
From 0c676037459fdb7cfa3fe16a57ddaa0f17dd669b Mon Sep 17 00:00:00 2001 From: Kenn Jacobsen Date: Fri, 20 Sep 2019 13:48:31 +0200 Subject: [PATCH 10/16] Make mandatory validation work for Media Picker (#6394) --- .../src/views/propertyeditors/mediapicker/mediapicker.html | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/mediapicker/mediapicker.html b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/mediapicker/mediapicker.html index fb9b5d77b7..47aaa7e4f3 100644 --- a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/mediapicker/mediapicker.html +++ b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/mediapicker/mediapicker.html @@ -53,4 +53,6 @@
+ +
From 71f4a799595f5e20a4ba0b995ba87ee465fa9a79 Mon Sep 17 00:00:00 2001 From: Kenn Jacobsen Date: Fri, 20 Sep 2019 13:49:27 +0200 Subject: [PATCH 11/16] Fix mandatory validation for Member and Member Group pickers (#6393) --- .../propertyeditors/membergrouppicker/membergrouppicker.html | 2 ++ .../src/views/propertyeditors/memberpicker/memberpicker.html | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/membergrouppicker/membergrouppicker.html b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/membergrouppicker/membergrouppicker.html index 48e1851262..4c53ac5d17 100644 --- a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/membergrouppicker/membergrouppicker.html +++ b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/membergrouppicker/membergrouppicker.html @@ -18,4 +18,6 @@ Add + +
diff --git a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/memberpicker/memberpicker.html b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/memberpicker/memberpicker.html index d8f04eeae5..d968f08d71 100644 --- a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/memberpicker/memberpicker.html +++ b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/memberpicker/memberpicker.html @@ -18,4 +18,6 @@ Add + + From 10aac80adaa8da0cabbacd4344b88b40ed81db85 Mon Sep 17 00:00:00 2001 From: Kenn Jacobsen Date: Fri, 20 Sep 2019 14:09:38 +0200 Subject: [PATCH 12/16] =?UTF-8?q?V8:=20Add=20clientside=20mandatory=20vali?= =?UTF-8?q?dation=20to=20Multiple=20Textstring=E2=80=A6=20(#6391)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../multipletextbox.controller.js | 12 ++++ .../multipletextbox/multipletextbox.html | 57 ++++++++++--------- 2 files changed, 41 insertions(+), 28 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/multipletextbox/multipletextbox.controller.js b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/multipletextbox/multipletextbox.controller.js index 2d411597cf..aaf41f3083 100644 --- a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/multipletextbox/multipletextbox.controller.js +++ b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/multipletextbox/multipletextbox.controller.js @@ -80,6 +80,7 @@ break; default: } + validate(); } $scope.add = function () { @@ -89,6 +90,7 @@ var newItemIndex = $scope.model.value.length - 1; $scope.model.value[newItemIndex].hasFocus = true; } + validate(); }; $scope.remove = function (index) { @@ -118,6 +120,16 @@ $scope.promptIsVisible = "-1"; } + function validate() { + if ($scope.multipleTextboxForm) { + var invalid = $scope.model.validation.mandatory && !$scope.model.value.length + $scope.multipleTextboxForm.mandatory.$setValidity("minCount", !invalid); + } + } + $timeout(function () { + validate(); + }); + } angular.module("umbraco").controller("Umbraco.PropertyEditors.MultipleTextBoxController", MultipleTextBoxController); diff --git a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/multipletextbox/multipletextbox.html b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/multipletextbox/multipletextbox.html index 64330926a4..85221c61f7 100644 --- a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/multipletextbox/multipletextbox.html +++ b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/multipletextbox/multipletextbox.html @@ -1,31 +1,32 @@
- -
-
- -
- - -
- - - - -
-
+ +
+
+ +
+ + +
+ + + + +
+
+
-
- - Add - - + + Add + + +
From 705713b49799d782c0c25b29ab10b5c940996ff2 Mon Sep 17 00:00:00 2001 From: Kenn Jacobsen Date: Fri, 20 Sep 2019 14:10:48 +0200 Subject: [PATCH 13/16] V8: Add clientside mandatory validation to textarea (#6390) --- .../src/views/propertyeditors/textarea/textarea.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/textarea/textarea.html b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/textarea/textarea.html index 1be37d92d6..4842a6bfb7 100644 --- a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/textarea/textarea.html +++ b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/textarea/textarea.html @@ -1,6 +1,6 @@
- + Required From 362fb7722d5baf2f236ea457b4f21f7b9daf9c6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20Kottal?= Date: Fri, 20 Sep 2019 15:34:54 +0200 Subject: [PATCH 14/16] Open composition doctypes in infinite editor (#6387) --- .../components/umbgroupsbuilder.directive.js | 16 ++++++++++++++++ .../src/less/utilities/_spacing.less | 2 ++ .../src/views/components/umb-groups-builder.html | 2 +- .../src/views/documenttypes/edit.controller.js | 6 ++++++ 4 files changed, 25 insertions(+), 1 deletion(-) diff --git a/src/Umbraco.Web.UI.Client/src/common/directives/components/umbgroupsbuilder.directive.js b/src/Umbraco.Web.UI.Client/src/common/directives/components/umbgroupsbuilder.directive.js index ba479429f1..d1f35f8e03 100644 --- a/src/Umbraco.Web.UI.Client/src/common/directives/components/umbgroupsbuilder.directive.js +++ b/src/Umbraco.Web.UI.Client/src/common/directives/components/umbgroupsbuilder.directive.js @@ -364,6 +364,22 @@ }; + scope.openDocumentType = function (documentTypeId) { + const editor = { + id: documentTypeId, + submit: function (model) { + const args = { node: scope.model }; + eventsService.emit("editors.documentType.reload", args); + editorService.close(); + }, + close: function () { + editorService.close(); + } + }; + editorService.documentTypeEditor(editor); + + }; + /* ---------- GROUPS ---------- */ scope.addGroup = function(group) { diff --git a/src/Umbraco.Web.UI.Client/src/less/utilities/_spacing.less b/src/Umbraco.Web.UI.Client/src/less/utilities/_spacing.less index b9c8b909e8..6c38aa4a31 100644 --- a/src/Umbraco.Web.UI.Client/src/less/utilities/_spacing.less +++ b/src/Umbraco.Web.UI.Client/src/less/utilities/_spacing.less @@ -66,3 +66,5 @@ .ml5 { margin-left: @spacing-extra-large; } .ml6 { margin-left: @spacing-extra-extra-large; } .ml7 { margin-left: @spacing-extra-extra-extra-large; } + +.p0 { padding: @spacing-none; } diff --git a/src/Umbraco.Web.UI.Client/src/views/components/umb-groups-builder.html b/src/Umbraco.Web.UI.Client/src/views/components/umb-groups-builder.html index e8e47f6ae6..2770a8a02b 100644 --- a/src/Umbraco.Web.UI.Client/src/views/components/umb-groups-builder.html +++ b/src/Umbraco.Web.UI.Client/src/views/components/umb-groups-builder.html @@ -81,7 +81,7 @@ : {{ tab.inheritedFromName }} - {{ contentTypeName }} + ,
diff --git a/src/Umbraco.Web.UI.Client/src/views/documenttypes/edit.controller.js b/src/Umbraco.Web.UI.Client/src/views/documenttypes/edit.controller.js index adc12c137b..f261cf9b14 100644 --- a/src/Umbraco.Web.UI.Client/src/views/documenttypes/edit.controller.js +++ b/src/Umbraco.Web.UI.Client/src/views/documenttypes/edit.controller.js @@ -497,6 +497,12 @@ loadDocumentType(); })); + evts.push(eventsService.on("editors.documentType.reload", function (name, args) { + if (args && args.node && vm.contentType.id === args.node.id) { + loadDocumentType(); + } + })); + evts.push(eventsService.on("editors.documentType.saved", function(name, args) { if(args.documentType.allowedTemplates.length > 0){ navigationService.syncTree({ tree: "templates", path: [], forceReload: true }) From 327764d3660caf1d59317309a985bf1018498b6a Mon Sep 17 00:00:00 2001 From: Lynne Finnigan Date: Thu, 19 Sep 2019 17:58:16 +0100 Subject: [PATCH 15/16] Change link text for installing starter kit thumbnail & update styles --- .../src/installer/steps/starterkit.html | 28 +- .../src/less/installer.less | 299 ++++++++++-------- 2 files changed, 180 insertions(+), 147 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/installer/steps/starterkit.html b/src/Umbraco.Web.UI.Client/src/installer/steps/starterkit.html index 1ffbdb205b..cfb08744b2 100644 --- a/src/Umbraco.Web.UI.Client/src/installer/steps/starterkit.html +++ b/src/Umbraco.Web.UI.Client/src/installer/steps/starterkit.html @@ -1,23 +1,27 @@ -
-

Install a starter website

+
+

Install a starter website

+ +

+ Installing a starter website helps you learn how Umbraco works, and + gives you a solid and simple foundation to build on top of. +

-

- Installing a starter website helps you learn how Umbraco works, and gives you a solid - and simple foundation to build on top of. -

- Loading... -
diff --git a/src/Umbraco.Web.UI.Client/src/less/installer.less b/src/Umbraco.Web.UI.Client/src/less/installer.less index 8090b971fc..865f015ffa 100644 --- a/src/Umbraco.Web.UI.Client/src/less/installer.less +++ b/src/Umbraco.Web.UI.Client/src/less/installer.less @@ -1,4 +1,4 @@ -// Core variables and mixins +// Core variables and mixins @import "fonts.less"; // Loading fonts @import "variables.less"; // Modify this for custom colors, font-sizes, etc @import "mixins.less"; @@ -18,154 +18,172 @@ [ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], .ng-cloak, .x-ng-cloak { - display: none !important; + display: none !important; } html { - background: url('../img/installer.jpg') no-repeat center center fixed; - background-size: cover; + background: url('../img/installer.jpg') no-repeat center center fixed; + background-size: cover; } body { - margin: 0; - padding: 0; - height: 100%; - width: 100%; - - font-family: @baseFontFamily; - font-size: @baseFontSize; - line-height: @baseLineHeight; - color: @textColor; - - vertical-align: middle; - text-align: center; - - // better font rendering - -webkit-font-smoothing: antialiased; - font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - + margin: 0; + padding: 0; + height: 100%; + width: 100%; + font-family: @baseFontFamily; + font-size: @baseFontSize; + line-height: @baseLineHeight; + color: @textColor; + vertical-align: middle; + text-align: center; + // better font rendering + -webkit-font-smoothing: antialiased; + font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; } -#logo{ - position: absolute; - top: 20px; - left: 20px; - opacity: 0.8; - z-index: 777; +#logo { + position: absolute; + top: 20px; + left: 20px; + opacity: 0.8; + z-index: 777; } -#installer{ - margin: auto; +#installer { + margin: auto; background: @white; - width: 750px; - height: 600px; - text-align: left; - padding: 30px; - overflow:hidden; - z-index: 667; + width: 750px; + height: 600px; + text-align: left; + padding: 30px; + overflow: hidden; + z-index: 667; } -#overlay{ - position: absolute; - top: 0; - right: 0; - left: 0; - bottom: 0; - background: @purple-d2; - z-index: 666; +#overlay { + position: absolute; + top: 0; + right: 0; + left: 0; + bottom: 0; + background: @purple-d2; + z-index: 666; } -.loading #overlay{ +.loading #overlay { opacity: 0.5; display: block !important; } -#fact{ - color: @white; - text-shadow: 0px 0px 4px @black; - font-size: 25px; - text-align: left; - line-height: 35px; - z-index: 667; - height: 600px; - width: 750px; +#fact { + color: @white; + text-shadow: 0px 0px 4px @black; + font-size: 25px; + text-align: left; + line-height: 35px; + z-index: 667; + height: 600px; + width: 750px; + + h2 { + font-size: 35px; + border-bottom: 1px solid @white; + padding-bottom: 10px; + margin-bottom: 20px; + color: @white; + } + + a { + color: @white; + } } -#fact h2{ - font-size: 35px; - border-bottom: 1px solid @white; - padding-bottom: 10px; - margin-bottom: 20px; - color: @white; -} - -#fact a{color: @white;} - -#feedback{ - color: @white; - text-shadow: 0px 0px 4px @black; - font-size: 14px; - text-align: center; - line-height: 20px; - z-index: 667; - bottom: 20px; - right: 0; - left: 0; - height: 25px; - position: absolute; +#feedback { + color: @white; + text-shadow: 0px 0px 4px @black; + font-size: 14px; + text-align: center; + line-height: 20px; + z-index: 667; + bottom: 20px; + right: 0; + left: 0; + height: 25px; + position: absolute; } -h1{ - border-bottom: 1px solid @gray-10; - padding-bottom: 10px; - color: @gray-2; +h1 { + border-bottom: 1px solid @gray-10; + padding-bottom: 10px; + color: @gray-2; } -.error h1, .error .message, span.error{ color: @red;} +.error h1, .error .message, span.error { + color: @red; +} -legend{font-size: 14px; font-weight: bold} +legend { + font-size: 14px; + font-weight: bold +} -input.ng-dirty.ng-invalid{border-color: #b94a48; color: #b94a48;} -.disabled{ - opacity: 0.6; +input.ng-dirty.ng-invalid { + border-color: #b94a48; + color: #b94a48; +} + +.disabled { + opacity: 0.6; } -#installer label.control-label, +#installer label.control-label, #installer .constrol-label { padding-top: 5px !important; } -.controls{ - text-align: left -} +.controls { + text-align: left; -.controls small{display: block; color: @gray-3;} + small { + display: block; + color: @gray-3; + } +} .absolute-center { - margin: auto; - position: absolute; - top: 0; left: 0; bottom: 0; right: 0; + margin: auto; + position: absolute; + top: 0; + left: 0; + bottom: 0; + right: 0; } -.fade-hide, .fade-show { - transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s; -} -.fade-hide { - opacity:1; -} -.fade-hide.fade-hide-active { - opacity:0; -} +.fade-hide, .fade-show { - opacity:0; + transition: all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s; } + +.fade-hide { + opacity: 1; +} + +.fade-hide.fade-hide-active { + opacity: 0; +} + +.fade-show { + opacity: 0; +} + .fade-show.fade-show-active { - opacity:1; + opacity: 1; } .umb-installer-loader { @@ -180,49 +198,60 @@ input.ng-dirty.ng-invalid{border-color: #b94a48; color: #b94a48;} } .permissions-report { - overflow:auto; - height:320px; - margin:0; - display:block; - padding:0; + overflow: auto; + height: 320px; + margin: 0; + display: block; + padding: 0; } + .permissions-report > li { - list-style:none; + list-style: none; } + .permissions-report h4 { - margin:7px; + margin: 7px; } .upgrade-report { - overflow:auto; - height:280px; - display:block; + overflow: auto; + height: 280px; + display: block; } select { - width:320px; + width: 320px; } #ysod { - height:500px; - width:100%; - overflow:auto; - border:none; + height: 500px; + width: 100%; + overflow: auto; + border: none; } -#starterKits .thumbnails{ - min-height:128px; -} -#starterKits a.thumbnail { - position:relative; - height:98px; -} -#starterKits a.thumbnail small { - position:absolute; - z-index: 50; - top:10px; - left:10px; -} -#starterKits a.thumbnail img { - position:relative; - z-index:100; + +#starterKits { + .thumbnails { + min-height: 128px; + padding-left: 0; + } + + .thumbnail { + position: relative; + cursor: pointer; + + small { + padding: 10px 10px 5px; + display: inline-block; + } + + img { + position: relative; + z-index: 100; + } + } + + .btn-link { + padding-left: 0; + } } From 44e2c2d93c49430d4ff49ac26da2b491b65ef31d Mon Sep 17 00:00:00 2001 From: CatButtes <39886661+Catbuttes@users.noreply.github.com> Date: Fri, 20 Sep 2019 15:43:00 +0100 Subject: [PATCH 16/16] Set add language button to correct colour Fix Issue #6380 --- src/Umbraco.Web.UI.Client/src/views/languages/overview.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Umbraco.Web.UI.Client/src/views/languages/overview.html b/src/Umbraco.Web.UI.Client/src/views/languages/overview.html index 2e5f8572bf..4cf0ac7bf2 100644 --- a/src/Umbraco.Web.UI.Client/src/views/languages/overview.html +++ b/src/Umbraco.Web.UI.Client/src/views/languages/overview.html @@ -16,7 +16,7 @@ -