* Introduce media API - controllers, services, tests, Swagger docs
* Add path to media API response + add "by path" endpoint
* Review comments
* Implement filtering and sorting
* Add explicit media access configuration
* Cleanup
* Adding default case as in the MediaApiControllerBase
* Update src/Umbraco.Cms.Api.Delivery/Services/ApiMediaQueryService.cs
Co-authored-by: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com>
* Swap sort order calculation to align with Content API
* Add CreateDate and UpdateDate to media responses
* Mirror Content Delivery API behavior for empty children selector
---------
Co-authored-by: Elitsa <elm@umbraco.dk>
Co-authored-by: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com>
* Add support for property value fallbacks in the delivery API
* Add dedicated tests for the IDeliveryApiPropertyValueConverter interface
* Rewrite for less impact and more streamlined with Razor output
* Clean up DistributedCache and add additional checks
* Add IEnumerable overloads to DistributedCacheExtensions
* Update handlers to use new IEnumerable overloads
* Move DistributedCacheExtensions to Core
* Restructure cache refreshers into folders
* Add IDistributedCacheNotificationHandler
* Rewrite DistributedCacheBinder into seperate IDistributedCacheNotificationHandler implementations
* Obsolete DistributedCacheBinder and use new IDistributedCacheHandler implementations
* Clean up ServerMessengerBase
* Ensure cache refreshers only process distinct values
* Add support for publishing multiple notifications and filter on handler type
* Suppress compatibility issues
* Remove DistributedCacheBinder and suppress compatibility issues
* Add ScopedNotificationPublisher<TNotificationHandler>
* Improve notification type lookup/enumeration
* Ensure INotificationAsyncHandler handles multiple notitications sequentially
* Minimize cache instruction JSON
* Chunk notifications by type to keep publish order
* Only serialize required RefreshInstruction properties
* Implement available culture in Interface and base classes
* Add available cultures
* DI localizationService and use it
* Make the new method have default implementation to avoid breaking change
* Create implementations for old method
* Pass available cultures
* Pass localization service
* Create new method that takes available cultures
* Add ILocalizationService to DI
* implement missing method
* Add database for schema test
* Fixed issue with indexes not added correctly to nested types..
---------
Co-authored-by: Zeegaan <nge@umbraco.dk>
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
* Append start item to RTE markup
* Split the Examine specifics from API query service (#14257)
* Split the Examine specifics from API query service to a provider based model
* Review changes: Use paged model as provider return value + add logging
* Fix version
* Revert incidentally changed version number by targeting wrong branch
* Fix wrongly changed version number --- it's RC2 now
---------
Co-authored-by: Nikolaj <nikolajlauridsen@protonmail.ch>
* Handle culture variance and add more options for indexing fields
* Workaround for missing DB on install
* Add a document per language to the delivery API content index
* Filters and Selectors must be able to match multiple values (as OR)
* A few review changes
* Change TODO for a note
* Workaround for lazily resolved field value types in Examine
* Make removal tracking more granular to cover both single and all culture deletion
---------
Co-authored-by: Elitsa <elm@umbraco.dk>
* Make implementations sealed and internal if possible
* Remove usings
* Making some models sealed as well
* Making more models sealed
* Last model changes
* Un-seal ApiContentResponse
---------
Co-authored-by: kjac <kja@umbraco.dk>
* Introduce content index handlers for the Delivery API
* Do not add protected content to the index
* Re-introduce public collection builder extensions
* Add backwards compatible constructor to ConfigureIndexOptions
* Fix edge case for published children of unpublished parents
* Reduce number of hardcoded field names
* Fixed copy/paste comment
* Fix field definition type for date
* Do not add trashed items to the content index
* Don't expose protected content through the item endpoints
* Removing ReSharper comment
---------
Co-authored-by: Elitsa <elm@umbraco.dk>
* Add the core parts of the headless PoC
* Add Content API project (WIP - loads of TODOs and dupes that need to be fixed!)
* Rename the content API project and namespaces
* Fixed bad merge
* Rename everything "Headless" to "ContentApi" or "Api"
* Refactor Content + Media: Key => Id, Name not nullable
* Make Content API property return value types independent of datatype configuration
* Clean up refactorings
* First stab at an expansion strategy using content picker as example implementation
* Use named JSON options for content API serialization
* Proper inclusion and registration of the content API
* Introduce API media builder
* Make MNTP return API content/media depending on configuration (instead of links) and support output expansion
* Content API: Get by controllers (#13740)
* Adding ContentApiControllerBase
* Adding get by id and url controllers
* Change route of get all test controller
* Rename to ContentApiController
* Refactoring
* Removing test controller
* Content API: Add start-node header value to deal with url collisions (#13746)
* Use start-node header value to deal with url collisions
* Cleanup
* Rename "url" param to "path"
* Adding a start node service to get the start-node header value
* Trim '/' from both beginning and end
* Content API: Support Accept-Language header (#13831)
* Move the content API JSON type resolver to an appropriate namespace
* Add localization based on Accept-Language header
* Content API: Output expansion (#13848)
* Implement request based output expansion strategy + expansion output cache at property level
* Slighty leaner implementation for default output expansion strategy
* Clarify the code a bit
* Fix bad merge
* Encapsulate content API dependencies in the DI
* Support multi-site and multi-culture routing + a little rename/refactor (#13882)
* Support multi-site and multi-culture routing + a little rename/refactor
* Make the by route controller handle root nodes
* Rename Url to Path in API content output
* Add a few comments for magic route creation
* Rename services from "Default" to "Noop"
* Ensure that Umbraco can boot without adding "AddContentApi()" to ConfigureServices
* Moved incorrectly placed media builder
* Fix API routes (#13915)
* Fix multi URL picker value converter trying to access disposed objects in edge cases
* Delivery API: Content routing and structure (#13984)
* Introduce content route instead of content path, rename and rework start item (previously start node) handling
* Strip out start node path in generated route path
* Make the start-item header take precedence over the request domain
* Conditionally enabling the delivery API + add protection and preview support + refactor all services to be singletons + ensure no-op implementations for all required services (#13992)
* Include umbraco properties (width, height, ...) in the Media Properties collection (#14023)
* Move umbraco properties (width, height, ...) to the Properties collection of the API Media model
* Don't output the umbracoFile property of media items
* Add content type deny list (#14025)
* Create a deny list of content types and utilize it for output generation
* Add unit tests
* Dedicated property cache level for Content API (#14027)
* Support redirect tracking (#14033)
* Create a deny list of content types and utilize it for output generation
* Add unit tests
* Handle redirect tracking in the content API
* Include start item routing info for redirects
* Add cultures and their routes to the API output (#14038)
* Create a deny list of content types and utilize it for output generation
* Add unit tests
* Handle redirect tracking in the content API
* Include start item routing info for redirects
* Add culture routes to root output (for HREFLANG support)
* Rename redirect service method to better match its purpose
* Review changes
* Delivery API: Query controller (#14041)
* Initial commit
* Custom ContentAPIFieldDefinitionCollection
* Make index IUmbracoContentIndex
* Add querying for children by parent id (key)
* Add missing interface
* Adding querying endpoint
* Test code
* Compose unpublishedValueSet, so that you get the correct data in the ContentAPI index
* Renaming
* Fix ancestorKeys index values
* Adding IApiQueryExtensionService to be able to query the ContentAPI index in a generic way
* Fix IApiQueryService and clean up QueryContentApiController using it
* Support querying for path
* Fix content API indexing
* Fix default sorting
* Implement concrete QueryOption implementations
* Introduce new ExecuteQuery that uses the Core OptionHandlers
* Implement ExecuteQuery
* Change ExecuteQuery signature and implementation
* Implement demo sorting and fetching
* Add query option handlers and collection builder for them
* Cleanup
* Revert "Conditionally enabling the delivery API + add protection and preview support + refactor all services to be singletons + ensure no-op implementations for all required services (#13992)"
This reverts commit 78e1f748e55383baecd123d06457111e18f13365.
* Revert "Delivery API: Content routing and structure (#13984)"
This reverts commit a0292ae5350362dd6c1c5bc9763deda928c78a75.
* Revert "Fix multi URL picker value converter trying to access disposed objects in edge cases"
This reverts commit 6b7c37a5bf7871bee93a2b2640bbc6ef591f14db.
* Revert "Conditionally enabling the delivery API + add protection and preview support + refactor all services to be singletons + ensure no-op implementations for all required services (#13992)"
This reverts commit 78e1f748e55383baecd123d06457111e18f13365.
* Revert "Delivery API: Content routing and structure (#13984)"
This reverts commit a0292ae5350362dd6c1c5bc9763deda928c78a75.
* Revert "Fix multi URL picker value converter trying to access disposed objects in edge cases"
This reverts commit 6b7c37a5bf7871bee93a2b2640bbc6ef591f14db.
* Fix multi URL picker value converter trying to access disposed objects in edge cases
* Delivery API: Content routing and structure (#13984)
* Introduce content route instead of content path, rename and rework start item (previously start node) handling
* Strip out start node path in generated route path
* Make the start-item header take precedence over the request domain
* Conditionally enabling the delivery API + add protection and preview support + refactor all services to be singletons + ensure no-op implementations for all required services (#13992)
* Test commit
* Refactored interfaces for the query handlers and for the selectors (that will handle the value of the fetch query option)
* Implemented a base class for the query options
* Refactored the names of the selectors and made use of the base class
* Refactored the ApiQueryService
* Refactored the QueryContentApiController.cs
* Conditionally enabling the delivery API + add protection and preview support + refactor all services to be singletons + ensure no-op implementations for all required services (#13992)
* Fixing merge gone wrong
* Fix multi URL picker value converter trying to access disposed objects in edge cases
* Delivery API: Content routing and structure (#13984)
* Introduce content route instead of content path, rename and rework start item (previously start node) handling
* Strip out start node path in generated route path
* Make the start-item header take precedence over the request domain
* Conditionally enabling the delivery API + add protection and preview support + refactor all services to be singletons + ensure no-op implementations for all required services (#13992)
* Make fetching work with the new setup
* Moving files to dedicated folders
* Removing ? for array
* Rename selector query method
* Implement FilterHandler and some filters
* Implement SortHandler and sort some sorts
* Refactoring
* Adding more fields to index due to querying
* Appending filtering and sorting queries
* Implementing a new ISelectorHandler without Examine types
* Re-implementing the collection to have a dedicated one for the selectors
* Implementing a new IFilterHandler without Examine types & refactoring the filters implementing it
* Adding a new collection dedicated to filters
* Renaming the old collection
* Implementing a new ISortHandler without Examine types & refactoring the sorts implementing it
* Adding a new collection for the sorts & adding all collections to UmbracoBuilder.Collections
* Refactoring the service to use the new collections and types
* Refactoring the fields in ContentApiFieldDefinitionCollection
* Remove nullability in Handlers
* Don't return null for selector
* Add TODO for having the filters support negation
* Changing the SortType to FieldType with our custom types on the SortOption
* Fix AncestorsSelector
* Fix ApiQueryService
* Documentation
* Fix Swagger docs
* Refactor the QueryContentApiController
* Adding handling for the IApiContentResponse in the JsonTypeResolver
* Refactor the service to use a safe fallback value in Examine queries
* Adding Noop for the IApiQueryService
* Cleanup
* Remove comment
* Fix name field for indexing
* Don't inherit QueryOptionBase in filters
* Fix casing for API index constant + swap FIXME with TODO
* Add TODO for handling missing fetch with start-item header
* Rename query handler parameters to not leak source (i.e. query string)
---------
Co-authored-by: kjac <kja@umbraco.dk>
Co-authored-by: Elitsa <>
Co-authored-by: Zeegaan <nge@umbraco.dk>
* Delivery API: Adding pagination to query endpoint (#14083)
* Adding pagination to query endpoint
* Optimize the paging using Examine directly
* Fix comment
* Remove skip/take code duplication
---------
Co-authored-by: kjac <kja@umbraco.dk>
* Add missing CompatibilitySuppressions.xml
* Make Delivery API packable
* Make Api.Common packable
* Renamed extension method and namespace so it is discoverable
* Untangle ApiVersion configuration into api.common, so delivery api do not require the management api to boot.
* configure options in management api
* RTE output as JSON for Content API (#14067)
* Conditionally serve RTE output as JSON instead of HTML
* Fixed merge
* Rename to Delivery API (#14119)
* Rename ContentApi to DeliveryApi
* Rename delivery API index implementation
* Update comments from "Content API" to "Delivery API"
* Rename project from Content to Delivery
* Add dedicated controller base for content delivery API
* Rename delivery API content index to include "content" specifically
* Fix compat suppressions
---------
Co-authored-by: kjac <kja@umbraco.dk>
Co-authored-by: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com>
Co-authored-by: Zeegaan <nge@umbraco.dk>
* New Backoffice: Refactor migrations to allow for unscoped migrations (#13654)
* Remove PostMigrations
These should be replaced with Notification usage
* Remove outer scope from Upgrader
* Remove unececary null check
* Add marker base class for migrations
* Enable scopeless migrations
* Remove unnecessary state check
The final state of the migration is no longer necessarily the final state of the plan.
* Extend ExecutedMigrationPlan
* Ensure that MigrationPlanExecutor.Execute always returns a result.
* Always save final state, regardless of errors
* Remove obsolete Execute
* Add Umbraco specific migration notification
* Publish notification after umbraco migration
* Throw the exception that failed a migration after publishing notification
* Handle notification publishing in DatabaseBuilder
* Fix tests
* Remember to complete scope
* Clean up MigrationPlanExecutor
* Run each package migration in a separate scope
* Add PartialMigrationsTests
* Add unhappy path test
* Fix bug shown by test
* Move PartialMigrationsTests into the correct folder
* Comment out refresh cache in data type migration
Need to add this back again as a notification handler or something.
* Start working on a notification test
* Allow migrations to request a cache rebuild
* Set RebuildCache from MigrateDataTypeConfigurations
* Clean MigrationPlanExecutor
* Add comment explaining the need to partial migration success
* Fix tests
* Allow overriding DefinePlan of UmbracoPlan
This is needed to test the DatabaseBuilder
* Fix notification test
* Don't throw exception to be immediately re-caught
* Assert that scopes notification are always published
* Ensure that scopes are created when requested
* Make test classes internal.
It doesn't really matter, but this way it doesn't show up in intellisense
* Add notification handler for clearing cookies
* Add CompatibilitySuppressions
* Rename Execute to ExecutePlan
We have to do this to be able to obsolete :(
* Update CompatibilitySuppressions
* Update src/Umbraco.Infrastructure/Migrations/MigrationPlanExecutor.cs
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
* generate compatability suppresion file
---------
Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
Co-authored-by: Zeegaan <nge@umbraco.dk>
* Added missing PropertyIndexValueFactories, for Block Grid, Block List, Nested Content, Tags and added No-op for image picker, image cropper etc, where the content dont make any sense anyway.
Made it replace for block grid/list, nested content and tags
* Fixed tests
* Ensure raw-fields are the prefix
* Code clean up
* build fix
* Minor cleanup
* Fixed issue with published values / external index
---------
Co-authored-by: nikolajlauridsen <nikolajlauridsen@protonmail.ch>
* Add migration that adds BlockGrid files to disk
* Add partial views to disk when creating sample
* Refactor upgrade to use IPartialViewPopulator
* Add blockgrid default rendering partial views when creating a new project from template
* Remove views from static assets
Co-authored-by: Elitsa Marinovska <elm@umbraco.dk>
* Fix broken selectable state for list view items (#13148)
* Add sync rendering extensions for block grid and async ones for block list (#13168)
* Re-add IsPackable to Umbraco.Tests.Integration
* Fix for potential race condition in packages search (#13153)
* search on input allowing to wait for copy/paste etc
* invoke resourcePromise() with correct parameters
* return the xhrStatus allowing the caller to check if the request was aborted
* fix: send in canceler.promise to allow the timeout to work
* catch any errors and ignore aborts if they happen
* move the logic to handle cancellations outside Angulars $scope.$apply
* remove file accidentally committed
* Fix for potential race condition in packages search (#13153)
* search on input allowing to wait for copy/paste etc
* invoke resourcePromise() with correct parameters
* return the xhrStatus allowing the caller to check if the request was aborted
* fix: send in canceler.promise to allow the timeout to work
* catch any errors and ignore aborts if they happen
* move the logic to handle cancellations outside Angulars $scope.$apply
* remove file accidentally committed
(cherry picked from commit 4a412bb432)
* V10: Fix request accessor memory leak (#13152)
* Dispose OnChange event registration when disposing the notification handler
* Ensure that the ApplicationUrl is only initialized once
Since notifications handlers are transient,_hasAppUrl and _isInit defaults to false on every request causing it to always be called.
* Make notification handler and EnsureApplicationUrl internal
* Add missing ForceLeft and ForceRight (#13190)
* V10: Fix request accessor memory leak (#13152)
* Dispose OnChange event registration when disposing the notification handler
* Ensure that the ApplicationUrl is only initialized once
Since notifications handlers are transient,_hasAppUrl and _isInit defaults to false on every request causing it to always be called.
* Make notification handler and EnsureApplicationUrl internal
* Add missing ForceLeft and ForceRight (#13190)
* Pass the node property to umb-property & umb-property-editor (#13151)
Co-authored-by: Zeegaan <nge@umbraco.dk>
* V10: 13099 fix validation error (#13170)
* Add validation error message to Viewpicker
* Add help-inline class to make validation-text red
Co-authored-by: Zeegaan <nge@umbraco.dk>
* move clear:both; to the flexbox example (#13194)
* remove pointer-events from Image, to make drag n' drop work on firefox. (#13193)
* area permission min-max inputs width increase (#13195)
* Fix tags with CSV storage type (#13188)
* Fixing null check as default(NRT) is null => default(configuration?.Delimiter) is also null and we were counting on it being the same as default(char)
* Adding tests to check cases with multiple tags (or tag made of comma separated values)
* Fix tags with CSV storage type (#13188)
* Fixing null check as default(NRT) is null => default(configuration?.Delimiter) is also null and we were counting on it being the same as default(char)
* Adding tests to check cases with multiple tags (or tag made of comma separated values)
* Add documentation for default block grid partial views in the rendering extension methods (#13184)
* Add data-element to umb property so we can find it (#13199)
Co-authored-by: Zeegaan <nge@umbraco.dk>
* Add data-element to umb property so we can find it (#13199)
Co-authored-by: Zeegaan <nge@umbraco.dk>
* V10/bugfix/create simple package test (#13162)
* Fixed assert to hopefully find the package each time so it isnt flaky anymore
* Updated so it retries 5 times instead of 2
* Dont submit html-report
* Dont have output defined in npm run
* Copy over playwright trace.zip files before publishing
* Updated assert so it looks after the package in the table
* updated so we get the first fail as the trace file
* Bumped version for testhelpers
* Updated so the test checks if the package actually exists. Added a wait that checks if the created packages button is visible
* Updated package lock
* Fixed so it now calls the correct testhelper
Co-authored-by: Zeegaan <nge@umbraco.dk>
* Merge BjarneF fix into 10.3 (#13220)
Co-authored-by: Bjarne Fyrstenborg <bjarne_fyrstenborg@hotmail.com>
* make Area fit within block row (#13221)
* 10.3.0-RC: Change grid area input to number + change generic label (#13203)
Co-authored-by: Bjarne Fyrstenborg <bjarne_fyrstenborg@hotmail.com>
* move below center, to make room (#13222)
* highlight areas in dragging-mode for modern browsers (#13224)
* Collect new .xml language files from different sources (#13212)
* Collecting new language files from different sources
* Apply suggestions from review
* Adding TODO for merging the language files locations to one when packages are not concerned
* Collect new .xml language files from different sources (#13212)
* Collecting new language files from different sources
* Apply suggestions from review
* Adding TODO for merging the language files locations to one when packages are not concerned
* Resync editors if content model changed (#13230)
* Disable BlockGridEditor (#13229)
* Disable BlockGridEditor
* Fix typeloader test
* Update src/Umbraco.Core/Models/Blocks/BlockGridItem.cs
Co-authored-by: Kenn Jacobsen <kja@umbraco.dk>
* Apply suggestions from code review
Co-authored-by: Kenn Jacobsen <kja@umbraco.dk>
Co-authored-by: Kenn Jacobsen <kja@umbraco.dk>
* V10.4: Re-enable block grid editor (#13231)
* Revert "Disable BlockGridEditor (#13229)"
This reverts commit 4e9aa8dac2.
* Re-do xml comments fix
* Fix nullable reference error
* Fix acceptance test package.json and package-lock.json
* Re-add wait-on
Co-authored-by: Kenn Jacobsen <kja@umbraco.dk>
Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
Co-authored-by: Zeegaan <nge@umbraco.dk>
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
Co-authored-by: Niels Lyngsø <niels.lyngso@gmail.com>
Co-authored-by: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com>
Co-authored-by: Andreas Zerbst <73799582+andr317c@users.noreply.github.com>
Co-authored-by: Bjarne Fyrstenborg <bjarne_fyrstenborg@hotmail.com>
Co-authored-by: Matt Darby <matt@darby.digital>
* Collecting new language files from different sources
* Apply suggestions from review
* Adding TODO for merging the language files locations to one when packages are not concerned
* Refactor block list/grid property value editors for code reuse
* Prettify block grid editor data conveter a bit
* correct appearance and colors
* validation should only kick in if value is higher than 0 and not null
* Add copyright notice to code, a little formatting and file scoped namespaces where applicable
* custom views
* custom views for blocks
* Refactor block list min/max validation and reuse for block grid
* Prettify extraction of nested content-and-settings references for block grid
* Fix bad naming
* fix casing
* Refactor block list notification handler and reuse for block grid
* context sensitive ui for Blocks
* Refactor notification handlers for block list and block grid incl. unit tests
* Formatting and review
* Bump number of expected data editors in unit test
* initial progress on column options editor
* column span options UI
* column span UI adjustments
* context aware ui adjustments
* minor border improvement
* get and pick layout stylesheet
* remove random x
* make highlight border standout more
* dedicated context bar
* UI improvements
* remove annoying indication
* copy paste
* UI improvements
* remove div.umb-block-grid__block--view from partial
* show block ui, only hide when hovering area.
* area actions
* UI Adjustments
* Block grid editor localization (#12915)
Co-authored-by: Niels Lyngsø <niels.lyngso@gmail.com>
* fix case of empty value
* use right index
* place border on top of column indication
* heroblock
* userFlowWhenBlockWasCreated
* shorter messages
* overal improvements
* force left/right drag feature
* stylesheet picker localization
* localizations
* space
* unnesecary removal of space
* notes on masonry
* validation form parent skipping + better snapping when drag n drop
* remove icons
* make rows go as minimal as posible
* scale and drop indications
* use item width to determin forceLeft or forceRight
* clean up
* Make clipboard filtering work with block arrays
* readonly mode
* important note
* ask to revert failed paste
* dont allow for backdrop click
* changed wording
* more area actions outside grid container
* droppable indication
* implemented minimal responsive solution.
* add additional data fields about grid clumns
* improved fallback columns width + rows height
* make root element class `umb-block-grid`
* align layout with position relatives, to align visual experience.
* use clientX not screenX
* rename area classes so they dont include the word 'block'
* more renaming
* commit flexbox layout css to repo
* fixes
* fix typo
* only show a broader inline create button if the block is full width.
* simplify css
* remove headline block hover effect
* use some font, to make it look better.
* Drag and drop correctiions/limits
* clean up
* remove log
* make assumptions about proposed distance of target
* slightly white border on validation message for areas to make it standout
* drag n drop seems good at this stage
* force left and right buttons and indication
* correct if
* revert scale handler ui
* If columnSpans is empty we fall back to full width
* Access other PreValues from a PreValue Editor
* maybe temprorary turn of distance drag n' drop condition
* setDirty
* area alias was missing in razor and needed help text
* forceleft forceright translations
* forceLeft / forceRight razor
* correct translation +
remove data- on ng-click
* force placement when moving over edge
* remove unnesecary wrapper element
* show-validation
* red text, might be hard to see, lets see.
* for safety have the border-raduis correct
* better wordings
* Use mouse position to judge if the drop is good before or after.
* fit placeholder when item is begin dragged away
* initial step for finding nearest relation when drag-hovering nothing
* Much better drag n drop experience, must be tested further to prove its not breaking some cases.
* title for scale handler
* new approach + massive drag n drop clean up
* avoid complex CSS transfering of props, instead add the prop in HTML
* adjust placeAfter when in vertical direction mode
* do not scale bigger than the available space to the right
* clean css
* fix numbers
* Fix the case of flickering when hitting an empty area.
* correct placement of code
* package lock
* Adjustment for PreValue Area allowances
* comment on fit in line feature
* fixing scale and drag n drop potential issues
* clean up
* only disallow above max
* outcomment unused code
* clean up
* drag n drop above or below container
* fix for Firefox
* Do not edit block if there is no properties in content
* angularJS form for Entries, to correct validation
* parse layout columns, used to know if block is full width of the layout
* use inherited layout columns
* add this to the example html
* flexbox fix
* highlight if empty area
* comments for undefined column spans
* bring back approvedContainer lock period.
* fix
* Do not edit something without properties
* Remove Force, as thats confusing to read.
* correct localization key
* minor corrections
* Fit within context columns
* Conceptual, inline editor for Grid.
* fix casing
* consider related position in directional conditions
* set default max row span to 1
* update columnSpanOption check for sync
* move Editor to group of Rich Text
* more shift autoScroll
* assume layout columns comes as string
* fix variable name
* force left/right indication
* Inject Areas directly in slot, to enable custom view manipulations of such.
* fix sortableJS mis dropping items
* Overwrite create label
* ability to overwrite root layout create label
* Simplify PreValue editor by hidding options that is not in effect.
* Setup new areas as half width if possible
* Grouping blockTypes
* remove flexbox stylesheet
* Chose groups for area allowance
* ensure a good default width
* improve block active state
* Better contextual sizing
* Comment clean up
* Remove The StarterKit from branch
* Unique group identification for the property editor sortable
* only show avaiable block groups in picker.
* Indication of taget area
* Fallback to root grid columns
* use root layout grid columns, so dont update when layoutColumns change
* Ability to remove block group
* clean up references when removing Group or single Block
* fix drop in same group
* Block picker use contexual create label as headline
* adjust area highlight
* Prevalue editor
* structuralOptions
* Move pre values into tabs for better overview and scope
* Let area grid columns fallback to root grid columns, and let both default to "12" instead of "initial"
* remove input close tag
* Allow in areas
* Move build-in custom views
* only show property-into-button on hover when in group-panel__header
* some height for the show buttons
* filter available block type based on allowInAreas
* remove OnlySpecifiedAllowance
* unsupported block if trouble happend
* move allow at root to allowance group
* easily drop at top or below area if outside. If more than 100px outside then see if there is a parent layout to move into.
* block group validation
* shortcut for opening Areas if areas are defined
* scale label for Areas editor
* Added Legacy name on the old grid layout
* Remove files that come with the starter kit
* Sorting: takeover container detection
* Refactor models + remove unused properties
* Endpoint for creating block grid demo element types
* CTA for getting Block Grid demo blocks
* Refactor block grid sample element creation
* Fix Constants-PropertyEditors spacing
* Fixed unit tests
* Get sample configuration
* Labels for sample blocks
* Improve drag, to swap across unallowed area/root
* improved empty threshold
* hide the after inline-create-button if block is located at right side of area/layout
* clean up
* translations
* danish translations
* move outside edge for forceRight
* Update src/Umbraco.Web.Common/Extensions/BlockGridTemplateExtensions.cs
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
* Review comments
* Remove leftover TODO
* big cleanup
* Hide Sample CTA when installed
* clean up
* correct styling for wrapper + moving Block UI to z-index 3 for visiblity on top of other block
* slightly adjusting inline-create-buttons to avoid collisions
* correct localization for force left/right buttons
* gitignorer update
* Clean up nesting of classes in BlockGridConfiguration
* change gitignorer to include App_Plugin folder
* move default layout stylesheet
* remove specific App_plugin folder
* package-lock
* update sample custom views paths
* add custom views for sample
* Adding sample custom views
* Move sample partial Views and custom views
* Update views to not use ModelsBuilder
* Move sample custom views to wwwroot
* Updated Sample CTA text
* Use localize directory
* Ensure groupKey for items without such to work.
Co-authored-by: kjac <kja@umbraco.dk>
Co-authored-by: Warren Buckley <warren@umbraco.com>
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
* Introduce opt-in option for reusable data editors
* Verified RTE as reusable
* Make attribute property naming more explicit + update comments
* Test file upload and image cropper
* Add unit tests
(cherry picked from commit 44122c6509)
* Introduce opt-in option for reusable data editors
* Verified RTE as reusable
* Make attribute property naming more explicit + update comments
* Test file upload and image cropper
* Add unit tests
* Add runtime mode setting
* Only enable Razor runtime compilation in development modes
* Only enable ModelsBuilder generation in development modes
* Fix disabling ModelsBuilder controllers
* Add IRuntimeModeValidationService and IRuntimeModeValidator
* Add JITOptimizerValidator
* Add UmbracoApplicationUrlValidator
* Add UseHttpsValidator
* Add RuntimeMinificationValidator
* Add ModelsBuilderModeValidator
* Remove .NET 6 preview 1 fix for Razor runtime compilation
* Only allow InMemoryAuto in backoffice development mode
* Make runtime mode validators public, so they can be easily removed if required
* Add comment to highlight removing RazorCompileOnBuild, RazorCompileOnPublish and CopyRazorGenerateFilesToPublishDirectory when using ModelsMode InMemoryAuto
* Add documentation
* Update src/Umbraco.Web.Common/ModelsBuilder/NoopModelsBuilderDashboardProvider.cs
Co-authored-by: Ronald Barendse <ronald@barend.se>
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
* Add Umbraco specific global usings
* Enable implicit usings
* v10: Wait for updated ConnectionStrings during install (#12536)
* Do not change/reload configuration
* Wait for updated connection string options
* recase assigndomain (#12448)
* Add depth property to ICoreScope (#12540)
* Remove ambient scope stack from httpcontext.items. (#12539)
This change makes it easier to use service calls in parallel whilst
a httpcontext is available.
* v10: Prefer SQLite primitive types to flexible types (#12541)
* Prefer SQLite primitive types to flexible types.
* SQLite - column mappings use TEXT for decimals
Thanks @mattbrailsford for sense check.
* Fix issue where languages files are not found in subdir of package dir (#12543)
* Make FindContent return type nullable (#12545)
* Updated nuget dependencies (07-06-2022) (#12525)
* Updated nuget dependencies
* Move Nerdbank.GitVersioning update to Directory.Build.props
* Updated more dependencies
* Improve FlagOutOfDateModels property behaviour.
(cherry picked from commit 54077725c373495fce0d3fbc5cdb6469aad3b676)
* Fix logic error WRT models builder flag out of date models. (#12548)
(cherry picked from commit 6b0149803a879d1c6902a5f61d1f2e9dc8545aac)
* Fixed issue with expected null value. (#12550)
Fixes https://github.com/umbraco/Umbraco-CMS/issues/12526
* Updated Examine to 3.0.0
* Fixes relation issue, when moving a root item to recycle bin, the "Relate Parent Media Folder On Delete"/"Relate Parent Document On Delete" cannot get the parent node type, because it is a fake root.
* Fix possible null error
* Bump version to 10.0.0 final
* Fix attempting to write lock files to LocalTempPath before it exists (#12563)
* Re fix usage statements
Co-authored-by: Ronald Barendse <ronald@barend.se>
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
Co-authored-by: Paul Johnson <pmj@umbraco.com>
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
* Ensured container collections retrieved from content type services return empty rather than nullable.
* Reverted change to ILocalLinkParser.
* Reverted change to ILocalLinkParser (2).
* Update GetByParentOrChildId in IRelationService to return non-nullable result.
* Added obsoleted constructor due to change in MemberTypeService.
* Updated nullability of Compare method parameters in IServiceConnector.
* Adjusted nullability of method on IValueConnector.
* Removed nullability of ArtifactDeployState.
* RCL for static assets to replace the nuspec
* Fix build
* Fix unit tests
* clean up in build.ps1
* Removed test (lang files will be removed later anyway)
* Fixed namespaces.. + Ensure we set web root path if missing (e.g. wwwroot folder do not exist) + Added StaticWebAssetBasePath
* fixed namespace
* cleanup
* Set root variable
* Added static assets
* Experimenting with StaticWebAssetBasePath
* Embedded lang files into Umbraco.Core
* Removed legacy test. New test can be implemented instead
* Fixed tests
* clean up
* Fix merge issue
* Update language models to get and set manual name
* Save custom language name in controller
* Rewrite AngularJS language edit view and controller
* Cleanup language overview
* Remove icon from language overview
* Make styling of control group the same as properties
* Ensure both ISO code and culture name are set in language model
* Use new language model constructor
* Update tests to use new language constructor
* Update culture name in dictionary package export
* Use language name in dictionary
* Fix language nullability issues
* Cleanup GetAllCultures and added null checks
* Re-add obsolete constructors
* Make language name required and update Cypress test
* Fix routing/saveNewLanguages Cypress test
* Make language name optional (improved backwards compatibility)
Co-authored-by: Ronald Barendse <ronald@panoramastudios.nl>
* Update to ImageSharp 2.1.0 and ImageSharp.Web 2.0.0-alpha.0.23
* Rename CachedNameLength to CacheHashLength and add CacheFolderDepth setting
* Replace PhysicalFileSystemProvider with WebRootImageProvider
* Support EXIF-orientation in image dimention extractor
* Remove virtual methods on FileProviderImageProvider
* Simplify FileInfoImageResolver
* Update to SixLabors.ImageSharp.Web 2.0.0-alpha.0.25 and remove custom providers
* Make CropWebProcessor EXIF orientation-aware
* Improve width/height sanitization
* Also use 'v' as cache buster value
* Add WebP to supported image file types
* Update to SixLabors.ImageSharp.Web 2.0.0-alpha.0.27 and fix test
* Fix rounding error and add test cases
* Update to newest and stable releases
* Move ImageSharpImageUrlGenerator to Umbraco.Web.Common
* Use IConfigureOptions to configure ImageSharp options
* Implement IEquatable on ImageUrlGenerationOptions classes
* Fix empty/null values in image URL generation and corresponding tests
* Use IsSupportedImageFormat extension method
* Remove unneeded reflection