Commit Graph

1906 Commits

Author SHA1 Message Date
Shannon
4a3525ece3 Fixes a memory leak caused by deep cloning
There was a memory leak with PublicAccessEntry during even unassignment which was not clearing the correct handler.
This goes a step further and adds a new ClearCollectionChangedEvents method for all observable collections used in umbraco
which allows fully clearing ALL event handlers instead of having to track specific ones. This will ensure there are no
unintended memory leaks in case end-users have assigned event handlers to the collection changed event which would
not be unassigned during deep cloning.
2021-01-12 13:41:50 +11:00
Sebastiaan Janssen
967485f4e1 Merge branch 'v8/contrib' into v8/dev
# Conflicts:
#	src/Umbraco.Core/Runtime/SqlMainDomLock.cs
2021-01-08 15:18:03 +01:00
Ronald Barendse
0abd229928 Fix, update and extend Range model (#9032)
* Update Range documentation comments and use expression-bodied methods

* Implement IEquatable<Range<T>> and override Equals and GetHashCode

* Add Range formatting methods

* Use invariant culture in ToString

* Add RangeTests

* update ToString()
2020-12-24 02:06:29 +01:00
Warren Buckley
eeae4afe0b Merge remote-tracking branch 'origin/v8/dev' into v8/feature/property-label-on-top
# Conflicts:
#	src/Umbraco.Core/Migrations/Upgrade/UmbracoPlan.cs
2020-11-27 15:34:53 +00:00
Sebastiaan Janssen
e9627f2ee9 Merge branch 'v8/dev' into v8/contrib 2020-10-05 21:12:51 +02:00
Ronald Barendse
2bfef74191 Fix casing of 'URL' (#9080) 2020-10-05 20:48:38 +02:00
Niels Lyngsø
c264cc9691 configure label position on Property level 2020-10-01 17:30:03 +02:00
Shannon
0e44acc45e Merge remote-tracking branch 'origin/v8/8.8' into v8/8.9
# Conflicts:
#	src/SolutionInfo.cs
#	src/Umbraco.Web.UI/Umbraco/Views/Default.cshtml
2020-09-24 14:19:58 +10:00
Sebastiaan Janssen
fe3f604122 Move the IIconService and IconModel to the Umbraco.Core project
See issue #8919

(cherry picked from commit 0531fce9e2)
2020-09-23 16:21:34 +02:00
Sebastiaan Janssen
0531fce9e2 Move the IIconService and IconModel to the Umbraco.Core project
See issue #8919
2020-09-23 16:20:55 +02:00
Shannon
7fc4364b52 Fixes issue with deleting external logins, fixes issue with saving new user logins when creating a new user, fixes issue of not checking if the linked login is already linked. 2020-09-23 15:45:58 +10:00
Shannon
75dc416ed9 Merge remote-tracking branch 'origin/v8/8.8' into v8/feature/no-local-login
# Conflicts:
#	src/Umbraco.Core/Migrations/Upgrade/UmbracoPlan.cs
#	src/Umbraco.Web.UI.Client/src/common/directives/components/application/umblogin.directive.js
#	src/Umbraco.Web.UI.Client/src/common/directives/components/buttons/umbbutton.directive.js
#	src/Umbraco.Web.UI.Client/src/views/common/overlays/user/user.html
#	src/Umbraco.Web.UI.Client/src/views/components/buttons/umb-button-group.html
#	src/Umbraco.Web.UI.Client/src/views/components/buttons/umb-button.html
#	src/Umbraco.Web.UI/Umbraco/config/lang/en.xml
2020-09-17 15:38:04 +10:00
Shannon
3b23b85dd5 Adds more functionality to the external login table and services to store additional user data with the provider info and adds tests. 2020-09-11 00:02:57 +10:00
Shannon
c7c7d9efcd Updates the invite flow, we will always create a local user because we must do that due to the user groups being pre-determined. 2020-09-09 18:09:16 +10:00
Warren Buckley
c3d69df27b Merge pull request #8842 from umbraco/v8/bugfix/block-list-copying
Ensure new UDIs for blocks when copying
2020-09-08 11:19:18 +01:00
Ronald Barendse
ddc922a583 8.7RC Add generic BlockListItem classes (#8841)
(cherry picked from commit 5faa9ae22f)
2020-09-08 12:11:14 +02:00
Shannon
a2c24bcc76 Gets copying logic working for the block editor, needs more tests though 2020-09-08 02:07:02 +10:00
Shannon Deminick
2c6f290dc0 Ensure that we validate all properties for a block based on it's element type properties, not just the property values that are POSTed (#8589) 2020-08-05 11:03:02 +02:00
Shannon
c7d42d94d0 Changes c# model for block list editor to be much simpler. 2020-08-03 22:02:10 +10:00
Shannon
e01f36514b fixes tests 2020-07-23 22:14:06 +10:00
Shannon
f7a831f054 Fixes some JS issues with new data format, streamlines the blockeditor data format serialization in c#, implements To/FromEditor methods 2020-07-23 16:03:35 +10:00
Shannon
a194d1db4a first phase of new data format done in c# 2020-07-21 15:50:11 +10:00
Shannon
bd5986aa00 Merge branch 'v8/feature/block-editor-list-validation' into v8/feature/block-list-data-structure-v3 2020-07-21 13:29:56 +10:00
Shannon
b4345217f4 Removes weird unused service 2020-07-21 13:29:19 +10:00
Shannon
8098264206 WIP 2020-07-21 13:28:19 +10:00
Shannon
1b69620ffc Merge remote-tracking branch 'origin/v8/8.7' into v8/feature/block-editor-list-validation
# Conflicts:
#	src/Umbraco.Core/Models/Blocks/IBlockElement.cs
#	src/Umbraco.Tests/PropertyEditors/BlockListPropertyValueConverterTests.cs
#	src/Umbraco.Web.UI.Client/src/common/services/blockeditormodelobject.service.js
#	src/Umbraco.Web.UI.Client/src/common/services/udi.service.js
#	src/Umbraco.Web.UI.Client/src/views/common/infiniteeditors/blockeditor/blockeditor.controller.js
#	src/Umbraco.Web.UI.Client/src/views/components/blockcard/umbBlockCard.component.js
#	src/Umbraco.Web.UI.Client/src/views/components/elementeditor/umb-element-editor-content.component.html
#	src/Umbraco.Web.UI.Client/src/views/components/elementeditor/umbelementeditorcontent.component.js
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/blocklist/blocklistentryeditors/labelblock/labelblock.editor.html
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/blocklist/prevalue/blocklist.blockconfiguration.controller.js
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/blocklist/umb-block-list-block.component.js
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/blocklist/umb-block-list-property-editor.html
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/blocklist/umb-block-list-scoped-block.component.js
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/blocklist/umbBlockListPropertyEditor.component.js
#	src/Umbraco.Web.UI/Views/Partials/BlockList/Default.cshtml
#	src/Umbraco.Web/PropertyEditors/BlockEditorPropertyEditor.cs
#	src/Umbraco.Web/PropertyEditors/BlockListPropertyEditor.cs
#	src/Umbraco.Web/PropertyEditors/ValueConverters/BlockEditorConverter.cs
#	src/Umbraco.Web/PropertyEditors/ValueConverters/BlockListPropertyValueConverter.cs
2020-07-01 14:52:29 +10:00
Shannon Deminick
df3dc32de6 Block Editor List (#8273)
* add style to create-option in itempicker + removing overflow hidden

* style adjustment

* clean up of html

* correct sentence to use the number 7

* correct overlays, so they can use size

* numberrange prevalue editor

* add confirmRemove overlay

* correcting primary btn colors

* move confirmMessage below content of overlay.

* min max validation for numberrange

* remove comment

* improved actions for block list

* use file tree for view picker

* style adjustment to border of creator item in item-picker

* vertical align

* clean up + validation limit range

* rename ElementTypes to Blocks

* implement block list editor

* renaming

* use Chrome Headless for unit tests

* test for blockEditorService

* safer code

* block list editor

* rename view to overlayView

* block editor work

* Revert "rename view to overlayView"

This reverts commit 5b910c178a.

* block editor implementation

* sync models

* block list editor copy paste feature

* order var declarations

* remove unused paste function

* block list editor better naming

* simpler label generation

* clean up

* compile config for test mode

* Chrome Debug for VS code

* promise test working

* space change

* another two tests

* more tests for block list editor

* provide key on blockModel for angularJS performance optimization

* syncronization from infinite editing layers

* use an isolated scope

* more tests

* fix C# test

* remove unused block watcher component

* clean css

* only show on hover or focus for block-actions

* clean up and prepare for implementing settings

* remove console

* Add ability to render block list editor using Grid style rendering extension

* Enable Block List Editor settings editing

* Add Stacked Content to Block List migration

* Block Editor: Clean-up, refactoring, one step closer being ready for Content-Apps

* changes naming to Submit, to avoid misunderstanding.

* use a common variable on the block model for isOpen, to be able to make Actions show when open.

* NotSupported property editor, to be used when an editor is not supported in the given context.

* remove unused controller

* Hide group header if only one group is presented

* rename notsupport property editor css class

* smaller header for property group

* hide description if no description is presented

* css adjustments

* Inline create button styling: Better spacing, darker blue color for Focus Outline, moving the plus icon to mouse position for better visual appearance.

* css correction

* Add references for picked items

* Revert commit 45e892f350 - Changes api to GetData

* Use the .Data propertry as opposed to GetData in this PartialView

* Fix block list test failures

* Just parsing layout as model for partial views.

* minor adjustments

* Remove DB migrations so that they can be reviewed as a block

* Add migrations for new block editor

* Update default rendering partial view

* Add error handling to default template

* Handle color picker data in stacked content

* BlockList PreValue Editor opens configurations as overlay

* translation for prevalue editor property group headlines

* blockcard corrections

* block list prevalue corrections

* revert agressive clean up

* Block Picker

* MaxPropertyWidth PreValue + Implementation

* Incorporate latest block list editor changes, update migration for changed configuration

* Change declared converter type

* Handle invalid data type references

* Remove code duplicated from PR #7957

* use ElementModel for the ContentModel of an ElementType. So we can use ElementTypeModel for the ModelDefinition aka. the Type.

* do still show itempicker for BlockConfiguration even though there is no ElementTypes to pick. This enables the option to create a new ElementType to be used.

* use the right wrapper, for correct spacing

* parse item

* correct fallback for label

* removed unused callback

* paste feature for block-picker

* localize block-picker tabs

* Slightly change for shadow on block-picker item hover

* Localization of BlockEditor Settings Tab

* localizationService

* only filter when more than 8 items available

* Add multiple blocks if hold down CTRL or SuperKey

* adds notes

* ability to add a scoped stylesheet for block view

* make scoped block draggable + style adjustments

* provide index for custom view

* rename contentModel to data + rename layoutModel to layout

* clean up

* more localization

* openSettings option for block editor

* minor changes for a better developer experience

* paste mistake corrected

* only manipulate content-content-app if its present

* make small overlays slightly bigger

* moved block list entry editor into block list editor folder

* limit labelinterpretator to only runs ones pr. edit. and lets make sure to have a label thought we dont have any properties.

* fixed inline views gulp watcher

* changed vm to a better controller instance name

* make watch for views work again.

* able to re run watch

* make js up to date

* fix white background of image-picker

* media-picker container class

* loading indication

* adjust unit tests to latest interface

* getting started on JS Docs

* converting code to use contentTypeKey instead of contentTypeAlias, still missing a few TODOs.

* revert change

* add todo

* use Guid for Key

* use key

* Updates the caching layer to handle GUID keys for content types while preserving backwards compat, fixes unit tests, removes the strongly typed lists for the block editor value since it's unecessary

* Reverts the nested content changes, fixes up the GetEmptyByKey

* Returns ContentTypeKey from the server, updates js to use this everywhere and fix all js tests.

* Allows key in SimpleContentType

* correct for the new spelling

* appended this. since the method is a non-static class method.

* only add background-image if value isnt null

* simplifyed limits validation

* clean up

* no need to execute a digest.

* define the full model for new configurations

* removed setDataFromBlockModel and general clean up and added documentation

* default size should be medium

* use retriveValuesFrom method to transfer data.

* ability to disable an navigation item

* createElementTypeAndCallback working again for settings.

* still have the ability to retrive a scaffold model by alias, since we are still using alias in clipboard service.

* disable clipboard tab if no available paste options

* ups, should stay as alias

* disable clipboard when empty

* use property alias for content add button

* use a grey that can be seen on top of grey and on top of white.

* some accessibility improvements

* rename entry to block

* appended ' and added space in Element Type

* use background color for hover to corospond with active state

* make nested content unsupported

* Moving BlockEditorModelObject into its own file for Documentation purpose. Same goes for renaming BlockModel to BlockObject. and a lot of documentation written.

* fix links in js docs

* added a blocklistentryeditor for unsupported blocks

* ability to retrive the $scope from UmbVariantContentEditors, needed for Block Editor to get a scope existing across variants and splitview.

* Appending the block objects to layout, to share it across variants and in split-view.

* removed trailing comma

* Unsupported block

* Dont copy unsupported blocks

* use grey color for unsupported block

* text correction

* we dont have this fallback anymore

* sort properties

* Text change

* css correction

* use active to determine if an inline editor is expanded. To enable the inline editor to be expanded on creation.

* using udi instead of key.

* bringing the runtime block key back

* live editing ability

* live editing for settings data

* call formSubmit before property editor are removed from DOM. Both for overlay-editing and inline-editing. Fire an postFormSubmitting event after formSubmitting event to let editors know that data could have been updated.

* make sure settings object exists

* only set active to false if it was false before opening the editor.

* update test with new scope parameter

* move destroy responsibility to blockObject

* rename onDestroy to destroy

* added some JS-Docs

* correction jsDocs

* Update ElementType Resource to not use hardcoded URL but to use the Umbraco.Sys.ServerVariables.umbracoUrls instead

* Remove partially completed ConvertToElement migration, fixed in issue 7939 instead.

* Remove external property editor migration

* corrected naming of umbBlockListScopedBlock and umbBlockListBlock

* correct ngdoc type

* removed vscode specific configuration of karma

* Finished Todo, gets name of documentType if copying all entities in an infinite editor

* changed comment from TODO to something that explains the state.

* stop tracking build output files.

* rename files to match file name conventions

* this should not happen.

* remove dublicated code

* rename requestCopyBlock to copyBlock

* make sure images does not repeat.

* scale thumbnail for block showcase

* renamed blockcard.component to umb-block-card and moved it.

* removed inline style

* correct style location

* corrected filepath

* corrected file path

* keep elementTypes up to date through the EventService.

* mark Umbraco.BlockList as unsupported inside Nested Content

* correct js docs name

* remove comment

* remove comment

* remove unused controller

* rename inline method name

* corrected spelling mistake

* remove not very used vars

* make binding one-way

* split in multiple lines

* corrected default rendering

* removing documentation that is relevant for developers of new block editors. this documentation will be transfered to Our documentation.

* added danish translation

* corrected blog to blok

* Remove invalid using statement

* use native forEach

Co-authored-by: Niels Lyngsø <nsl@umbraco.dk>
Co-authored-by: Benjamin Carleski <benjamin@proworks.com>
Co-authored-by: Warren Buckley <warren@umbraco.com>
Co-authored-by: Niels Lyngsø <nsl@umbraco.com>
Co-authored-by: Niels Lyngsø <niels.lyngso@gmail.com>
Co-authored-by: Claus <claus@claus.nu>
2020-06-30 10:52:42 +01:00
Shannon
88700e9707 fixes name, refactors a lot of serverValidationManager so it's structure is maintainable, moves more logic there from directives so it can be tested more easily, finally got the first result working. 2020-06-30 19:12:21 +10:00
Shannon
8acc6ed5b4 Fixes all the block editor deserialization processes 2020-06-26 15:02:02 +10:00
Shannon
8ee9ac7e16 Merge remote-tracking branch 'origin/v8/feature/block-editor-list' into v8/feature/block-editor-list-validation
# Conflicts:
#	src/Umbraco.Web.UI.Client/src/common/directives/components/editor/umbeditors.directive.js
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/blocklist/blocklist.component.html
2020-06-26 10:48:42 +10:00
Niels Lyngsø
79e5ccb8d8 no message 2020-06-24 09:16:48 +02:00
Sebastiaan Janssen
fee6ef0fb0 Merge branch 'v8/contrib' into v8/dev
# Conflicts:
#	src/Umbraco.Web.UI.Client/package.json
#	src/Umbraco.Web.UI.Client/src/common/directives/components/application/umbtour.directive.js
2020-06-24 09:05:22 +02:00
Shannon
020835390d Merge remote-tracking branch 'origin/v8/feature/block-editor-list' into v8/feature/block-editor-list-validation
# Conflicts:
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/blocklist/blocklist.component.html
2020-06-24 11:56:43 +10:00
Niels Lyngsø
bf12009b40 Merge remote-tracking branch 'origin/v8/dev' into v8/feature/block-editor-list
# Conflicts:
#	src/Umbraco.Web.UI.Client/test/config/karma.conf.js
2020-06-23 14:57:39 +02:00
Ronald Barendse
0886ada39c Properly HTML encode text in helper methods (#6545) 2020-06-19 11:41:16 +02:00
Sebastiaan Janssen
95cb7e72d1 Clarify some property meanings on IContent 2020-06-18 11:21:03 +02:00
Shannon
19a114ac2b fix build 2020-06-15 23:22:29 +10:00
Shannon
32e3ebb6fb Centralizes logic to validate complex editors, starts transitioning to new JSON error messages for complex editors, starts adding tests 2020-06-15 23:05:32 +10:00
Shannon
ba43a43483 Allows key in SimpleContentType 2020-06-11 18:08:36 +10:00
Shannon
a5adb322f1 Updates the caching layer to handle GUID keys for content types while preserving backwards compat, fixes unit tests, removes the strongly typed lists for the block editor value since it's unecessary 2020-06-10 16:12:00 +10:00
Niels Lyngsø
b630537327 Merge remote-tracking branch 'origin/v8/dev' into v8/feature/block-editor-list
# Conflicts:
#	src/Umbraco.Web.UI.Client/package-lock.json
2020-05-28 11:36:56 +02:00
Sebastiaan Janssen
78a7785256 Merge branch 'v8/contrib' into v8/dev
# Conflicts:
#	src/Umbraco.Web.UI.Client/package-lock.json
2020-05-26 16:27:09 +02:00
Daniël Knippers
392d74f80d Added support for segments to File Uploads (#8070) 2020-05-19 17:04:23 +02:00
Bjarne Fyrstenborg
11f8628279 Lock core relation types (#8022) 2020-05-16 19:51:57 +02:00
Bjarke Berg
e45ffea207 Merge pull request #7983 from umbraco/v8/bugfix/models-builder-enable-flag
ModelsBuilder enabled flag not respected
2020-04-29 07:37:33 +02:00
Sebastiaan Janssen
d65041c250 Merge branch 'v8/dev' into v8/contrib 2020-04-27 11:03:32 +02:00
Shannon
e62fef8faf Ensures entire nucache linked list is not rebuild on schema changes when disabled 2020-04-20 23:22:03 +10:00
Shannon
d9cb9f27f1 ModelsBuilder enabled flag not respected
When MB is disabled we were still rebuilding all of nucache models when schema changes are made which is a requirement of PureLive models but if MB is disabled then PureLive models don't matter. This was causing unnecessary performance and db overhead when modifying document types when mb is disabled.
2020-04-20 22:25:05 +10:00
Shannon
d1524cdafe Merge branch 'v8/dev' into v8/bugfix/7868-nucache-null-parent
# Conflicts:
#	src/Umbraco.Web/PublishedCache/NuCache/ContentStore.cs
2020-04-17 15:04:10 +10:00
Shannon
b5136b6528 Merge branch 'v8/dev' into v8/feature/block-editor-list 2020-04-17 10:48:40 +10:00